lilypond-devel
[Top][All Lists]
Advanced

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

Re: Create \temporary for doing overrides without pop-first set (issue 6


From: dak
Subject: Re: Create \temporary for doing overrides without pop-first set (issue 6687044)
Date: Mon, 15 Oct 2012 13:10:14 +0000

On 2012/10/15 13:02:38, wl_gnu.org wrote:
> Let's assume that we "unify" the interface to context and grob
> properties.  The _default_ operation on a context property will
> _always_ be overwrite rather than push, since context properties
> track the change of things like the current clef, the current key
> signature, the current whatever.  There is no point in keeping a
> stack for that by default, and it would be seriously confusing.
>
> That is what the default operation on a grob property is right now:
> it overwrites the current top of the stack.  This matches the
> default operation on context properties.  As contrasted to context
> properties, grob properties have a save stack.  There is no
> LilyPond-accessible manner to access it, it is only available from
> Scheme.

What about having a `simple' and an `advanced' interface?  This is,
let's stay with the current commands, enriched by \temporary and
friends as suggested by David.  At the same time, we could provide
\push, \pop, and \clear (with *this* names) for advanced users who
want to write music functions without side effects.

\clear with the proposed cut-through dynamics is rather the maximum
possible side effect.  It makes only some sense when it is intended to
counter the sideeffects of making "push" the default interface rather
than "overwrite", with the expectation that "push" will often get used
when "overwrite" would have been appropriate.  push and pop would not
provide anything new.

I have a really hard time seeing who we are supposed to be doing a favor
here.

http://codereview.appspot.com/6687044/



reply via email to

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