lilypond-user
[Top][All Lists]
Advanced

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

Re: \version statement, etc.


From: David Kastrup
Subject: Re: \version statement, etc.
Date: Tue, 17 Oct 2017 22:02:44 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

Paul Scott <address@hidden> writes:

> On Tue, Oct 17, 2017 at 01:58:16PM -0500, David Wright wrote:
>> On Tue 17 Oct 2017 at 11:31:46 (-0700), Paul Scott wrote:
>> > On Tue, Oct 17, 2017 at 08:14:06PM +0200, David Kastrup wrote:
>
> Thank you for your explanation and I believe I have long understood
> of \version statements.
>
>> > > LilyPond expects a \version statement in the main file.  Put one there.
>> > > convert-ly can do this for you (probably leave off the -d option).
>> > 
>> > In all my projects the .ily file with the \version statement is the main
>> > file with the music in it.  There is .ly file for each instrument/part
>> > which includes the .ily file.  I haven't had to put a \version statement
>> > in each .ly file until 2.19.80.
>> 
>> But it's pointless *not* to include a version statement. You aren't
>> expected to keep editing it so that it remains "up to date".
>
> The single \version statement in the main .ily file gives the version for
> the code.  I wouldn't have different versions of code in different parts
> of the project.
>
> And yes I don't use convert-ly.  I have many editing tools to keep my
> code current and even to update a project written with older code.
> Just search and replace in emacs is one of my most used tools.

I think that we have reached a point in the discussion where everybody
has reasonably well got all of the others' points and we are just
venting.

When you have strong opinions about LilyPond, it might make sense to
follow the issue tracker and/or the bug mailing list.

This was issue 5180
<https://sourceforge.net/p/testlilyissues/issues/5180/>, and preceding
it was a brief mention on the bug-lilypond list at
<https://lists.gnu.org/archive/html/bug-lilypond/2017-08/msg00060.html>.
The earlier one gives feedback, the better the chances to influence the
outcome.

I have considered ignoring \version for files from LilyPond's own
directories for the sake of this warning.  However, projects like the
openlily library provide files that will usually sit in user directories
and are versioned as well, so this would not have worked for an
important use case.

Silencing the warning is easy to do, and as I said, one call of
convert-ly will do it for you.  convert-ly is a pretty carefully
maintained tool as well these days, so avoiding it does not really make
a lot of sense: its replacement patterns tend to be a lot more tested
than the average Emacs (or whatever) search&replace pattern invented on
the fly.

So providing it is the best we can do to avoid irate mails about
behavior changes in LilyPond's input syntax.  The manual might do a
better job than I can do on the fly about why sometimes such changes are
called for.

convert-ly is a commandline tool.  I think it is somewhat nicely
embedded with the Frescobaldi specialized LilyPond editor.  I don't
think there is a technical reason for Emacs' LilyPond-mode to lack
behind support of editing and general workflow behind Frescobaldi as
much as it does, but it's basically unmaintained, and that shows.

I do use Emacs myself but cannot in good conscience recommend it for
LilyPond writing: using it implies working around the mode's
deficiencies.  The Scheme mode is much better, in contrast.

At any rate, in the post-change discussion you might want to consider
stronger arguments than "it worked before", like why consider it a bad
idea to put a \version statement in your main files.

-- 
David Kastrup



reply via email to

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