]> git.donarmstrong.com Git - lilypond.git/blob - scm/safe-lily.scm
Merge master into nested-bookparts
[lilypond.git] / scm / safe-lily.scm
1 ;;;; safe-lily.scm -- 
2 ;;;;
3 ;;;; source file of the GNU LilyPond music typesetter
4 ;;;; 
5 ;;;; (c) 2004--2007 Han-Wen Nienhuys <hanwen@xs4all.nl>
6
7 (map
8  (lambda (sym)
9    (set! safe-objects (cons (cons sym (primitive-eval sym))
10                             safe-objects)))
11  '(ly:add-interface
12    ly:moment-add
13    ly:all-grob-interfaces
14    ly:all-output-backend-commands
15    ly:all-stencil-expressions
16    ly:bracket
17    ly:context-find
18    ly:context-id
19    ly:context-name
20    ly:context-parent
21    ly:context-property
22    ly:context-property-where-defined
23    ly:context-pushpop-property
24    ly:context-set-property!
25    ly:context-unset-property
26    ly:context?
27    ly:dimension?
28    ly:dir?
29    ly:moment-div
30    ly:duration-dot-count
31    ly:duration-factor
32    ly:duration-log
33    ly:duration<?
34    ly:duration?
35    ly:error
36    ly:export
37    ly:font-get-glyph
38    ly:font-design-size
39    ly:font-file-name
40    ly:font-magnification
41    ly:font-metric?
42    ly:font-name
43    ly:format-output
44    ly:get-all-function-documentation
45    ly:get-all-translators
46    ly:get-glyph
47    ly:get-option
48    ly:grob-alist-chain
49    ly:grob-default-font
50    ly:grob-extent
51    ly:grob-original
52    ly:grob-layout
53    ly:grob-parent
54    ly:grob-property
55    ly:grob-script-priority-less
56    ly:grob-set-property!
57    ly:grob-staff-position
58    ly:grob-suicide!
59    ly:grob-system
60    ly:grob-translate-axis!
61    ly:grob?
62    ly:input-file-line-char-column
63    ly:input-location?
64    ly:input-message
65    ly:intlog2
66    ly:item-break-dir
67    ly:item?
68    ly:iterator?
69    ly:make-music
70    ly:make-duration
71    ly:make-moment
72    ly:make-music-function
73    ly:make-pitch
74    ly:make-stencil
75    ly:moment<?
76    ly:moment?
77    ly:moment-mul
78    ly:music-compress
79    ly:music-deep-copy
80    ly:music-duration-compress
81    ly:music-duration-length
82    ly:music-length
83    ly:music-list?
84    ly:music-mutable-properties
85    ly:music-property
86    ly:make-score
87    ly:music-set-property!
88    ly:music-transpose
89    ly:music?
90    ly:lily-parser?
91    ly:message
92    ly:number->string
93    ly:option-usage
94    ly:output-def-clone
95    ly:output-def-lookup
96    ly:output-def-scope
97    ly:output-description
98    ly:paper-book?
99    ly:prob-property
100    ly:output-def?
101    ly:paper-get-font
102    ly:paper-get-number
103    ly:paper-system?
104    ly:parser-parse-string
105    ly:pitch-alteration
106    ly:pitch-diff
107    ly:pitch-notename
108    ly:pitch-octave
109    ly:pitch-quartertones
110    ly:pitch-semitones
111    ly:pitch-steps
112    ly:pitch-transpose
113    ly:pitch<?
114    ly:pitch?
115    ly:position-on-line?
116    ly:round-filled-box
117    ly:run-translator
118    ly:set-option
119    ly:set-point-and-click
120    ly:spanner-broken-into
121    ly:spanner-bound
122    ly:spanner?
123    ly:staff-symbol-line-thickness
124    ly:stencil-add
125    ly:stencil-aligned-to
126    ly:stencil-combine-at-edge
127    ly:stencil-expr
128    ly:stencil-extent
129    ly:stencil-translate
130    ly:stencil-translate-axis
131    ly:stencil?
132    ly:text-dimension
133    ly:translator-description
134    ly:translator-name
135    ly:translator?
136    ly:transpose-key-alist
137    ly:unit
138    ly:usage
139    ly:version
140    ly:warning
141
142    ;; FIXME: cannot change staff size in --safe-mode
143    ;;$defaultpaper
144    ;;$defaultmidi
145    ;;$defaultlayout
146
147    ly:accidental-interface::print
148    ly:ambitus::print
149    ly:arpeggio::print
150    ly:arpeggio::brew-chord-bracket
151    ly:bar-line::print
152    ly:breathing-sign::offset-callback
153    ly:clef::print
154    ly:cluster::print
155    ly:cluster-beacon::height
156    ly:custos::print
157    ly:dots::print
158    ly:hairpin::print
159    ly:hara-kiri-group-spanner::force-hara-kiri-callback
160    ly:hara-kiri-group-spanner::y-extent
161    ly:horizontal-bracket::print
162    ly:lyric-hyphen::print
163    ly:lyric-hyphen::set-spacing-rods
164    ly:key-signature-interface::print
165    ly:line-spanner::print
166    ly:lyric-extender::print
167    ly:measure-grouping::print
168    ly:mensural-ligature::brew-ligature-primitive
169    ly:mensural-ligature::print
170    ly:multi-measure-rest::percent
171    ly:multi-measure-rest::print
172    ly:multi-measure-rest::set-spacing-rods
173    ly:note-head::print
174 ;;   ly:note-head::brew-ez-stencil
175    ly:ottava-bracket::print
176    ly:paper-column::print
177    ly:percent-repeat-item-interface::beat-slash
178    ly:percent-repeat-item-interface::double-percent
179    ly:piano-pedal-bracket::print
180    ly:rest::print
181    ly:script-interface::print
182    ly:slur::height
183    ly:slur::print
184    ly:spacing-spanner::set-springs
185    ly:span-bar::print
186    ly:spanner::set-spacing-rods
187    ly:staff-symbol::print
188    ly:staff-symbol-referencer::callback
189    ly:stem::height
190    ly:stem::offset-callback
191    ly:stem::print
192    ly:stem-tremolo::height
193    ly:stem-tremolo::print
194    ly:sustain-pedal::print
195    ly:system-start-delimiter::print
196    ly:text-interface::print
197    ly:tie::print
198    ly:time-signature::print
199    ly:tuplet-bracket::print
200    ly:vaticana-ligature::brew-ligature-primitive
201    ly:vaticana-ligature::print
202    ly:volta-bracket-interface::print
203    ))
204
205 (define-public (make-safe-lilypond-module)
206   (let* ((m (make-safe-module)))
207     (for-each (lambda (p) (module-define! m (car p) (cdr p))) safe-objects)
208     m))