]> git.donarmstrong.com Git - lilypond.git/commitdiff
Only delete intermediate file if it exists. Works around lilypond -o DIR.
authorJan Nieuwenhuizen <janneke@gnu.org>
Fri, 14 Aug 2009 09:48:11 +0000 (11:48 +0200)
committerNeil Puttock <n.puttock@gmail.com>
Sat, 26 Sep 2009 20:54:41 +0000 (21:54 +0100)
(cherry picked from commit 72f03ab0b0d29d52da9f59a7db347519752278e5)

scm/backend-library.scm

index 301868cb84d66baf54838e71738b45ec19a3ddbf..ca1a16b7f6fddd60b71f708cab8cbb6a14c5d3e3 100644 (file)
 
 (define-public (postprocess-output paper-book module filename formats)
   (let* ((completed (completize-formats formats))
-        (base (string-regexp-substitute "\\.[a-z]+$" "" filename))
+        (base (dir-basename filename ".ps" ".eps"))
         (intermediate (remove (lambda (x) (member x formats)) completed)))
-    
     (for-each (lambda (f)
                ((eval (string->symbol (format "convert-to-~a" f))
                       module) paper-book filename)) completed)
     (if (ly:get-option 'delete-intermediate-files)
        (for-each (lambda (f)
-                   (delete-file (string-append base "." f))) intermediate))))
+                   (if (file-exists? f) (delete-file f)))
+                 (map (lambda (x) (string-append base "." x)) intermediate)))))
 
 (define-public (completize-formats formats)
   (define new-fmts '())