]> git.donarmstrong.com Git - lilypond.git/commitdiff
(define-safe-public): new macro for defining
authorNicolas Sceaux <nicolas.sceaux@free.fr>
Sun, 13 Feb 2005 13:39:03 +0000 (13:39 +0000)
committerNicolas Sceaux <nicolas.sceaux@free.fr>
Sun, 13 Feb 2005 13:39:03 +0000 (13:39 +0000)
variables that can be used in --safe mode. Use it in *.scm
instead of manually setting safe-objects in safe-lily.scm.

ChangeLog
scm/chord-entry.scm
scm/chord-name.scm
scm/define-music-types.scm
scm/lily-library.scm
scm/lily.scm
scm/music-functions.scm
scm/output-lib.scm
scm/paper.scm
scm/part-combiner.scm
scm/safe-lily.scm

index 013820ce5233ad1357a0cfcd235bd493b940468a..8d55d1754fb9e2c18e38de8a82e485afb1296d00 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2005-02-13  Nicolas Sceaux  <nicolas.sceaux@free.fr>
+
+       * scm/lily.scm (define-safe-public): new macro for defining
+       variables that can be used in --safe mode. Use it in *.scm
+       instead of manually setting safe-objects in safe-lily.scm.
+
 2005-02-11  Han-Wen Nienhuys  <hanwen@xs4all.nl>
        
        * Slur-dash patch by Bertalan.
index ccfa0877d0c604b03e95b96f8476b7214fc7dcb4..80c3199c4cbb491499bf6a70aa7fd1999acdf989 100644 (file)
@@ -206,7 +206,7 @@ DURATION, and INVERSION."
 (define (sus-modifier pitches)
   (remove-step (pitch-step (ly:make-pitch 0 2 0)) pitches))
 
-(define-public default-chord-modifier-list
+(define-safe-public default-chord-modifier-list
   `((m . ,minor-modifier)
     (min . ,minor-modifier)
     (aug . , aug-modifier)
index 186b035bf700a28677ed7cf830087fa91cf307ac..e05469f0db90ef7b9722e2a4947fa483585fdc4c 100644 (file)
@@ -39,7 +39,7 @@
      (vector-ref #("C" "D" "E" "F" "G" "A" "B") (ly:pitch-notename pitch)))
      (accidental->markup (ly:pitch-alteration pitch)))))
 
-(define-public ((chord-name->german-markup B-instead-of-Bb) pitch)
+(define-safe-public ((chord-name->german-markup B-instead-of-Bb) pitch)
   "Return pitch markup for PITCH, using german note names.
    If B-instead-of-Bb is set to #t real german names are returned.
    Otherwise semi-german names (with Bb and below keeping the british names)
@@ -56,7 +56,7 @@
       (make-normal-size-super-markup
        (accidental->markup (cdr n-a)))))))
 
-(define-public (note-name->german-markup pitch)
+(define-safe-public (note-name->german-markup pitch)
   (let* ((name (ly:pitch-notename pitch))
         (alt (ly:pitch-alteration pitch))
         (n-a (if (member (cons name alt) `((6 . ,FLAT) (6 . ,DOUBLE-FLAT)))
@@ -72,7 +72,7 @@
 
 ;; fixme we should standardize on omit-root (or the other one.)
 ;; perhaps the default should also be reversed --hwn
-(define-public (sequential-music-to-chord-exceptions seq . rest)
+(define-safe-public (sequential-music-to-chord-exceptions seq . rest)
   "Transform sequential music SEQ of type <<c d e>>-\\markup{ foobar }
 to (cons CDE-PITCHES FOOBAR-MARKUP), or to (cons DE-PITCHES
 FOOBAR-MARKUP) if OMIT-ROOT is given and non-false.
index 73ab524a2f762153e92aa0e922212be82e13d0b3..2187d3976c154a32f259e8ff8008813daed5471a 100644 (file)
@@ -790,7 +790,7 @@ Syntax: @code{\\\\}")
          (cons (car x) lst)))
       music-descriptions))
 
-(define-public (make-music name . music-properties)
+(define-safe-public (make-music name . music-properties)
   "Create a music object of given name, and set its properties
 according to `music-properties', a list of alterning property symbols
 and values. E.g:
index 4809aa52f32524bd451a00a60e50d5577f5136da..1b1ce33d78911088bb46d30755906f8839e8327d 100644 (file)
@@ -8,24 +8,24 @@
 
 (define-public X 0)
 (define-public Y 1)
-(define-public START -1)
-(define-public STOP 1)
+(define-safe-public START -1)
+(define-safe-public STOP 1)
 (define-public LEFT -1)
 (define-public RIGHT 1)
 (define-public UP 1)
 (define-public DOWN -1)
 (define-public CENTER 0)
 
-(define-public DOUBLE-FLAT -4)
-(define-public THREE-Q-FLAT -3)
-(define-public FLAT -2)
-(define-public SEMI-FLAT -1)
-(define-public NATURAL 0)
-(define-public SEMI-SHARP 1)
-(define-public SHARP 2)
-(define-public THREE-Q-SHARP 3)
-(define-public DOUBLE-SHARP 4)
-(define-public SEMI-TONE 2)
+(define-safe-public DOUBLE-FLAT -4)
+(define-safe-public THREE-Q-FLAT -3)
+(define-safe-public FLAT -2)
+(define-safe-public SEMI-FLAT -1)
+(define-safe-public NATURAL 0)
+(define-safe-public SEMI-SHARP 1)
+(define-safe-public SHARP 2)
+(define-safe-public THREE-Q-SHARP 3)
+(define-safe-public DOUBLE-SHARP 4)
+(define-safe-public SEMI-TONE 2)
 
 (define-public ZERO-MOMENT (ly:make-moment 0 1)) 
 
@@ -146,7 +146,7 @@ found."
                   '() t))))
 
 ;; todo: code dup with C++. 
-(define-public (alist->hash-table lst)
+(define-safe-public (alist->hash-table lst)
   "Convert alist to table"
   (let ((m (make-hash-table (length lst))))
     (map (lambda (k-v) (hashq-set! m (car k-v) (cdr k-v))) lst)
index f1fdca952e7a29eeee1a5a73ea18ce401d08fb17..035c06d0ee566611d3460b44e564771744aa0d64 100644 (file)
@@ -13,6 +13,7 @@
 
 (use-modules (ice-9 regex)
             (ice-9 safe)
+             (ice-9 optargs)
             (oop goops)
             (srfi srfi-1)  ; lists
             (srfi srfi-13)) ; strings
@@ -155,6 +156,26 @@ predicates. Print a message at LOCATION if any predicate failed."
     placebox
     unknown))
 
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Safe definitions utility
+(define safe-objects (list))
+
+(define-macro (define-safe-public arglist . body)
+  "Define a variable, export it, and mark it as safe, ie usable in LilyPond safe mode.
+The syntax is the same as `define*-public'."
+  (define (get-symbol arg)
+    (if (pair? arg)
+        (get-symbol (car arg))
+        arg))
+  (let ((safe-symbol (get-symbol arglist)))
+    `(begin
+       (define*-public ,arglist
+         ,@body)
+       (set! safe-objects (cons (cons ',safe-symbol ,safe-symbol)
+                                safe-objects))
+       ,safe-symbol)))
+
+
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;; other files.
 
index 7d00d8d6aa0b023f3e505a682455f8e6fbcb9235..0323be7a124c10329b1ed11a3473118424bf5f85 100644 (file)
@@ -190,7 +190,7 @@ i.e.  this is not an override"
 (define direction-polyphonic-grobs
   '(Stem Tie Rest Slur Script TextScript Dots DotColumn Fingering))
 
-(define-public (make-voice-props-set n)
+(define-safe-public (make-voice-props-set n)
   (make-sequential-music
    (append
     (map (lambda (x) (make-grob-property-set x 'direction
@@ -200,7 +200,7 @@ i.e.  this is not an override"
      (make-grob-property-set 'NoteColumn 'horizontal-shift (quotient n 2))
      (make-grob-property-set 'MultiMeasureRest 'staff-position (if (odd? n) -4 4)))))) 
 
-(define-public (make-voice-props-revert)
+(define-safe-public (make-voice-props-revert)
   (make-sequential-music
    (append
     (map (lambda (x) (make-grob-property-revert x 'direction))
@@ -209,7 +209,7 @@ i.e.  this is not an override"
     (list (make-grob-property-revert 'MultiMeasureRest 'staff-position)))))
 
 
-(define*-public (context-spec-music m context #:optional id)
+(define-safe-public (context-spec-music m context #:optional id)
   "Add \\context CONTEXT = ID to M. "
   (let ((cm (make-music 'ContextSpeccedMusic
                        'element m
@@ -240,7 +240,7 @@ i.e.  this is not an override"
   (make-music 'SimultaneousMusic
              'elements elts))
 
-(define-public (make-event-chord elts)
+(define-safe-public (make-event-chord elts)
   (make-music 'EventChord
              'elements elts))
 
@@ -355,12 +355,12 @@ of beat groupings "
 (define-public (set-time-signature num den . rest)
   (ly:export (apply make-time-signature-set `(,num ,den . ,rest))))
 
-(define-public (make-penalty-music pen page-pen)
+(define-safe-public (make-penalty-music pen page-pen)
   (make-music 'BreakEvent
              'penalty pen
              'page-penalty page-pen))
 
-(define-public (make-articulation name)
+(define-safe-public (make-articulation name)
   (make-music 'ArticulationEvent
              'articulation-type name))
 
@@ -369,7 +369,7 @@ of beat groupings "
              'duration duration
              'text string))
 
-(define-public (make-span-event type spandir)
+(define-safe-public (make-span-event type spandir)
   (make-music type
              'span-direction spandir))
 
index f20bbdda78dedb7a48220c3945ba51e61855484d..db5a1fb3b1761edb9a69d0bf825f0dca18abff15 100644 (file)
@@ -216,14 +216,14 @@ centered, X==1 is at the right, X == -1 is at the left."
 (define-public (default-bar-number-visibility barnum) (> barnum 1))
 
 ;; See documentation of Item::visibility_lambda_
-(define-public (begin-of-line-visible d) (if (= d 1) '(#f . #f) '(#t . #t)))
-(define-public (end-of-line-visible d) (if (= d -1) '(#f . #f) '(#t . #t)))
-(define-public (spanbar-begin-of-line-invisible d) (if (= d -1) '(#t . #t) '(#f . #f)))
-
-(define-public (all-visible d) '(#f . #f))
-(define-public (all-invisible d) '(#t . #t))
-(define-public (begin-of-line-invisible d) (if (= d 1) '(#t . #t) '(#f . #f)))
-(define-public (end-of-line-invisible d) (if (= d -1) '(#t . #t) '(#f . #f)))
+(define-safe-public (begin-of-line-visible d) (if (= d 1) '(#f . #f) '(#t . #t)))
+(define-safe-public (end-of-line-visible d) (if (= d -1) '(#f . #f) '(#t . #t)))
+(define-safe-public (spanbar-begin-of-line-invisible d) (if (= d -1) '(#t . #t) '(#f . #f)))
+
+(define-safe-public (all-visible d) '(#f . #f))
+(define-safe-public (all-invisible d) '(#t . #t))
+(define-safe-public (begin-of-line-invisible d) (if (= d 1) '(#t . #t) '(#f . #f)))
+(define-safe-public (end-of-line-invisible d) (if (= d -1) '(#t . #t) '(#f . #f)))
 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
index cdcebe690807b9009ee29387c7a5e16bcd25d112..03e3112d95303854ecea9d58689a1de97bd722ea 100644 (file)
@@ -50,7 +50,7 @@
     (module-define! m 'blotdiameter (* 0.35 pt))
     (module-define! m 'interscoreline (* 4 mm))))
 
-(define-public (set-global-staff-size sz)
+(define-safe-public (set-global-staff-size sz)
   "Set the default staff size, where SZ is thought to be in PT."
   (let* ((old-mod (current-module))
         (pap (eval '$defaultpaper old-mod))
      (else
       (ly:warn (string-append "Unknown papersize: " name))))))
 
-(define-public (set-default-paper-size name . rest)
+(define-safe-public (set-default-paper-size name . rest)
   (internal-set-paper-size
    (ly:output-def-scope (eval '$defaultpaper (current-module)))
    name
index 65ce520d21fcf91c4d5dd3dc4ea54b39fff205df..2ea2bd1e1e4124aee6bd07622b014e46e232253c 100644 (file)
@@ -188,7 +188,7 @@ Voice-state objects
 (define part-combine-listener '())
 
 ; UGH - should pass noticed setter to part-combine-listener
-(define-public (set-part-combine-listener x)
+(define-safe-public (set-part-combine-listener x)
   (set! part-combine-listener x))
 
 (define-public (notice-the-events-for-pc context lst)
index 3bc46e52b0ff2e572418f4b47c52547ead7ab1fd..32adc29083df57247f218322dae7bfdc65513b91 100644 (file)
 ;;;; 
 ;;;; (c)  2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 
-(define safe-objects
-  (map
-   (lambda (sym)
-     (cons sym (primitive-eval sym)))
  '(ly:add-interface
-     ly:add-moment
-     ly:all-grob-interfaces
-     ly:all-output-backend-commands
-     ly:all-stencil-expressions
-     ly:bracket
-     ly:context-find
-     ly:context-id
-     ly:context-name
-     ly:context-parent
-     ly:context-property
-     ly:context-property-where-defined
-     ly:context-pushpop-property
-     ly:context-set-property!
-     ly:context-unset-property
-     ly:context?
-     ly:dimension?
-     ly:dir?
-     ly:div-moment
-     ly:duration-dot-count
-     ly:duration-factor
-     ly:duration-log
-     ly:duration<?
-     ly:duration?
-     ly:export
-     ly:font-get-glyph
-     ly:font-design-size
-     ly:font-file-name
-     ly:font-magnification
-     ly:font-metric?
-     ly:font-name
-     ly:format-output
-     ly:get-all-function-documentation
-     ly:get-all-translators
-     ly:get-default-font
-     ly:get-glyph
-     ly:get-option
-     ly:grob-alist-chain
-     ly:grob-extent
-     ly:grob-original
-     ly:grob-layout
-     ly:grob-parent
-     ly:grob-pq-less?
-     ly:grob-property
-     ly:grob-script-priority-less
-     ly:grob-set-property!
-     ly:grob-staff-position
-     ly:grob-suicide
-     ly:grob-system
-     ly:grob-translate-axis!
-     ly:grob?
-     ly:input-location
-     ly:input-location?
-     ly:input-message
-     ly:intlog2
-     ly:item-break-dir
-     ly:item?
-     ly:iterator?
-     ly:make-bare-music
-     ly:make-duration
-     ly:make-moment
-     ly:make-music-function
-     ly:make-pitch
-     ly:make-stencil
-     ly:moment<?
-     ly:moment?
-     ly:mul-moment
-     ly:music-compress
-     ly:music-deep-copy
-     ly:music-duration-compress
-     ly:music-duration-length
-     ly:music-length
-     ly:music-list?
-     ly:music-mutable-properties
-     ly:music-name
-     ly:music-property
-     ly:music-scorify
-     ly:music-set-property!
-     ly:music-transpose
-     ly:music?
-     ly:lily-parser?
-     ly:number->string
-     ly:option-usage
-     ly:output-def-clone
-     ly:output-def-scope
-     ly:output-description
-     ly:paper-book?
-     ly:layout-def?
-     ly:paper-get-font
-     ly:paper-get-number
-     ly:paper-system-break-before-penalty
-     ly:paper-system-extent
-     ly:paper-system-number
-     ly:paper-system-stencil
-     ly:paper-system?
-     ly:output-def-lookup
-     ly:parse-string
-     ly:parser-parse-string
-     ly:parser-print-book
-     ly:parser-print-score
-     ly:pitch-alteration
-     ly:pitch-diff
-     ly:pitch-notename
-     ly:pitch-octave
-     ly:pitch-quartertones
-     ly:pitch-semitones
-     ly:pitch-steps
-     ly:pitch-transpose
-     ly:pitch<?
-     ly:pitch?
-     ly:round-filled-box
-     ly:run-translator
-     ly:set-option
-     ly:set-point-and-click
-     ly:spanner-broken-into
-     ly:spanner-get-bound
-     ly:spanner?
-     ly:stencil-add
-     ly:stencil-align-to!
-     ly:stencil-combine-at-edge
-     ly:stencil-expr
-     ly:stencil-extent
-     ly:stencil-moved-to-edge
-     ly:stencil-set-extent!
-     ly:stencil-translate
-     ly:stencil-translate-axis
-     ly:stencil?
-     ly:text-dimension
-     ly:translator-description
-     ly:translator-name
-     ly:translator?
-     ly:transpose-key-alist
-     ly:unit
-     ly:version
-     ly:warn
+(map
+ (lambda (sym)
+   (set! safe-objects (cons (cons sym (primitive-eval sym))
+                            safe-objects)))
+ '(ly:add-interface
+   ly:add-moment
+   ly:all-grob-interfaces
+   ly:all-output-backend-commands
+   ly:all-stencil-expressions
+   ly:bracket
+   ly:context-find
+   ly:context-id
+   ly:context-name
+   ly:context-parent
+   ly:context-property
+   ly:context-property-where-defined
+   ly:context-pushpop-property
+   ly:context-set-property!
+   ly:context-unset-property
+   ly:context?
+   ly:dimension?
+   ly:dir?
+   ly:div-moment
+   ly:duration-dot-count
+   ly:duration-factor
+   ly:duration-log
+   ly:duration<?
+   ly:duration?
+   ly:export
+   ly:font-get-glyph
+   ly:font-design-size
+   ly:font-file-name
+   ly:font-magnification
+   ly:font-metric?
+   ly:font-name
+   ly:format-output
+   ly:get-all-function-documentation
+   ly:get-all-translators
+   ly:get-default-font
+   ly:get-glyph
+   ly:get-option
+   ly:grob-alist-chain
+   ly:grob-extent
+   ly:grob-original
+   ly:grob-layout
+   ly:grob-parent
+   ly:grob-pq-less?
+   ly:grob-property
+   ly:grob-script-priority-less
+   ly:grob-set-property!
+   ly:grob-staff-position
+   ly:grob-suicide
+   ly:grob-system
+   ly:grob-translate-axis!
+   ly:grob?
+   ly:input-location
+   ly:input-location?
+   ly:input-message
+   ly:intlog2
+   ly:item-break-dir
+   ly:item?
+   ly:iterator?
+   ly:make-bare-music
+   ly:make-duration
+   ly:make-moment
+   ly:make-music-function
+   ly:make-pitch
+   ly:make-stencil
+   ly:moment<?
+   ly:moment?
+   ly:mul-moment
+   ly:music-compress
+   ly:music-deep-copy
+   ly:music-duration-compress
+   ly:music-duration-length
+   ly:music-length
+   ly:music-list?
+   ly:music-mutable-properties
+   ly:music-name
+   ly:music-property
+   ly:music-scorify
+   ly:music-set-property!
+   ly:music-transpose
+   ly:music?
+   ly:lily-parser?
+   ly:number->string
+   ly:option-usage
+   ly:output-def-clone
+   ly:output-def-scope
+   ly:output-description
+   ly:paper-book?
+   ly:layout-def?
+   ly:paper-get-font
+   ly:paper-get-number
+   ly:paper-system-break-before-penalty
+   ly:paper-system-extent
+   ly:paper-system-number
+   ly:paper-system-stencil
+   ly:paper-system?
+   ly:output-def-lookup
+   ly:parse-string
+   ly:parser-parse-string
+   ly:parser-print-book
+   ly:parser-print-score
+   ly:pitch-alteration
+   ly:pitch-diff
+   ly:pitch-notename
+   ly:pitch-octave
+   ly:pitch-quartertones
+   ly:pitch-semitones
+   ly:pitch-steps
+   ly:pitch-transpose
+   ly:pitch<?
+   ly:pitch?
+   ly:round-filled-box
+   ly:run-translator
+   ly:set-option
+   ly:set-point-and-click
+   ly:spanner-broken-into
+   ly:spanner-get-bound
+   ly:spanner?
+   ly:stencil-add
+   ly:stencil-align-to!
+   ly:stencil-combine-at-edge
+   ly:stencil-expr
+   ly:stencil-extent
+   ly:stencil-moved-to-edge
+   ly:stencil-set-extent!
+   ly:stencil-translate
+   ly:stencil-translate-axis
+   ly:stencil?
+   ly:text-dimension
+   ly:translator-description
+   ly:translator-name
+   ly:translator?
+   ly:transpose-key-alist
+   ly:unit
+   ly:version
+   ly:warn
 
-     ;; SCM-only functionality
-     set-global-staff-size
+   ;; FIXME: cannot change staff size in --safe-mode
+   ;;$defaultpaper
+   ;;$defaultmidi
+   ;;$defaultlayout
 
-     ;; FIXME: cannot change staff size in --safe-mode
-     ;;$defaultpaper
-     ;;$defaultmidi
-     ;;$defaultlayout
-
-     ;; need these for parsing init files:
-     ;; todo: should have a macro define-safe-public
-     DOUBLE-FLAT
-     DOUBLE-SHARP
-     FLAT
-     NATURAL
-     SEMI-FLAT
-     SEMI-SHARP
-     SEMI-TONE
-     SHARP
-     START
-     STOP
-     THREE-Q-FLAT
-     THREE-Q-SHARP
-
-     alist->hash-table
-     chord-name->german-markup
-     context-spec-music
-     default-chord-modifier-list
-     make-articulation
-     make-event-chord
-     make-music
-     make-penalty-music
-     make-span-event
-     make-voice-props-revert
-     make-voice-props-set
-     note-name->german-markup
-     sequential-music-to-chord-exceptions
-     set-default-paper-size
-     set-part-combine-listener
-
-     Accidental_interface::after_line_breaking
-     Accidental_interface::print
-     Ambitus::print
-     Arpeggio::print
-     Arpeggio::brew_chord_bracket
-     Arpeggio::width_callback
-     Axis_group_interface::group_extent_callback
-     Bar_line::before_line_breaking
-     Bar_line::get_staff_bar_size
-     Bar_line::print
-     Beam::after_line_breaking
-     Beam::before_line_breaking
-     Beam::check_concave
-     Beam::least_squares
-     Beam::print
-     Beam::quanting
-     Beam::shift_region_to_valid
-     Beam::slope_damping
-     Beam::space_function
-     Break_align_interface::alignment_callback
-     Breathing_sign::offset_callback
-     Chord_name::after_line_breaking
-     Clef::before_line_breaking
-     Clef::print
-     Cluster::print
-     Cluster_beacon::height
-     Custos::print
-     Dot_column::side_position
-     Dots::print
-     Hairpin::print
-     Hara_kiri_group_spanner::force_hara_kiri_callback
-     Hara_kiri_group_spanner::y_extent
-     Horizontal_bracket::print
-     Hyphen_spanner::print
-     Hyphen_spanner::set_spacing_rods
-     Key_signature_interface::print
-     Line_spanner::after_line_breaking
-     Line_spanner::print
-     Lyric_extender::print
-     Measure_grouping::print
-     Mensural_ligature::brew_ligature_primitive
-     Mensural_ligature::print
-     Multi_measure_rest::percent
-     Multi_measure_rest::print
-     Multi_measure_rest::set_spacing_rods
-     Note_head::print
-     Note_head::brew_ez_stencil
-     Ottava_bracket::print
-     Paper_column::before_line_breaking
-     Paper_column::print
-     Percent_repeat_item_interface::beat_slash
-     Percent_repeat_item_interface::double_percent
-     Piano_pedal_bracket::print
-     Rest::after_line_breaking
-     Rest::extent_callback
-     Rest::polyphonic_offset_callback
-     Rest::print
-     Script_column::before_line_breaking
-     Script_interface::before_line_breaking
-     Script_interface::print
-     Self_alignment_interface::aligned_on_parent
-     Self_alignment_interface::aligned_on_self
-     Self_alignment_interface::centered_on_other_axis_parent
-     Self_alignment_interface::centered_on_parent
-     Separating_group_spanner::set_spacing_rods
-     Side_position_interface::aligned_on_support_refpoints
-     Side_position_interface::aligned_side
-     Slur::after_line_breaking
-     Slur::height
-     Slur::print
-     Spacing_spanner::set_springs
-     Span_bar::before_line_breaking
-     Span_bar::get_bar_size
-     Span_bar::print
-     Span_bar::width_callback
-     Spanner::set_spacing_rods
-     Staff_symbol::print
-     Staff_symbol_referencer::callback
-     Stem::before_line_breaking
-     Stem::width_callback
-     Stem::height
-     Stem::offset_callback
-     Stem::print
-     Stem_tremolo::height
-     Stem_tremolo::print
-     Sustain_pedal::print
-     System_start_delimiter::after_line_breaking
-     System_start_delimiter::print
-     Text_interface::print
-     Text_spanner::print
-     Tie::print
-     Tie_column::after_line_breaking
-     Time_signature::print
-     Tuplet_bracket::after_line_breaking
-     Tuplet_bracket::before_line_breaking
-     Tuplet_bracket::print
-     Vaticana_ligature::brew_ligature_primitive
-     Vaticana_ligature::print
-     Volta_bracket_interface::print
-
-     begin-of-line-invisible
-     begin-of-line-visible
-     
-     end-of-line-invisible
-     end-of-line-visible
-     
-     )))
+   Accidental_interface::after_line_breaking
+   Accidental_interface::print
+   Ambitus::print
+   Arpeggio::print
+   Arpeggio::brew_chord_bracket
+   Arpeggio::width_callback
+   Axis_group_interface::group_extent_callback
+   Bar_line::before_line_breaking
+   Bar_line::get_staff_bar_size
+   Bar_line::print
+   Beam::after_line_breaking
+   Beam::before_line_breaking
+   Beam::check_concave
+   Beam::least_squares
+   Beam::print
+   Beam::quanting
+   Beam::shift_region_to_valid
+   Beam::slope_damping
+   Beam::space_function
+   Break_align_interface::alignment_callback
+   Breathing_sign::offset_callback
+   Chord_name::after_line_breaking
+   Clef::before_line_breaking
+   Clef::print
+   Cluster::print
+   Cluster_beacon::height
+   Custos::print
+   Dot_column::side_position
+   Dots::print
+   Hairpin::print
+   Hara_kiri_group_spanner::force_hara_kiri_callback
+   Hara_kiri_group_spanner::y_extent
+   Horizontal_bracket::print
+   Hyphen_spanner::print
+   Hyphen_spanner::set_spacing_rods
+   Key_signature_interface::print
+   Line_spanner::after_line_breaking
+   Line_spanner::print
+   Lyric_extender::print
+   Measure_grouping::print
+   Mensural_ligature::brew_ligature_primitive
+   Mensural_ligature::print
+   Multi_measure_rest::percent
+   Multi_measure_rest::print
+   Multi_measure_rest::set_spacing_rods
+   Note_head::print
+   Note_head::brew_ez_stencil
+   Ottava_bracket::print
+   Paper_column::before_line_breaking
+   Paper_column::print
+   Percent_repeat_item_interface::beat_slash
+   Percent_repeat_item_interface::double_percent
+   Piano_pedal_bracket::print
+   Rest::after_line_breaking
+   Rest::extent_callback
+   Rest::polyphonic_offset_callback
+   Rest::print
+   Script_column::before_line_breaking
+   Script_interface::before_line_breaking
+   Script_interface::print
+   Self_alignment_interface::aligned_on_parent
+   Self_alignment_interface::aligned_on_self
+   Self_alignment_interface::centered_on_other_axis_parent
+   Self_alignment_interface::centered_on_parent
+   Separating_group_spanner::set_spacing_rods
+   Side_position_interface::aligned_on_support_refpoints
+   Side_position_interface::aligned_side
+   Slur::after_line_breaking
+   Slur::height
+   Slur::print
+   Spacing_spanner::set_springs
+   Span_bar::before_line_breaking
+   Span_bar::get_bar_size
+   Span_bar::print
+   Span_bar::width_callback
+   Spanner::set_spacing_rods
+   Staff_symbol::print
+   Staff_symbol_referencer::callback
+   Stem::before_line_breaking
+   Stem::width_callback
+   Stem::height
+   Stem::offset_callback
+   Stem::print
+   Stem_tremolo::height
+   Stem_tremolo::print
+   Sustain_pedal::print
+   System_start_delimiter::after_line_breaking
+   System_start_delimiter::print
+   Text_interface::print
+   Text_spanner::print
+   Tie::print
+   Tie_column::after_line_breaking
+   Time_signature::print
+   Tuplet_bracket::after_line_breaking
+   Tuplet_bracket::before_line_breaking
+   Tuplet_bracket::print
+   Vaticana_ligature::brew_ligature_primitive
+   Vaticana_ligature::print
+   Volta_bracket_interface::print
+   ))
 
 (define-public (make-safe-lilypond-module)
   (let* ((m (make-safe-module)))