Thomas Morley <thomasmorle...@googlemail.com> writes: > If you found "define-music-function code much easier to handle" you > may want to express your thankfulness to David Kastrup and his great > parser-work. > http://news.lilynet.net/?The-LilyPond-Report-24
Well, let's be fair: I've not really changed much of the relative easiness to handle. markup commands have always been defined using a defining _macro_ (and creating macros for the sake of the markup macro), and define-music-function using a more straightforward function. I've vastly increased the power of music functions, and #{ ... #} has become much more versatile (including being able to use it in markups, so that's a tie-up). $ and # have been regularized in behavior; again, no difference to markup commands. An actual simplification has been the removal of the three-part division of music function behavior in postevents, inside chords, and else. That required removing EventChord around elementary rhythmic elements. One consequence being that LilyPond's data structures now tend to be more suitable to manipulation by music functions. So basically they have become a quite more powerful tool at a moderate increase in complexity, with a lot of streamlining of functionality around them and documentation. But as long as you stay in the area that could previously be covered by music functions already, they have not really become easier to handle. Their whole design has been more straightforward than that of markup commands from the start. I actually did a number of simplifications to markup commands as well (like stopping different versions being used in user code and LilyPond) including some documentation, but that has been comparatively minor. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user