On Sat, Oct 13, 2012 at 1:06 PM, David Kastrup <d...@gnu.org> wrote:

>
> No.  I am just pissed at the people clamoring for more ignorance, more

bugs, and less control.


If you are referring to Werner's and Reinhold's comments, I think you may
not be reading them as the authors intended. In particular, I believe that
Reinhold was merely objecting to the names "push" and "pop" as being opaque
to non-programmers, while Werner was complaining that the plethora of new
context-manipulation functions have become confusing. I interpret his
comments as a request for orthogonalization rather than a complaint about
the options that the new commands introduce. Now, it's true that the
comments may not have been entirely constructive as they didn't propose
alternatives, but I also don't think anyone claimed that your proposal is
worse than the status quo.

For what it's worth, I think push, pop and clear (perhaps with more
intuitive-to-non-programmer names) makes a nicer stack interface than push,
pop-push and pop. I also think that "undo" should be rethought in light of
this recent discussion. In particular, this discussion has made me realize
that "undo" doesn't just reverse the effect of an override, since after
\override Something #'color = #green
\override Something #'color = #red
\undo\override Something #'color = #red,
then the color is not back to green as one might think.

What if we gave the users a "push, pop and clear" interface and we made
overrides use "push" and \oneVoice use "clear"? This solves the
\voiceOne\voiceTwo\oneVoice
problem and it lets \temporary be a shortcut for \override ... \undo
\override. Since override is non-destructive, we could even get fancy and
let
\override Something #'color = #green
\override Something #'color = #red
\undo\override Something #'color = #green
go back to the pre-green color.

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

Reply via email to