1 ;;;; This file is part of LilyPond, the GNU music typesetter.
3 ;;;; Copyright (C) 2004--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
5 ;;;; LilyPond is free software: you can redistribute it and/or modify
6 ;;;; it under the terms of the GNU General Public License as published by
7 ;;;; the Free Software Foundation, either version 3 of the License, or
8 ;;;; (at your option) any later version.
10 ;;;; LilyPond is distributed in the hope that it will be useful,
11 ;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 ;;;; GNU General Public License for more details.
15 ;;;; You should have received a copy of the GNU General Public License
16 ;;;; along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
20 (set! safe-objects (cons (cons sym (primitive-eval sym))
24 ly:all-grob-interfaces
25 ly:all-output-backend-commands
26 ly:all-stencil-expressions
33 ly:context-property-where-defined
34 ly:context-pushpop-property
35 ly:context-set-property!
36 ly:context-unset-property
55 ly:get-all-function-documentation
56 ly:get-all-translators
66 ly:grob-script-priority-less
68 ly:grob-staff-position
71 ly:grob-translate-axis!
73 ly:input-file-line-char-column
83 ly:make-music-function
91 ly:music-duration-compress
92 ly:music-duration-length
95 ly:music-mutable-properties
98 ly:music-set-property!
108 ly:output-description
115 ly:parser-parse-string
120 ly:pitch-quartertones
130 ly:spanner-broken-into
133 ly:staff-symbol-line-thickness
135 ly:stencil-aligned-to
136 ly:stencil-combine-at-edge
140 ly:stencil-translate-axis
143 ly:translator-description
146 ly:transpose-key-alist
152 ;; FIXME: cannot change staff size in --safe-mode
157 ly:accidental-interface::print
159 ly:arpeggio::brew-chord-bracket
161 ly:breathing-sign::offset-callback
164 ly:cluster-beacon::height
168 ly:hara-kiri-group-spanner::force-hara-kiri-callback
169 ly:hara-kiri-group-spanner::y-extent
170 ly:horizontal-bracket::print
171 ly:lyric-hyphen::print
172 ly:lyric-hyphen::set-spacing-rods
173 ly:key-signature-interface::print
174 ly:line-spanner::print
175 ly:lyric-extender::print
176 ly:measure-grouping::print
177 ly:mensural-ligature::brew-ligature-primitive
178 ly:mensural-ligature::print
179 ly:multi-measure-rest::percent
180 ly:multi-measure-rest::print
181 ly:multi-measure-rest::set-spacing-rods
183 ly:ottava-bracket::print
184 ly:paper-column::print
185 ly:percent-repeat-item-interface::beat-slash
186 ly:percent-repeat-item-interface::double-percent
187 ly:piano-pedal-bracket::print
189 ly:script-interface::print
192 ly:spacing-spanner::set-springs
194 ly:spanner::set-spacing-rods
195 ly:staff-symbol::print
196 ly:staff-symbol-referencer::callback
198 ly:stem::offset-callback
200 ly:stem-tremolo::height
201 ly:stem-tremolo::print
202 ly:sustain-pedal::print
203 ly:system-start-delimiter::print
204 ly:text-interface::print
206 ly:time-signature::print
207 ly:tuplet-bracket::print
208 ly:vaticana-ligature::brew-ligature-primitive
209 ly:vaticana-ligature::print
210 ly:volta-bracket-interface::print
213 (define-public (make-safe-lilypond-module)
214 (let* ((m (make-safe-module)))
215 (for-each (lambda (p) (module-define! m (car p) (cdr p))) safe-objects)