+;;;; safe-lily.scm --
+;;;;
+;;;; source file of the GNU LilyPond music typesetter
+;;;;
+;;;; (c) 2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+
(define safe-objects
-
(map
(lambda (sym)
- (cons sym (primitive-eval 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:find-glyph-by-name
ly:font-design-size
ly:font-encoding-alist
- ly:font-filename
+ ly:font-file-name
ly:font-magnification
ly:font-metric?
ly:font-name
ly:grob-alist-chain
ly:grob-extent
ly:grob-original
- ly:grob-paper
+ ly:grob-layout
ly:grob-parent
ly:grob-pq-less?
ly:grob-property
ly:music-set-property!
ly:music-transpose
ly:music?
- ly:my-lily-parser?
+ ly:lily-parser?
ly:number->string
ly:option-usage
ly:output-def-clone
ly:output-def-scope
ly:output-description
- ly:page-header-lines-footer-stencil
- ly:page-paper-lines
- ly:page?
ly:paper-book?
- ly:paper-def?
+ ly:layout-def?
ly:paper-get-font
ly:paper-get-number
- ly:paper-line-break-penalty
- ly:paper-line-extent
- ly:paper-line-number
- ly:paper-line-stencil
- ly:paper-line?
+ ly:paper-system-break-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:round-filled-box
ly:run-translator
ly:set-option
- ly:score-bookify
ly:set-point-and-click
ly:spanner-broken-into
ly:spanner-get-bound
ly:version
ly:warn
+ ;; SCM-only functionality
+ set-global-staff-size
+
+ ;; 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
- THREE-Q-FLAT
- FLAT
- SEMI-FLAT
- NATURAL
- SEMI-SHARP
- SHARP
- THREE-Q-SHARP
+ ;; 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
- sequential-music-to-chord-exceptions
- make-music
make-articulation
make-event-chord
+ make-music
make-penalty-music
make-span-event
- set-start-grace-properties
- set-stop-grace-properties
- set-default-paper-size
- set-part-combine-listener
- context-spec-music
make-voice-props-revert
make-voice-props-set
- chord-name->german-markup
note-name->german-markup
- default-toplevel-music-handler
- default-toplevel-book-handler
- default-toplevel-score-handler
+ sequential-music-to-chord-exceptions
+ set-default-paper-size
+ set-part-combine-listener
Accidental_interface::after_line_breaking
Accidental_interface::print
Multi_measure_rest::percent
Multi_measure_rest::print
Multi_measure_rest::set_spacing_rods
- Note_head::extent
Note_head::print
Note_head::brew_ez_stencil
Ottava_bracket::print
Sustain_pedal::print
System_start_delimiter::after_line_breaking
System_start_delimiter::print
- Text_item::print
+ Text_interface::print
Text_spanner::print
Tie::print
Tie_column::after_line_breaking
Vaticana_ligature::brew_ligature_primitive
Vaticana_ligature::print
Volta_bracket_interface::print
-
-
-
-
)))
(define-public (make-safe-lilypond-module)
- (let*
- ((m (make-safe-module)))
- (for-each
- (lambda (p) (module-define! m (car p) (cdr p)))
- safe-objects)
+ (let* ((m (make-safe-module)))
+ (for-each (lambda (p) (module-define! m (car p) (cdr p))) safe-objects)
m))
-