lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: \mark and slur


From: David Kastrup
Subject: Re: \mark and slur
Date: Sat, 16 Sep 2017 13:28:06 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

Thomas Morley <address@hidden> writes:

> Other 5181-topic:
> In your patch description you wrote about the problem with
> c-\single \dynamicUp \f
>
> Here I can't follow, compiling this with 2.18.2 and current master
> returns no noticeable difference for me, even using
> display(Lily)Music.
> May be I overlooked something.
> Could you explain a bit more verbose?

>From the commit message:

    Issue 5181/2: Allow lone postevents in braced lists
    
    Reattaching post-events to a preceding music variable or music
    function call (or expression) is often desired but was unsupported.
    
    This commit caters for the support in braced lists.
    
    The problem with supporting such expressions _everywhere_ is that it
    breaks the use of

The grammar used here is slightly wrong because it uses indicative mode
for an irrealis.  It should rather be:

The problem with supporting such expressions _everywhere_ would be that
it would break the use of ... since then \f would be attached to
\dynamicUp instead of ...

        c-\single \dynamicUp \f
    
    since then \f is attached to \dynamicUp instead of becoming the second
    argument to \single, due to operator precedence.  So reattaching lone
    post-events is only done with lower precedence in selected constructs.

This part of the commit message explains why it has not been possible to
support things like

    xxx = c4

    { \void \displayLilyMusic \xxx \f }

even while \xxx \f now works.  If the grammar precendences in this case
would have combined \xxx \f, they would also combine \dynamicUp \f in
the use case involving \single since \dynamicUp is a bona-fide
(non-post-event) music expression.

So I just committed with unsuitable grammar for a hypothetical.  You
will not be able to see the described problem with anything committed to
the central repository, but there may be a few instances in the reflog
of my personal repository.  Basically I wanted to commit an
implementation that happened not to pass the regtests, so I had to scrap
that approach after convincing myself that this could not otherwise be
made to work.

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]