Thomas Morley <thomasmorle...@googlemail.com> writes:

> 2012/9/12 David Kastrup <d...@gnu.org>:
>> Reinhold Kainhofer <reinh...@fam.tuwien.ac.at> writes:
>>
>>> On 2012-09-12 10:38, David Kastrup wrote:
>>>> if we write xxx in LilyPond, this is considered to be a string.  I want
>>>> xxx.yyy.zzz to be a list of strings ("xxx" "yyy" "zzz").  The main
>>>> incentive is to be able to have music functions be able to accept both
>>>> Stem as well as Staff.TimeSignature as a function argument.
>>>
>>> How would this work with lyrics or with markups?
>>
>> No interference.  In lyrics mode, you already have to write things like
>> \override Staff . TimeSignature to get the lexer putting out separate
>> tokens recognizable by the parser.  Since I was not going to change the
>> lexer, this requirement would stay the same when calling the respective
>> functions in lyrics mode.
>
> Some time ago I tried to define some markup-commands to handle
> musicglyphs like `accidentals.sharp' as part of a larger string and
> used them in music-functions.
>
> These markup-commands used
> (string-split <argument> #\. )
>
> I never finished this work, but will it still be possible to use
> (string-split <argument> #\. ) ?

As I repeatedly said: this is a parser-only change, the lexer is not
affected.  The rules about what constitutes a lexical unit like a basic
string remain the same.  In particular, anything which would change
meaning if you inserted a space in its middle is a lexical unit.
However, inside of markup mode, even an isolated dot is not scanned as a
'.' token but rather as STRING.

-- 
David Kastrup

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

Reply via email to