[Top][All Lists]
[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.