Am 30.09.2012 10:01, schrieb d...@gnu.org:

http://codereview.appspot.com/6498052/diff/32001/scm/bar-line.scm
File scm/bar-line.scm (right):

http://codereview.appspot.com/6498052/diff/32001/scm/bar-line.scm#newcode225
scm/bar-line.scm:225: (define-public bar-glyph-alist '())
This interface definition is asking for trouble.  It is an important
feature of LilyPond that if you use standard commands, their effects to
not bleed over from one run to the next.  Information-carrying data
structures, for that reason, should be initialized in a .ly file loaded
from init.ly.  Even then, the basic data structure should be one that
can be replaced by overwriting with a saved copy.  That means that
hash-tables have to be either read/only, or start out as _empty_ in a
session (hash tables defined in the init.ly session get cleared at the
end of session IIRC).

http://codereview.appspot.com/6498052/

Update: a 'git grep "(define-public .* '())" shows

scm/bar-line.scm:(define-public bar-glyph-alist '())
scm/bar-line.scm:(define-public span-bar-glyph-alist '())
scm/bar-line.scm:(define-public volta-bracket-allow-volta-hook-list '())
scm/define-context-properties.scm:(define-public all-translation-properties '())
scm/define-note-names.scm:(define-public pitchnames '())
scm/lily.scm:(define-public lilypond-declarations '())
scm/midi.scm:(define-public absolute-volume-alist '())
scm/midi.scm:(define-public instrument-equalizer-alist '())

Since the faulty regtest adds a function to the list provided by

(define-public bar-glyph-print-procedures `())

I assume that *this* declaration should be moved to ly/init.ly?

Regards,

Marc





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

Reply via email to