Nathan Chou <starry...@gmail.com> writes:

> Thanks David and Urs for replying.
>
>>> There is a detail I would like to clarify. David suggested allowing \=
>>> to optionally specify the parent context in which a cross-voice
>>> spanner's information is shared (although I am not sure how that would
>>> be done with a key-list, since I think the spanner id itself is a
>>> string).
>>
>> Right.  Maybe it should rather be a key?  That would also make
>> comparison generally faster than string comparisons.
>
> Would I convert a string input to a key, or should I only accept a key
> as a valid id? The latter seems more convenient but I imagine would
> break backward compatibility.

Slightly so.  I'd still aim for that.  The original approach seems
un-Schemish anyway.  A symbol as unique identifier is what symbols are
intended for.

>>> If this context is not specified, should it default to Score or Staff
>>> (or something else)?
>>
>> Nothing at all?  Namely don't look anywhere else unless asked for?
>
> So cross voice spanners should only work if the context to share
> information is specified, right? If the context is not specified and
> there is no default, the spanner id would only be used within the same
> voice and not made known to any other contexts.

I think that would provide clear and obvious semantics.  That's an
advantage.  It's also somewhat cumbersome.  I think that the expected
frequency of occurence is low enough that the overall balance between
obviousness and convenience looks favorable to me.

-- 
David Kastrup

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to