Re: Issue 3498: fatal error with toplevel-markup-identifier (issue 12945043)

2013-08-18 Thread thomasmorley65

On 2013/08/18 10:20:07, janek wrote:

LGTM (but i'm not a parser expert)


I've no clue about the parser, from description:
LGTM



Sorry for a possibly ignorant question: will this patch also remove

the error in

case of
mus = { a }
\mus
?


No.


If not, would there be an easy way to fix that?


Well, we could delete all functionality of \addlyrics etc
(Ok, was a joke)



https://codereview.appspot.com/12945043/

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


Re: Issue 3498: fatal error with toplevel-markup-identifier (issue 12945043)

2013-08-18 Thread David Kastrup
Janek Warchoł janek.lilyp...@gmail.com writes:

 2013/8/18  thomasmorle...@gmail.com:
 On 2013/08/18 10:20:07, janek wrote:
 Sorry for a possibly ignorant question: will this patch also remove
 the error in case of
 mus = { a }
 \mus
 ?

 No.

 If not, would there be an easy way to fix that?

 Well, we could delete all functionality of \addlyrics etc
 (Ok, was a joke)

 Ah, i see the difficulty now, thanks!


It's not entirely clear since you can't write

mus = \addlyrics ...

anyway.  The main problem is that \mus differs from #mus in that it
needs to be evaluated _before_ a token can be handed to the parser.
This will only change once every \xxx has the same token category.  The
project of reducing the number of xxx_IDENTIFIER tokens is ongoing (and
has created quite a few more possibilities) but by far not finished.

If \mus returned _two_ tokens, the first without actually evaluating
mus, it is conceivable that the first token already provides enough
information to the parser to know that \addlyrics (and a few similar
commands) are definitely _not_ coming, so that it can evaluate the
assignment before evaluating \mus itself.

But that would be a rather complex change for comparatively little
benefit.  So I prefer focusing on reducing the xxx_IDENTIFIER cases
instead.

-- 
David Kastrup

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


Re: Issue 3498: fatal error with toplevel-markup-identifier (issue 12945043)

2013-08-18 Thread Janek Warchoł
2013/8/18 David Kastrup d...@gnu.org:
 It's not entirely clear since you can't write

 mus = \addlyrics ...

 anyway.  The main problem is that \mus differs from #mus in that it
 needs to be evaluated _before_ a token can be handed to the parser.
 This will only change once every \xxx has the same token category.  The
 project of reducing the number of xxx_IDENTIFIER tokens is ongoing (and
 has created quite a few more possibilities) but by far not finished.

 If \mus returned _two_ tokens, the first without actually evaluating
 mus, it is conceivable that the first token already provides enough
 information to the parser to know that \addlyrics (and a few similar
 commands) are definitely _not_ coming, so that it can evaluate the
 assignment before evaluating \mus itself.

 But that would be a rather complex change for comparatively little
 benefit.  So I prefer focusing on reducing the xxx_IDENTIFIER cases
 instead.

ok.  thanks for explanation!

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