lilypond-devel
[Top][All Lists]
Advanced

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

Re: Provide an \un function for turning overrides and sets into reverts


From: dak
Subject: Re: Provide an \un function for turning overrides and sets into reverts and unsets (issue 6588067)
Date: Sat, 06 Oct 2012 08:22:03 +0000

On 2012/10/06 07:44:51, Trevor Daniels wrote:
I think I would prefer to name this function \undo.
This more accurately expresses what it does:
\undo\voiceOne reverses everything that \voiceOne
does, or did.  The action of \un\voiceOne is not
so intuitively obvious, nor does it make an English
work or phrase.

\reverse would be an alternative, but its length
reduces its attraction.

"reverse" is already taken as a Scheme operator.  Digging through the
thesaurus, other viable options would be "cancel" or "revoke".

One main design target of \un is to block bikeshedding by providing a
way of undoing a simple or complex override in a manner that is
sufficiently concise and straightforward to make it not worth the effort
to think up an individual name for the reversal operation.

\un\omit is similar to "I see you omitted to mention my participation in
this draft.  Let me un-omit this.", namely the use of a dashed
artificial un-word for the sake of expressing a literal reversal.

It also matches \hideNotes/\unHideNotes in character, but looking
through ly/property-init.ly, it would appear that most pairings are of
the xxxOn/xxxOff form anyway, or even completely different like
\voiceNeutralStyle, \tupletNeutral, \tieSolid, \defaultTimeSignature,
\arpeggioNormal.

Good grief.

The principal aim is to make the use of \un/\undo\whatever a no-brainer,
not have people start thinking about shorter alternatives.  \undo might
work well enough, I don't know.  Maybe one should survey people.

If you take a look at
<URL:http://code.google.com/p/lilypond/issues/detail?id=2002> and the
following discussions, you'll see that I made \once work for a lot of
things it did not work before just to be able to avoid the want or need
for additional commands like \hideNote that would make it harder for
users to guess the behavior of a LilyPond-provided command.  And you'll
see that Adam was less than convinced that \once\hideNotes was tolerably
short.

\undo certainly seems nicer for things like \undo\xxxOn in contrast to
\un\xxxOn.  Are there other opinions/votes/leanings?

http://codereview.appspot.com/6588067/



reply via email to

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