Jean Abou Samra <j...@abou-samra.fr> writes: > Le 27/03/2022 à 16:23, David Kastrup a écrit : >> It doesn't share the same music objects for different notes since $(...) >> makes a ly:music-deep-copy anyway that will deduplicate the elements of >> SequentialMusic while copying them. The intermediate expression is >> indeed not fit for every use, but the final deep copy fixes that. > > > Ah, yes, correct. I always forget about that twist of $ as I > only use it for more immediate (lexer) evaluation and not for > copies. Thanks for the reminder.
Well, it makes $xxx and \xxx behave identically. And \xxx needs to copy since music functions are allowed to change their arguments. The meaning of $ was actually introduced after a pretty thorough redesign where I think the bulk might have happened with commit fecc5999e224304e9d54e48bc7a92cdbb123cd35 Author: David Kastrup <d...@gnu.org> Date: Sun Nov 6 19:15:27 2011 +0100 Let #{ ... #} pass its $ handling to environment cloning Includes convertrules.py rules for dealing with #{ ... #} and for removing uses of ly:export in version 2.15.18. You don't really want to know (or explain) what meaning $ had before that change. Or #{ ... #}. Or the interdependency. -- David Kastrup