X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fsafe-lily.scm;h=f3e0b98280f59007855c184002443cd10a47441f;hb=HEAD;hp=5baaf1c8b7f458a22018651332f597e68b6eca37;hpb=65be52562bbf547e4083de5779f4ed0978aa8383;p=lilypond.git diff --git a/scm/safe-lily.scm b/scm/safe-lily.scm index 5baaf1c8b7..f3e0b98280 100644 --- a/scm/safe-lily.scm +++ b/scm/safe-lily.scm @@ -1,289 +1,212 @@ -;;;; safe-lily.scm -- +;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; source file of the GNU LilyPond music typesetter -;;;; -;;;; (c) 2004 Han-Wen Nienhuys - -(define safe-objects - (map - (lambda (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 - ly:context-name - ly:context-parent - ly:context-property - ly:context-property-where-defined - ly:context-pushpop-property - ly:context-set-property! - ly:context-unset-property - ly:context? - ly:dimension? - ly:dir? - ly:div-moment - ly:duration-dot-count - ly:duration-factor - ly:duration-log - ly:durationstring - ly:option-usage - ly:output-def-clone - ly:output-def-scope - ly:output-description - ly:paper-book? - ly:layout-def? - ly:paper-get-font - ly:paper-get-number - ly:paper-system-break-before-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:parser-print-score - ly:pitch-alteration - ly:pitch-diff - ly:pitch-notename - ly:pitch-octave - ly:pitch-quartertones - ly:pitch-semitones - ly:pitch-steps - ly:pitch-transpose - ly:pitch +;;;; +;;;; LilyPond is free software: you can redistribute it and/or modify +;;;; it under the terms of the GNU General Public License as published by +;;;; the Free Software Foundation, either version 3 of the License, or +;;;; (at your option) any later version. +;;;; +;;;; LilyPond is distributed in the hope that it will be useful, +;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;;; GNU General Public License for more details. +;;;; +;;;; You should have received a copy of the GNU General Public License +;;;; along with LilyPond. If not, see . - ;; need these for parsing init files: - ;; 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 +(for-each + (lambda (sym) + (set! safe-objects (cons (cons sym (primitive-eval sym)) + safe-objects))) + '(ly:add-interface + ly:moment-add + ly:all-grob-interfaces + ly:all-output-backend-commands + ly:all-stencil-expressions + ly:bracket + ly:context-find + ly:context-id + ly:context-name + ly:context-parent + ly:context-property + ly:context-property-where-defined + ly:context-pushpop-property + ly:context-set-property! + ly:context-unset-property + ly:context? + ly:dimension? + ly:dir? + ly:moment-div + ly:duration-dot-count + ly:duration-factor + ly:duration-log + ly:duration-scale + ly:durationstring + ly:option-usage + ly:output-def-clone + ly:output-def-lookup + ly:output-def-scope + ly:output-description + ly:paper-book? + ly:prob-property + ly:output-def? + ly:paper-get-font + ly:paper-get-number + ly:paper-system? + ly:parser-parse-string + ly:pitch-alteration + ly:pitch-diff + ly:pitch-notename + ly:pitch-octave + ly:pitch-quartertones + ly:pitch-semitones + ly:pitch-steps + ly:pitch-transpose + ly:pitchhash-table - chord-name->german-markup - context-spec-music - default-chord-modifier-list - make-articulation - make-event-chord - make-music - make-penalty-music - make-span-event - make-voice-props-revert - make-voice-props-set - note-name->german-markup - sequential-music-to-chord-exceptions - set-default-paper-size - set-part-combine-listener + ;; FIXME: cannot change staff size in --safe-mode + ;;$defaultpaper + ;;$defaultmidi + ;;$defaultlayout - Accidental_interface::after_line_breaking - Accidental_interface::print - Ambitus::print - Arpeggio::print - Arpeggio::brew_chord_bracket - Arpeggio::width_callback - Axis_group_interface::group_extent_callback - Bar_line::before_line_breaking - Bar_line::get_staff_bar_size - Bar_line::print - Beam::after_line_breaking - Beam::before_line_breaking - Beam::check_concave - Beam::least_squares - Beam::print - Beam::quanting - Beam::shift_region_to_valid - Beam::slope_damping - Beam::space_function - Break_align_interface::alignment_callback - Breathing_sign::offset_callback - Chord_name::after_line_breaking - Clef::before_line_breaking - Clef::print - Cluster::print - Cluster_beacon::height - Custos::print - Dot_column::side_position - Dots::print - Hairpin::print - Hara_kiri_group_spanner::force_hara_kiri_callback - Hara_kiri_group_spanner::y_extent - Horizontal_bracket::print - Hyphen_spanner::print - Hyphen_spanner::set_spacing_rods - Key_signature_interface::print - Line_spanner::after_line_breaking - Line_spanner::print - Lyric_extender::print - Measure_grouping::print - Mensural_ligature::brew_ligature_primitive - Mensural_ligature::print - Multi_measure_rest::percent - Multi_measure_rest::print - Multi_measure_rest::set_spacing_rods - Note_head::print - Note_head::brew_ez_stencil - Ottava_bracket::print - Paper_column::before_line_breaking - Paper_column::print - Percent_repeat_item_interface::beat_slash - Percent_repeat_item_interface::double_percent - Piano_pedal_bracket::print - Rest::after_line_breaking - Rest::extent_callback - Rest::polyphonic_offset_callback - Rest::print - Script_column::before_line_breaking - Script_interface::before_line_breaking - Script_interface::print - Self_alignment_interface::aligned_on_parent - Self_alignment_interface::aligned_on_self - Self_alignment_interface::centered_on_other_axis_parent - Self_alignment_interface::centered_on_parent - Separating_group_spanner::set_spacing_rods - Side_position_interface::aligned_on_support_refpoints - Side_position_interface::aligned_side - Slur::after_line_breaking - Slur::height - Slur::print - Spacing_spanner::set_springs - Span_bar::before_line_breaking - Span_bar::get_bar_size - Span_bar::print - Span_bar::width_callback - Spanner::set_spacing_rods - Staff_symbol::print - Staff_symbol_referencer::callback - Stem::before_line_breaking - Stem::dim_callback - Stem::height - Stem::off_callback - Stem::print - Stem_tremolo::height - Stem_tremolo::print - Sustain_pedal::print - System_start_delimiter::after_line_breaking - System_start_delimiter::print - Text_interface::print - Text_spanner::print - Tie::print - Tie_column::after_line_breaking - Time_signature::print - Tuplet_bracket::after_line_breaking - Tuplet_bracket::before_line_breaking - Tuplet_bracket::print - Vaticana_ligature::brew_ligature_primitive - Vaticana_ligature::print - Volta_bracket_interface::print - ))) + ly:accidental-interface::print + ly:arpeggio::print + ly:arpeggio::brew-chord-bracket + ly:bar-line::print + ly:breathing-sign::offset-callback + ly:clef::print + ly:cluster::print + ly:cluster-beacon::height + ly:custos::print + ly:dots::print + ly:hairpin::print + ly:hara-kiri-group-spanner::force-hara-kiri-callback + ly:hara-kiri-group-spanner::y-extent + ly:horizontal-bracket::print + ly:lyric-hyphen::print + ly:lyric-hyphen::set-spacing-rods + ly:key-signature-interface::print + ly:line-spanner::print + ly:lyric-extender::print + ly:measure-grouping::print + ly:mensural-ligature::brew-ligature-primitive + ly:mensural-ligature::print + ly:multi-measure-rest::percent + ly:multi-measure-rest::print + ly:multi-measure-rest::set-spacing-rods + ly:note-head::print + ly:ottava-bracket::print + ly:paper-column::print + ly:percent-repeat-item-interface::beat-slash + ly:percent-repeat-item-interface::double-percent + ly:piano-pedal-bracket::print + ly:rest::print + ly:script-interface::print + ly:slur::height + ly:slur::print + ly:spacing-spanner::set-springs + ly:span-bar::print + ly:spanner::set-spacing-rods + ly:staff-symbol::print + ly:staff-symbol-referencer::callback + ly:stem::height + ly:stem::offset-callback + ly:stem::print + ly:stem-tremolo::print + ly:sustain-pedal::print + ly:system-start-delimiter::print + ly:text-interface::print + ly:tie::print + ly:time-signature::print + ly:tuplet-bracket::print + ly:vaticana-ligature::brew-ligature-primitive + ly:vaticana-ligature::print + ly:volta-bracket-interface::print + )) (define-public (make-safe-lilypond-module) (let* ((m (make-safe-module)))