DescriptionAdmit lists starting with UNSIGNED as music function arguments
This builds upon a variety of other commits:
Use key-list? for several music command predicates
This is sort of arbitrary currently but matches the kind of syntax
accepted by \override/\revert due to their definition in the parser.
Parser work for key lists including numbers
This admits key lists containing non-negative numbers into various
syntactic constructs previously using symbol lists.
Define key?, key-list?, key-list-or-music?, key-list-or-symbol?
A key (previously a symbol) can be either a non-negative
integer (obeying the predicate index?) or a symbol. When used for
overrides/reverts, the first elements of a path may not actually be
numbers but they are flagged as an error by other means: since a full
override path can be the concatenation of several key lists, the leading
elements are not treated differently by the list predicates.
Strictly speaking this should not be the case for key-list-or-music? or
key-list-or-symbol? predicates, but making them behave differently seems
unwarranted. Arguably key-list-or-symbol? should possibly be
key-list-or-key? instead.
Prepare override/revert to deal with numeric subkeys
Those are fairly cosmetic changes (partly comments) to prepare for the
possibility of using override/revert with numeric subkeys while
retaining the necessity of using a symbol as the main property in a
Context.Grob.property.subproperties... n-tuple since the organization of
an "nalist" (an alist stack containing reversible subproperty overrides)
relies on a few special key values: currently pairs and booleans are
specially interpreted while the current implementation requires an
eq?-comparable first index for efficiency reasons.
Make alist routines use equal? key comparisons
This affects evict_from_alist and nested_property_alist
Optimize assoc_tail for various key types
Add assv_tail function
Patch Set 1 #
MessagesTotal messages: 2
|