]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/safe-lily.scm
* scm/lily-library.scm (char->unicode-index): New function.
[lilypond.git] / scm / safe-lily.scm
index ea9215c5d18023c3fe6f3660405cc526d219009d..417a77b453aac3896658bfc61637cd4a8a56ed06 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
@@ -29,7 +36,7 @@
      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
@@ -42,7 +49,7 @@
      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-score
-     ly:paper-line-height
-     ly:paper-line-number
-     ly:paper-line-stencil
-     ly:paper-line?
-     ly:paper-lookup
+     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:parser-print-book
      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
+     ;;$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))
-