X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=ly%2Finit.ly;h=7daa84929c6e578d423e4a2d353cb387874cc56d;hb=5bda83c627e32877f868473e09a28d0bc3c9a2f3;hp=684ea14e454731243e8febedfaf292ca3182e304;hpb=2d28acb86f2e7b162dbdfa94b38544e3319f5a42;p=lilypond.git diff --git a/ly/init.ly b/ly/init.ly index 684ea14e45..7daa84929c 100644 --- a/ly/init.ly +++ b/ly/init.ly @@ -4,43 +4,20 @@ #(if (and #t (defined? 'set-debug-cell-accesses!)) (set-debug-cell-accesses! 5000)) -\version "2.15.18" +\version "2.16.0" -#(if (not (pair? lilypond-declarations)) - (ly:parser-include-string parser - "\\include \"declarations-init.ly\"")) +#(session-initialize + (lambda () + ;; we can't use ly:parser-include-string here since that does not + ;; actually do any parsing but merely switches inputs, so the + ;; session saved by the session initializer after calling this + ;; function has not actually started. A parser clone, in contrast, + ;; can run and complete synchronously and shares the module with + ;; the current parser. + (ly:parser-parse-string (ly:parser-clone parser) + "\\include \"declarations-init.ly\""))) -%% We need to save the variables of the current module along with -%% their values: functions defined in the module might refer to the -%% variables - -#(if lilypond-declarations - (if (pair? lilypond-declarations) - (begin - (for-each - (lambda (p) - (let ((var (cadr p)) - (val (cddr p))) - (variable-set! var - (if (ly:output-def? val) - (ly:output-def-clone val) - val)) - (module-add! (current-module) (car p) var))) - lilypond-declarations) - (note-names-language parser default-language)) - (module-for-each - (lambda (s v) - (let ((val (variable-ref v))) - (if (not (ly:lily-parser? val)) - (set! lilypond-declarations - (cons - (cons* - s v - (if (ly:output-def? val) - (ly:output-def-clone val) - val)) - lilypond-declarations))))) - (current-module)))) +#(note-names-language parser default-language) #(ly:set-option 'old-relative #f) #(define toplevel-scores (list))