]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/backend-library.scm
Only delete intermediate file if it exists. Works around lilypond -o DIR.
[lilypond.git] / scm / backend-library.scm
index 6be7b13e937c0bd5d7028b8777c2dd2430a7e48c..ca1a16b7f6fddd60b71f708cab8cbb6a14c5d3e3 100644 (file)
@@ -16,7 +16,9 @@
                       command
                       (format #f "~a > ~a 2>&1 " command dev-null))))
     (if (ly:get-option 'verbose)
-       (ly:message (_ "Invoking `~a'...") command))
+       (begin
+         (ly:message (_ "Invoking `~a'...") command))
+         (ly:progress "\n"))
 
     (set! status
          (if (pair? rest)
                    ".pdf"))
         (is-eps (string-match "\\.eps$" name))
         (paper-size-string (if is-eps
-                               " -dEPSCrop "
-                               (ly:format "-dDEVICEWIDTHPOINTS=~$ \
--dDEVICEHEIGHTPOINTS=~$ "
-                                       paper-width paper-height )))
+                               "-dEPSCrop"
+                               (ly:format "-dDEVICEWIDTHPOINTS=~$\
+ -dDEVICEHEIGHTPOINTS=~$"
+                                       paper-width paper-height)))
 
         (cmd (simple-format #f
                      "~a\
  ~a\
  ~a\
  ~a\
- -dCompatibilityLevel=1.4 \
+ -dCompatibilityLevel=1.4\
  -dNOPAUSE\
  -dBATCH\
- -r1200 \
+ -r1200\
  -sDEVICE=pdfwrite\
  -sOutputFile=~S\
  -c .setpdfwrite\
                      (if (ly:get-option 'verbose) "" "-q")
                      (if (or (ly:get-option 'gs-load-fonts)
                              (ly:get-option 'gs-load-lily-fonts))
-                             
-                         " -dNOSAFER "
-                         " -dSAFER ")
+                         "-dNOSAFER"
+                         "-dSAFER")
                      paper-size-string
                      pdf-name
                      name)))
 
 (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 '())