lilypond-user
[Top][All Lists]
Advanced

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

Re: Your Friendly Neighborhood LSR


From: Mats Bengtsson
Subject: Re: Your Friendly Neighborhood LSR
Date: Tue, 27 Nov 2007 22:57:59 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20061113 Debian/1.7.8-1sarge8

Valentin Villenave wrote:


The version line might be good information to have - at least in a
comment. If a snippet stops behaving correctly, the original author of
the snippet is gone, nobody any longer really remembers what the snippet
was supposed to do - then the version line will give a hint on which
ancient lilypond to use in order to see the snippet as the contributor
intended.

No. If we ever find such a snippet, and if we really have *no idea* of
what it's supposed to do, *no way* to contact its author and *not a
clue* about how to make it work, we just delete it.

The last time I deleted a snippet that was not a duplicate, it was an
obviously deprecated TeX-based snippet that, frankly I don't care if
it was built on 2.2 or 2.4.
Right, but if it had been marked as version 2.10 and it
looked suspicious in 2.10.30 (or whatever version is
used in LSR), then I'm sure you would have spent some
more time investigating. Considering the amount of bug
fixes done during the 2.10 series, I wouldn't be surprised
if there are some snippets that really illustrate bug workarounds
and have become obsolete even during 2.10. However, this is
not my main point, see below.


The current LSR version could be more visible, I agree.
Now, should the snippets include a \version? I'm not sure; this would
imply that *all* snippets, excepted those marked as "version-specific"
would begin with the same \version "2.10" or \version "2.12"...  After
all, verbatim fragments from the manual never include a \version line,
do they?
No, but when you read the manual, you have explicitly chosen
what version of the manual you are looking at, in contrast to
LSR, which only exists in one version.
Also, we have had quite a number of questions on the mailing
list over the years, related to the fact that people haven't
realized that an example they used didn't match their LilyPond installation.
So, I strongly urge you to show a \version line for every snippet.
However, if the database internally stores the snippets with or
without this \version line, does not matter for me. If it's not
included within the database, then the web server can
add the line before showing the code in the user interface.

However, Rune has also got a point that it would
be good to know at least about the last version where we are sure that the
snippet worked as originally intended. Valentin, I think it was you who
sent some questions some half year ago when you tried to understand and
update snippets that were outdated (and had not even been updated
correctly with convert-ly). In the upgrade to the next stable version, I'm
sure that you will make sure to use convert-ly and manually review every
snippet to make sure that it produces correct output, but especially for
more
complex snippets it may still be easy to miss that there have been some
unintentional changes in the result.

Hence the "version-specific" tag. Suppose some day we drop the native
Postscript markup backend like we did for TeX. As soon as we did, it
would be really easy to search every snippets including a \postscript
command, and tag them as "version-specific", before considering
modifying or removing them.
I think many bug fixes and updates are much more subtle than
so and you really have to compare the output of every snippet
between the two versions to be 100% sure that it really works
as intended. You might want to consider some automated
regression test like is done in the LilyPond distribution, though,
to simplify this task.

Does code ever work in one version, then not work in a subsequent
version, then work again in an even later version? I can see where it
might, at least at the x.x.xx level. If that's the case, snippets could
end up with multiple version lines.
This has happened over the years, where some bug was
introduced and then fixed some versions later. However,
collecting and keeping track of such fine-grained information
is virtually impossible.

  /Mats




reply via email to

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