]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/safe-lily.scm
*** empty log message ***
[lilypond.git] / scm / safe-lily.scm
index bcd9a41fa4622c111bf4b60a32da80ac209c9893..1c33c06ba37e1431cffc71f9870d2c57a96dbb04 100644 (file)
@@ -1,11 +1,18 @@
+;;;; 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: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:paper-get-font
      ly:paper-get-number
-     ly:paper-line-break-score
-     ly:paper-line-height
-     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:pitch-transpose
      ly:pitch<?
      ly:pitch?
-     ly:ragged-page-breaks
      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
+     ;;$defaultbookpaper
+     ;;$defaultmidi
+     ;;$defaultpaper
+
      ;; 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
+     set-start-grace-properties
+     set-stop-grace-properties
 
      Accidental_interface::after_line_breaking
      Accidental_interface::print
      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))
-