+#(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\"")))