bug-lilypond
[Top][All Lists]
Advanced

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

Make defining new contexts simpler with better \alias functionality


From: Paul Morris
Subject: Make defining new contexts simpler with better \alias functionality
Date: Fri, 6 Mar 2015 09:26:31 -0500

This is not a bug but an enhancement idea.

Make defining new contexts simpler with better \alias functionality.

Use \alias for determining what contexts accept other contexts (and not just 
for allowing commands accepted in one context to be used in another context).

Jim Long:

“...it would be nice, if it is practical, for "Higher" contexts to decide to 
accept "Lower" contexts based on context name (\ChordNames) as well as on alias 
(\alias ChordNames).

A would accept C because A accepts B, and C is explicitly 
declared as an alias of B.  Therefore, A would accept B and all 
aliases of B.”

Paul Morris: 

"Most of the time if we want commands that work in X to work in Y (by using 
\alias X), we also want Y to be accepted wherever X is accepted.

So when Z is determining whether to accept a new context Y... have it first 
check Y's name, and if the name is unknown (not in its "accepts" list) then 
have it check Y's alias (\alias X).  If the alias X is in the "accepts" list, 
then Z would accept Y. 

In rare cases where we didn't want these things coupled (where we wanted 
commands from X to work in Y, but we didn't want Y to be accepted wherever X is 
accepted), then we could use \denies and \accepts to define exactly where we 
want Y to be accepted or denied.

This would really simplify the process of creating custom contexts, especially 
in the common case of wanting a modified version of an existing context that 
works everywhere it does.”

See full discussion thread here:
http://lists.gnu.org/archive/html/lilypond-user/2015-02/msg00684.html





reply via email to

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