lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Patch: small reduction in output from make doc


From: Phil Holmes
Subject: Re: Patch: small reduction in output from make doc
Date: Fri, 17 Jun 2011 09:08:21 +0100

----- Original Message ----- From: "David Kastrup" <address@hidden>
To: "Phil Holmes" <address@hidden>
Cc: "Graham Percival" <address@hidden>; <address@hidden>
Sent: Thursday, June 16, 2011 9:27 PM
Subject: Re: Patch: small reduction in output from make doc


"Phil Holmes" <address@hidden> writes:

TBH, I don't agree at all.  I personally think there's nothing worse
than a process that takes place in the background and gives no
indication that anything is happening.  I've frequently interrupted
git grep for this reason - just to see if it's actually doing
something.  My response would be - in Unix, if you don't want to see
the "normal" output, then add a 1>/dev/null - it's simple enough.

Lilypond does not produce "normal" output, but mostly garbage.

And random garbage from an overly talkative program is not a progress
indicator since you can't actually rely on it.

This is what I get from her:

Processing `D:/Music/LilyPondDev/BugSquad/Harkins.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Layout output to `Harkins.ps'...
Converting to `./Harkins.pdf'...
success: Compilation successfully completed

If that's garbage, then what would count as progress indicators?

Lilypond is commonly is called from a Makefile and other utilities,
obliterating all useful output from them.

The normal behavior for a Unix utility is to write to stderr when
something goes wrong and then bottom out with a non-zero exit status.
Make (or similar tools) stop, and the output on the screen is relevant
to what command was called last, what went wrong, and where the process
stopped.

That's relevant.  Highly so.

I would agree that progress messages should go to stdout, and error messages to stderr so that "normal" progress could be distinguished from "important" error.

If you write things like 1>/dev/null or similar in the Makefile, you
don't get useful output when something goes wrong.

Um. No you don't. You're redirecting stdout, so if the program is properly written, stderr messages still appear on the terminal.

Mixing the important stuff with garbage means you either have to hunt
for the important stuff within the garbage, or you don't get the
important stuff at all.

See above. Progress should go to stdout which can then be hidden if desired with 1>/dev/null. Errors to stderr which would only be hidden if stream 2 is redirected.

--
Phil Holmes





reply via email to

[Prev in Thread] Current Thread [Next in Thread]