[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Lilypond-auto] Issue 2449 in lilypond: Redesign stream event class repr
From: |
lilypond |
Subject: |
[Lilypond-auto] Issue 2449 in lilypond: Redesign stream event class representation |
Date: |
Thu, 29 Mar 2012 20:39:04 +0000 |
Status: Accepted
Owner: ----
Labels: Type-Defect
New issue 2449 by address@hidden: Redesign stream event class representation
http://code.google.com/p/lilypond/issues/detail?id=2449
With the current design, extending event classes is not feasible. Utterly
broken is the approach in
commit 552df4791dc0ed890e92c8a37bd2676267ebd90f
Author: Mike Solomon <address@hidden>
Date: Mon Oct 4 00:19:10 2010 +0100
Add `define-event-class' and scheme spanner regtest
since it exposes non-local structures in its definition of
define-event-class and is unsuitable for multiple-file compilations.
It was introduced as
Issue 1238:[PATCH] Extra check in define-event-class
<URL:http://code.google.com/p/lilypond/issues/detail?id=1238>
(never mind the misleading issue name) with the review
<URL:http://codereview.appspot.com/1867050>.
This needs to be done differently to confine extended event classes to one
parser incarnation.
Since most of the involved functions and functionality don't have actual
access to the parser, it is not feasible to use a parser variable for this
purpose. Instead it would make sense to fold this into the layout
definitions. If one takes a look at how grobdefinitions make it into the
layout, it turns out that they are just inserted as initial grob
properties, via a context modification in the global context.
To me it would appear to make sense to obliterate ancestor-lookup, at least
its permanent use: it would seem reasonably straightforward to replace the
symbol in "class" with the respective _list_ of symbols returned by
ly:make-event-class.
One has to see what the best way to get it in there would be.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Lilypond-auto] Issue 2449 in lilypond: Redesign stream event class representation,
lilypond <=