X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdocumentation-lib.scm;h=0c9a1f117b37cadb1f7876f40a7e7516f654aed7;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=659a21a1a912d2f04cd046166312a7f41fa81375;hpb=4a60b26082260e2fd1cf35414185b2755402a945;p=lilypond.git diff --git a/scm/documentation-lib.scm b/scm/documentation-lib.scm index 659a21a1a9..0c9a1f117b 100644 --- a/scm/documentation-lib.scm +++ b/scm/documentation-lib.scm @@ -3,7 +3,7 @@ ;;;; ;;;; source file of the GNU LilyPond music typesetter ;;;; -;;;; (c) 2000--2007 Han-Wen Nienhuys +;;;; (c) 2000--2008 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen (use-modules (oop goops) @@ -11,6 +11,7 @@ (srfi srfi-1)) (define-class () + (appendix #:init-value #f #:accessor appendix? #:init-keyword #:appendix) (children #:init-value '() #:accessor node-children #:init-keyword #:children) (text #:init-value "" #:accessor node-text #:init-keyword #:text) (name #:init-value "" #:accessor node-name #:init-keyword #:name) @@ -21,13 +22,16 @@ (node-name x) (node-desc x))) -(define (dump-node node port level) +(define* (dump-node node port level) (display (string-append "\n@node " - (node-name node) - "\n\n" - (texi-section-command level) " " + (if (= level 0) "Top" (node-name node)) + "\n" + (if (appendix? node) + (texi-appendix-section-command level) + (texi-section-command level)) + " " (node-name node) "\n\n" (node-text node) @@ -61,10 +65,18 @@ (0 . "@top") (1 . "@chapter") (2 . "@section") - (3 . "@unnumberedsubsec") + (3 . "@subsection") (4 . "@unnumberedsubsubsec") (5 . "@unnumberedsubsubsec"))))) +(define (texi-appendix-section-command level) + (cdr (assoc level '((0 . "@top") + (1 . "@appendix") + (2 . "@appendixsec") + (3 . "@appendixsubsec") + (4 . "@appendixsubsubsec") + (5 . "@appendixsubsubsec"))))) + (define (one-item->texi label-desc-pair) "Document one (LABEL . DESC); return empty string if LABEL is empty string." (if (eq? (car label-desc-pair) "")