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