blob: 394b122f3168a0b4f2b2880ba6500fa4029a8fe7 (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
%% Toplevel initialisation file.
%% switch on debugging.
#(if (and #t (defined? 'set-debug-cell-accesses!))
(set-debug-cell-accesses! 5000))
\version "2.19.22"
#(if (guile-v2)
(use-modules (ice-9 curried-definitions)))
#(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)
"\\include \"declarations-init.ly\"")))
#(note-names-language default-language)
#(define toplevel-scores (list))
#(define toplevel-bookparts (list))
#(define $defaultheader #f)
#(define $current-book #f)
#(define $current-bookpart #f)
#(define version-seen #f)
#(define expect-error #f)
#(define output-empty-score-list #f)
#(define output-suffix #f)
#(use-modules (scm clip-region))
#(use-modules (srfi srfi-1))
#(use-modules (ice-9 pretty-print))
$(if (ly:get-option 'include-settings)
(ly:parser-include-string
(format #f "\\include \"~a\"" (ly:get-option 'include-settings))))
\maininput
%% there is a problem at the end of the input file
%%
%% Above and below comments compensate for the parser's look-ahead.
%%
#(if (and (not version-seen)
(defined? 'input-file-name))
(version-not-seen-message input-file-name))
#(ly:set-option 'protected-scheme-parsing #f)
#(let ((book-handler (if (defined? 'default-toplevel-book-handler)
default-toplevel-book-handler
toplevel-book-handler)))
(cond ((pair? toplevel-bookparts)
(let ((book (ly:make-book $defaultpaper $defaultheader)))
(for-each (lambda (part)
(ly:book-add-bookpart! book part))
(reverse! toplevel-bookparts))
(set! toplevel-bookparts (list))
;; if scores have been defined after the last explicit \bookpart:
(if (pair? toplevel-scores)
(for-each (lambda (score)
(ly:book-add-score! book score))
(reverse! toplevel-scores)))
(set! toplevel-scores (list))
(book-handler book)))
((or (pair? toplevel-scores) output-empty-score-list)
(let ((book (apply ly:make-book $defaultpaper
$defaultheader toplevel-scores)))
(set! toplevel-scores (list))
(book-handler book)))))
#(if (eq? expect-error (ly:parser-has-error?))
(ly:parser-clear-error)
(if expect-error
(ly:parser-error (_ "expected error, but none found"))))
|