]> git.donarmstrong.com Git - lilypond.git/blob - scm/safe-lily.scm
* Documentation/user/changing-defaults.itely (Creating contexts):
[lilypond.git] / scm / safe-lily.scm
1 (define safe-objects
2   
3   (map
4    (lambda (sym)
5      (cons sym (primitive-eval sym))) 
6    '(ly:add-interface
7      ly:add-moment
8      ly:all-grob-interfaces
9      ly:bracket
10      ly:context-find
11      ly:context-id
12      ly:context-name
13      ly:context-parent
14      ly:context-property
15      ly:context-property-where-defined
16      ly:context-pushpop-property
17      ly:context-set-property!
18      ly:context-unset-property
19      ly:context?
20      ly:dimension?
21      ly:dir?
22      ly:div-moment
23      ly:duration-dot-count
24      ly:duration-factor
25      ly:duration-log
26      ly:duration<?
27      ly:duration?
28      ly:export
29      ly:find-glyph-by-name
30      ly:font-design-size
31      ly:font-encoding-alist
32      ly:font-filename
33      ly:font-magnification
34      ly:font-metric?
35      ly:font-name
36      ly:format-output
37      ly:get-all-function-documentation
38      ly:get-all-translators
39      ly:get-default-font
40      ly:get-glyph
41      ly:get-option
42      ly:grob-alist-chain
43      ly:grob-extent
44      ly:grob-original
45      ly:grob-paper
46      ly:grob-parent
47      ly:grob-pq-less?
48      ly:grob-property
49      ly:grob-script-priority-less
50      ly:grob-set-property!
51      ly:grob-staff-position
52      ly:grob-suicide
53      ly:grob-system
54      ly:grob-translate-axis!
55      ly:grob?
56      ly:input-location
57      ly:input-location?
58      ly:input-message
59      ly:intlog2
60      ly:item-break-dir
61      ly:item?
62      ly:iterator?
63      ly:make-bare-music
64      ly:make-duration
65      ly:make-moment
66      ly:make-music-function
67      ly:make-pitch
68      ly:make-stencil
69      ly:moment<?
70      ly:moment?
71      ly:mul-moment
72      ly:music-compress
73      ly:music-deep-copy
74      ly:music-duration-compress
75      ly:music-duration-length
76      ly:music-length
77      ly:music-list?
78      ly:music-mutable-properties
79      ly:music-name
80      ly:music-property
81      ly:music-scorify
82      ly:music-set-property!
83      ly:music-transpose
84      ly:music?
85      ly:my-lily-parser?
86      ly:number->string
87      ly:option-usage
88      ly:output-def-clone
89      ly:output-def-scope
90      ly:output-description
91      ly:page-header-lines-footer-stencil
92      ly:page-paper-lines
93      ly:page?
94      ly:paper-book?
95      ly:paper-def?
96      ly:paper-get-font
97      ly:paper-get-number
98      ly:paper-line-break-penalty
99      ly:paper-line-extent
100      ly:paper-line-number
101      ly:paper-line-stencil
102      ly:paper-line?
103      ly:output-def-lookup
104      ly:parse-string
105      ly:parser-parse-string
106      ly:parser-print-book
107      ly:parser-print-score
108      ly:pitch-alteration
109      ly:pitch-diff
110      ly:pitch-notename
111      ly:pitch-octave
112      ly:pitch-quartertones
113      ly:pitch-semitones
114      ly:pitch-steps
115      ly:pitch-transpose
116      ly:pitch<?
117      ly:pitch?
118      ly:ragged-page-breaks
119      ly:round-filled-box
120      ly:run-translator
121      ly:set-option
122      ly:score-bookify
123      ly:set-point-and-click
124      ly:spanner-broken-into
125      ly:spanner-get-bound
126      ly:spanner?
127      ly:stencil-add
128      ly:stencil-align-to!
129      ly:stencil-combine-at-edge
130      ly:stencil-expr
131      ly:stencil-extent
132      ly:stencil-moved-to-edge
133      ly:stencil-set-extent!
134      ly:stencil-translate
135      ly:stencil-translate-axis
136      ly:stencil?
137      ly:text-dimension
138      ly:translator-description
139      ly:translator-name
140      ly:translator?
141      ly:transpose-key-alist
142      ly:unit
143      ly:version
144      ly:warn
145
146      ;; need these for parsing init files:
147      ;; todo: should have a macro define-safe-public 
148      DOUBLE-FLAT 
149      THREE-Q-FLAT 
150      FLAT 
151      SEMI-FLAT 
152      NATURAL 
153      SEMI-SHARP 
154      SHARP 
155      THREE-Q-SHARP
156      DOUBLE-SHARP
157      SEMI-TONE
158      START
159      STOP
160      alist->hash-table
161      default-chord-modifier-list
162      sequential-music-to-chord-exceptions
163      make-music
164      make-articulation
165      make-event-chord
166      make-penalty-music
167      make-span-event
168      set-start-grace-properties
169      set-stop-grace-properties
170      set-default-paper-size
171      set-part-combine-listener
172      context-spec-music
173      make-voice-props-revert
174      make-voice-props-set
175      chord-name->german-markup
176      note-name->german-markup
177      default-toplevel-music-handler
178      default-toplevel-book-handler
179      default-toplevel-score-handler
180
181      Accidental_interface::after_line_breaking
182      Accidental_interface::print
183      Ambitus::print
184      Arpeggio::print
185      Arpeggio::brew_chord_bracket
186      Arpeggio::width_callback
187      Axis_group_interface::group_extent_callback
188      Bar_line::before_line_breaking
189      Bar_line::get_staff_bar_size
190      Bar_line::print
191      Beam::after_line_breaking
192      Beam::before_line_breaking
193      Beam::check_concave
194      Beam::least_squares
195      Beam::print
196      Beam::quanting
197      Beam::shift_region_to_valid
198      Beam::slope_damping
199      Beam::space_function
200      Break_align_interface::alignment_callback
201      Breathing_sign::offset_callback
202      Chord_name::after_line_breaking
203      Clef::before_line_breaking
204      Clef::print
205      Cluster::print
206      Cluster_beacon::height
207      Custos::print
208      Dot_column::side_position
209      Dots::print
210      Hairpin::print
211      Hara_kiri_group_spanner::force_hara_kiri_callback
212      Hara_kiri_group_spanner::y_extent
213      Horizontal_bracket::print
214      Hyphen_spanner::print
215      Hyphen_spanner::set_spacing_rods
216      Key_signature_interface::print
217      Line_spanner::after_line_breaking
218      Line_spanner::print
219      Lyric_extender::print
220      Measure_grouping::print
221      Mensural_ligature::brew_ligature_primitive
222      Mensural_ligature::print
223      Multi_measure_rest::percent
224      Multi_measure_rest::print
225      Multi_measure_rest::set_spacing_rods
226      Note_head::extent
227      Note_head::print
228      Note_head::brew_ez_stencil
229      Ottava_bracket::print
230      Paper_column::before_line_breaking
231      Paper_column::print
232      Percent_repeat_item_interface::beat_slash
233      Percent_repeat_item_interface::double_percent
234      Piano_pedal_bracket::print
235      Rest::after_line_breaking
236      Rest::extent_callback
237      Rest::polyphonic_offset_callback
238      Rest::print
239      Script_column::before_line_breaking
240      Script_interface::before_line_breaking
241      Script_interface::print
242      Self_alignment_interface::aligned_on_parent
243      Self_alignment_interface::aligned_on_self
244      Self_alignment_interface::centered_on_other_axis_parent
245      Self_alignment_interface::centered_on_parent
246      Separating_group_spanner::set_spacing_rods
247      Side_position_interface::aligned_on_support_refpoints
248      Side_position_interface::aligned_side
249      Slur::after_line_breaking
250      Slur::height
251      Slur::print
252      Spacing_spanner::set_springs
253      Span_bar::before_line_breaking
254      Span_bar::get_bar_size
255      Span_bar::print
256      Span_bar::width_callback
257      Spanner::set_spacing_rods
258      Staff_symbol::print
259      Staff_symbol_referencer::callback
260      Stem::before_line_breaking
261      Stem::dim_callback
262      Stem::height
263      Stem::off_callback
264      Stem::print
265      Stem_tremolo::height
266      Stem_tremolo::print
267      Sustain_pedal::print
268      System_start_delimiter::after_line_breaking
269      System_start_delimiter::print
270      Text_item::print
271      Text_spanner::print
272      Tie::print
273      Tie_column::after_line_breaking
274      Time_signature::print
275      Tuplet_bracket::after_line_breaking
276      Tuplet_bracket::before_line_breaking
277      Tuplet_bracket::print
278      Vaticana_ligature::brew_ligature_primitive
279      Vaticana_ligature::print
280      Volta_bracket_interface::print
281
282
283
284      
285      )))
286
287 (define-public (make-safe-lilypond-module)
288   (let*
289       ((m (make-safe-module)))
290     (for-each
291      (lambda (p) (module-define! m (car p) (cdr p)))
292      safe-objects)
293     m))
294