That patch is a really, really, really bad idea since you put your
property on the _original_ expression that may see other uses.

If you wanted to do this responsibly, you'd have to create a copy on
assignment (defeating the savings from LilyPond's copy-on-use contract)
or put your property on when _referencing_ a variable.  You can see how
this is done by looking at what happens with the 'origin data field when
referencing a variable.  That is when a copy is initiated anyway, and
you could tamper with that copy.

I am not sure that is really necessary: you could probably in your
analysis evaluate whether 'origin refers to an input location only
referencing a variable.

-- 
David Kastrup


Reply via email to