lilypond-devel
[Top][All Lists]
Advanced

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

Re: Ugliness in the Learning Manual


From: Phil Holmes
Subject: Re: Ugliness in the Learning Manual
Date: Mon, 8 Aug 2011 15:42:57 +0100

----- Original Message ----- From: "Graham Percival" <address@hidden>
To: "Phil Holmes" <address@hidden>
Cc: "Jean-Charles Malahieude" <address@hidden>; "David Kastrup" <address@hidden>; <address@hidden>
Sent: Sunday, August 07, 2011 11:37 PM
Subject: Re: Ugliness in the Learning Manual


On Sun, Aug 07, 2011 at 11:22:48AM +0100, Phil Holmes wrote:
----- Original Message ----- From: "Jean-Charles Malahieude"
<address@hidden>
>(./usage.texi (/home/jcharles/GIT/Mentors/tex/texinfo.tex

That looks good.

git grep TEXINPUTS gives:

make/lilypond-vars.make:TEXINPUTS=$(top-src-dir)/tex/::

So we're setting the location of the texinfo.tex file explicitly
during make.

Think this makes the issue invalid, but the "feature" is probably
worth documenting with other make stuff - Graham?

What's the '"feature"' ?

Just that, in make, we set the TEXINPUTS, so you would also need to do this if compiling from command line.

I don't think it's worth discussing this specific environment
variable on its own.  However, I'd quite like to see either:

1) change the build system to avoid using environment variables --
or rather, print the exact env vars on each line.  i.e. instead of
make(1) producing:
 export TEXINPUTS=$(top-src-dir)/tex/::
 texi2pdf blah.texi
it would produce
 TEXINPUTS=$(top-src-dir)/tex/:: texi2pdf blah.texi

Advantage: when investigating a failing command, you can actually
copy&paste the command you see make(1) running, and it should fail
in exactly the same way because there's no environment variable
garbage.
Disadvantage: I'm not 100% certain that all shells handle
environment variables in the same way.  I know that non-bash
shells don't use "export" to set an env var.  This would involve
more research about unix shell portability, and/or en email from
somebody knowledgeable about such matters.

In theory, it also means you only have one line to change if a directory structure shanges.

2) list all environment variables used (both internally and
externally) in the build system in the CG.

Advantage: at least this knowledge is written down somewhere.
Disadvantage: the list will not be kept up-to-date.  (don't argue;
there's absolutely nothing you can say that will make me believe
that everybody will keep it up-to-date over the next 20 years)

Think it's quite a bit of work, too.

Think I'll put the information I found in the bug report and mark it invalid.

--
Phil Holmes





reply via email to

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