#(if (and #t (defined? 'set-debug-cell-accesses!))
(set-debug-cell-accesses! 5000))
-\version "2.15.35"
+\version "2.16.0"
-#(if (not (ly:undead? 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 (ly:undead? 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)))
- (ly:get-undead lilypond-declarations))
- (note-names-language parser default-language))
- (let ((decl '()))
- (module-for-each
- (lambda (s v)
- (let ((val (variable-ref v)))
- (if (not (ly:lily-parser? val))
- (set! decl
- (cons
- (cons*
- s v
- (if (ly:output-def? val)
- (ly:output-def-clone val)
- val))
- decl)))))
- (current-module))
- (set! lilypond-declarations (ly:make-undead decl)))))
+#(note-names-language parser default-language)
#(ly:set-option 'old-relative #f)
+#(define location #f)
#(define toplevel-scores (list))
#(define toplevel-bookparts (list))
#(define $defaultheader #f)