bug-lilypond
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Issue 1063 in lilypond: Reverting nested property fails to restore d


From: lilypond
Subject: Re: Issue 1063 in lilypond: Reverting nested property fails to restore default value if preceded by override in same grob
Date: Sun, 31 Jul 2011 17:04:42 +0000


Comment #8 on issue 1063 by address@hidden: Reverting nested property fails to restore default value if preceded by override in same grob
http://code.google.com/p/lilypond/issues/detail?id=1063

Well, here is a first comment. Properties are a complex thing tied into various layers of contexts and possibly overriden at different levels. Property alists for nested contexts are stored with a clever Scheme via conses of the actual alist to be used, and the tail of the alist belonging to a different context. The various lists are not modified in-place but rather get stuff prepended and removed at front. If the tail gets out of sync with the respective parent, update_grob_properties resynchronizes them.

In contrast, alists for nested properties are just copied around and modified accordingly. For that reason, the difference between a copied subproperty (and sibling subproperties) from an outer context and a native subproperty is not preserved.

A revert of one subproperty can't determine whether its siblings originate as a (possibly outdated) copy of a parent context, or from setting it on its own.

I am having problems understanding how the nesting of properties inside of properties can be simpler to resolve than the nesting of properties inside of contexts.

I continue thinking about that.  External insights welcome.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]