"Phil Holmes" <[email protected]> writes:

> Definite bug for windows.  Don't believe dev/stderr should be used here:
>
>              (open-file (if (string-or-symbol? (ly:get-option 'log-file))
>                             (format #f "~a.log" (ly:get-option 'log-file))
>                     "/dev/stderr") "a") #f))
>
>
> David will know, but I suspect current-error-port or somesuch should
> be used.

My personal guess would be something like

diff --git a/scm/lily.scm b/scm/lily.scm
index 070ba75..8b63bc8 100644
--- a/scm/lily.scm
+++ b/scm/lily.scm
@@ -810,10 +810,11 @@ PIDs or the number of the process."
   (let* ((failed '())
          (separate-logs (ly:get-option 'separate-log-files))
          (ping-log
-          (if separate-logs
-              (open-file (if (string-or-symbol? (ly:get-option 'log-file))
-                             (format #f "~a.log" (ly:get-option 'log-file))
-                     "/dev/stderr") "a") #f))
+          (and separate-logs
+               (if (string-or-symbol? (ly:get-option 'log-file))
+                   (open-file (format #f "~a.log" (ly:get-option 'log-file))
+                              "a")
+                   (current-error-port))))
          (do-measurements (ly:get-option 'dump-profile))
          (handler (lambda (key failed-file)
                     (set! failed (append (list failed-file) failed)))))
However, LilyPond plays stupid games with redirecting the error port
with ly:stderr-redirect rather close to system level, and I don't know
whether there is a feasible way to get it back (or whether this is
actually required) short of opening /dev/stderr or equivalent.

-- 
David Kastrup
_______________________________________________
bug-lilypond mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-lilypond

Reply via email to