Jan-Peter Voigt <jp.vo...@gmx.de> writes:

> Thanks for that hint! I will keep that in mind for future development.
> I actually use 2.14 for my allday work and create my extensions
> according to that syntax, because I want to be able to produce sheets
> day by day without stumbling over suprisingly upcoming changes.
> I know, I should have a devel (2.15 ... 2.17 ...) on my machine to be
> prepared for the next release.
> Paolo's excercise would be solved differently by me: I would use a
> ly:music? argument and copy and augment that. And I hope, ly:music?
> arguments will not be broken in future releases ;-)

They will.  My preferred newspeak for that is "they will be unbroken",
namely become much more consistent and versatile.  But that means that
there _will_ be changes in semantics for cases that are quite cumbersome
to do currently.

I manage to get my syntax changes through with very little collateral
damage, and convert-ly covers by far the largest portion of it.  I don't
do disruptive changes without good reason, and not without convert-ly
rules where applicable, and as a rule, none of them gets backed out
again once it is in.  So there are no "surprisingly upcoming changes"
that you can avoid in the long run by sticking with 2.14, and there is
very little backpedaling in development.

There has been quite a bit of heat spent on the developer lists to
arrive at semi-automatic procedures that make reasonably sure that the
current development master is kept in working state.

I can take credit for that only so far as those procedures were partly
created to withstand the strain from my flow of patches (and
particularly the strain from my accompanying abuse when it got
disrupted).  But the results naturally made it easier for everyone to
contribute exciting and numerous improvements while minimizing
disturbances on the development versions' quality.

Personally I would not "create my extensions according to 2.14 syntax"
because that is so awkward.

If you do

git diff release/2.14.2-1..origin lily/lily-lexer.cc

you'll notice that \grobdescriptions, \key, \mark, \once, \partial,
\relative, \skip, \time, \times, \transpose all have disappeared from
the lexer.

All of those are now music functions instead of being hardwired in the
syntax.  And that means that your own personal extensions could also
provide comparable functionality with comparable syntax.

-- 
David Kastrup

_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to