]> git.donarmstrong.com Git - lilypond.git/blob - scm/safe-lily.scm
* ps/music-drawing-routines.ps: new routine: insert PDF mark
[lilypond.git] / scm / safe-lily.scm
1 ;;;; safe-lily.scm -- 
2 ;;;;
3 ;;;; source file of the GNU LilyPond music typesetter
4 ;;;; 
5 ;;;; (c)  2004 Han-Wen Nienhuys <hanwen@cs.uu.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:add-moment
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:div-moment
30    ly:duration-dot-count
31    ly:duration-factor
32    ly:duration-log
33    ly:duration<?
34    ly:duration?
35    ly:export
36    ly:font-get-glyph
37    ly:font-design-size
38    ly:font-file-name
39    ly:font-magnification
40    ly:font-metric?
41    ly:font-name
42    ly:format-output
43    ly:get-all-function-documentation
44    ly:get-all-translators
45    ly:get-default-font
46    ly:get-glyph
47    ly:get-option
48    ly:grob-alist-chain
49    ly:grob-extent
50    ly:grob-original
51    ly:grob-layout
52    ly:grob-parent
53    ly:grob-pq-less?
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-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-bare-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:mul-moment
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-name
86    ly:music-property
87    ly:music-scorify
88    ly:music-set-property!
89    ly:music-transpose
90    ly:music?
91    ly:lily-parser?
92    ly:number->string
93    ly:option-usage
94    ly:output-def-clone
95    ly:output-def-scope
96    ly:output-description
97    ly:paper-book?
98    ly:layout-def?
99    ly:paper-get-font
100    ly:paper-get-number
101    ly:paper-system-break-before-penalty
102    ly:paper-system-extent
103    ly:paper-system-number
104    ly:paper-system-stencil
105    ly:paper-system?
106    ly:output-def-lookup
107    ly:parse-string
108    ly:parser-parse-string
109    ly:parser-print-book
110    ly:parser-print-score
111    ly:pitch-alteration
112    ly:pitch-diff
113    ly:pitch-notename
114    ly:pitch-octave
115    ly:pitch-quartertones
116    ly:pitch-semitones
117    ly:pitch-steps
118    ly:pitch-transpose
119    ly:pitch<?
120    ly:pitch?
121    ly:round-filled-box
122    ly:run-translator
123    ly:set-option
124    ly:set-point-and-click
125    ly:spanner-broken-into
126    ly:spanner-get-bound
127    ly:spanner?
128    ly:stencil-add
129    ly:stencil-align-to!
130    ly:stencil-combine-at-edge
131    ly:stencil-expr
132    ly:stencil-extent
133    ly:stencil-moved-to-edge
134    ly:stencil-set-extent!
135    ly:stencil-translate
136    ly:stencil-translate-axis
137    ly:stencil?
138    ly:text-dimension
139    ly:translator-description
140    ly:translator-name
141    ly:translator?
142    ly:transpose-key-alist
143    ly:unit
144    ly:version
145    ly:warn
146
147    ;; FIXME: cannot change staff size in --safe-mode
148    ;;$defaultpaper
149    ;;$defaultmidi
150    ;;$defaultlayout
151
152    Accidental_interface::after_line_breaking
153    Accidental_interface::print
154    Ambitus::print
155    Arpeggio::print
156    Arpeggio::brew_chord_bracket
157    Arpeggio::width_callback
158    Axis_group_interface::group_extent_callback
159    Bar_line::before_line_breaking
160    Bar_line::get_staff_bar_size
161    Bar_line::print
162    Beam::after_line_breaking
163    Beam::before_line_breaking
164    Beam::check_concave
165    Beam::least_squares
166    Beam::print
167    Beam::quanting
168    Beam::shift_region_to_valid
169    Beam::slope_damping
170    Beam::space_function
171    Break_align_interface::alignment_callback
172    Breathing_sign::offset_callback
173    Chord_name::after_line_breaking
174    Clef::before_line_breaking
175    Clef::print
176    Cluster::print
177    Cluster_beacon::height
178    Custos::print
179    Dot_column::side_position
180    Dots::print
181    Hairpin::print
182    Hara_kiri_group_spanner::force_hara_kiri_callback
183    Hara_kiri_group_spanner::y_extent
184    Horizontal_bracket::print
185    Hyphen_spanner::print
186    Hyphen_spanner::set_spacing_rods
187    Key_signature_interface::print
188    Line_spanner::after_line_breaking
189    Line_spanner::print
190    Lyric_extender::print
191    Measure_grouping::print
192    Mensural_ligature::brew_ligature_primitive
193    Mensural_ligature::print
194    Multi_measure_rest::percent
195    Multi_measure_rest::print
196    Multi_measure_rest::set_spacing_rods
197    Note_head::print
198    Note_head::brew_ez_stencil
199    Ottava_bracket::print
200    Paper_column::before_line_breaking
201    Paper_column::print
202    Percent_repeat_item_interface::beat_slash
203    Percent_repeat_item_interface::double_percent
204    Piano_pedal_bracket::print
205    Rest::after_line_breaking
206    Rest::extent_callback
207    Rest::polyphonic_offset_callback
208    Rest::print
209    Script_column::before_line_breaking
210    Script_interface::before_line_breaking
211    Script_interface::print
212    Self_alignment_interface::aligned_on_parent
213    Self_alignment_interface::aligned_on_self
214    Self_alignment_interface::centered_on_other_axis_parent
215    Self_alignment_interface::centered_on_parent
216    Separating_group_spanner::set_spacing_rods
217    Side_position_interface::aligned_on_support_refpoints
218    Side_position_interface::aligned_side
219    Slur::after_line_breaking
220    Slur::height
221    Slur::print
222    Spacing_spanner::set_springs
223    Span_bar::before_line_breaking
224    Span_bar::get_bar_size
225    Span_bar::print
226    Span_bar::width_callback
227    Spanner::set_spacing_rods
228    Staff_symbol::print
229    Staff_symbol_referencer::callback
230    Stem::before_line_breaking
231    Stem::width_callback
232    Stem::height
233    Stem::offset_callback
234    Stem::print
235    Stem_tremolo::height
236    Stem_tremolo::print
237    Sustain_pedal::print
238    System_start_delimiter::after_line_breaking
239    System_start_delimiter::print
240    Text_interface::print
241    Text_spanner::print
242    Tie::print
243    Tie_column::after_line_breaking
244    Time_signature::print
245    Tuplet_bracket::after_line_breaking
246    Tuplet_bracket::before_line_breaking
247    Tuplet_bracket::print
248    Vaticana_ligature::brew_ligature_primitive
249    Vaticana_ligature::print
250    Volta_bracket_interface::print
251    ))
252
253 (define-public (make-safe-lilypond-module)
254   (let* ((m (make-safe-module)))
255     (for-each (lambda (p) (module-define! m (car p) (cdr p))) safe-objects)
256     m))