David Kastrup <d...@gnu.org> writes: >> The Lilypond codebase does not contain such music function arguments I >> think. It should actually work to convert them to >> #(ly:export (ly:make-pitch ... >> so there is a straightforward (but more likely than not untowardly >> awkward) migration path. >> >> Apart from this change in semantics, this should not cause >> regressions.
Reconsidering this matter, I have come to the realization that one could avoid regressions here simply by still permitting Scheme expressions (and passing them through the specified validator like ly:pitch?). I see advantages and disadvantages to that approach. pro: One can provide more and more specially parsed arguments on a contingency base without invalidating previous code. contra: This promotes code sloppily interchanging Lilypond and Scheme as music function arguments, making music functions behave differently from "built-in" Lilypond commands. Upgrading code to use ly:export when a predicate becomes specially recognized is rather trivial. Intermediate strategy: Allow Scheme for newly converted specially parsed arguments, and deprecate and phase out after a while. Frankly, I consider the bookkeeping for that going a bit overboard for now. So my plan would be to just press forward and see whether anybody complains. > I put the current state up on Rietveld at > <URL:http://codereview.appspot.com/4811047> > > I don't have a usage example to go with the patch though. If somebody > has something nice to offer... Again: usage example would be welcome. -- David Kastrup _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel