X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fnested-property.cc;h=edb7986a51e7e5127980eb13fd84134db18805a6;hb=90e4d7057f3857da049dfda3d130017d4719bd6b;hp=ba43ae62f140098989e1f96761683dc4f9658368;hpb=ec91a9a4bdd186d7af88381a10a2923ac949d33c;p=lilypond.git diff --git a/lily/nested-property.cc b/lily/nested-property.cc index ba43ae62f1..edb7986a51 100644 --- a/lily/nested-property.cc +++ b/lily/nested-property.cc @@ -171,7 +171,12 @@ set_nested_property (Grob *me, SCM big_to_small, SCM value) // This converts an alist with nested overrides in it to a proper // alist. The number of nested overrides is known in advance, // everything up to the last nested override is copied, the tail is -// shared +// shared. +// +// The first nalist index has to be a symbol since the conversion +// relies on eq? comparisons, uses some special non-symbol values for +// special purposes, and does validity checking indexed by symbols. +// Subindexing can be done with equal?-comparable indexes, however. SCM nalist_to_alist (SCM nalist, int nested) @@ -206,7 +211,7 @@ nalist_to_alist (SCM nalist, int nested) scm_set_cdr_x (pair, scm_cons (elt, scm_cdr (pair))); continue; } - + assert (scm_is_symbol (key)); // plain override: apply any known corresponding partials SCM pair = assq_pop_x (key, &partials); if (scm_is_true (pair))