[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: music definition change in 2.9.9 or thereabouts?
From: |
Erik Sandberg |
Subject: |
Re: music definition change in 2.9.9 or thereabouts? |
Date: |
Tue, 20 Jun 2006 00:07:25 +0200 |
User-agent: |
KMail/1.9.1 |
On Monday 19 June 2006 12:12, Han-Wen Nienhuys wrote:
> Paul Scott schreef:
> > This used to work in 2.8:
> >
> > \version "2.9.9"
> >
> > KeyG = \key g \major
> >
> > { \KeyG a'' b'' g'' a'' }
> >
> >
> > Have any keywords been added or something that would break this?
>
> Erik has done some work on the parser, which might be the cause.
The problem is the difference between MUSIC_IDENTIFIER and EVENT_IDENTIFIER.
Right now, the latter can only be used for articulations, and after my parser
cleanups, no event-chord is created around \key.
I'm not quite sure what the proper solution is. The attached patch solves the
problem by renaming EVENT_IDENTIFIER to ARTICULATION_IDENTIFIER. The solution
is easy and it works AFAICT, but it relies on music-classes, whose fate is
uncertain. I did consider the following solutions as well:
1. Extend identifier-smob with type information (typically corresponding to
the return value of try_special_idetifiers). I think this will only move the
problem, because expressions like foo = #... must still be assigned a type
correctly.
2. unify MUSIC_IDENTIFIER with EVENT_IDENTIFIER. This has one problem: someone
will try
foo = -.
{ c2\foo d2 }
which (AFAICT) will put the dot above the d2
3. Whenever a variable is assigned music, wrap it in a dummy sequential_music.
Unclean.
--
Erik
es-060620.diff
Description: Text Data
Re: music definition change in 2.9.9 or thereabouts?, Erik Sandberg, 2006/06/28