From 6ee4612fef17f4652c62a25d90a31efc208371bd Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 7 Nov 2000 22:57:22 +0100 Subject: [PATCH] patch::: 1.3.104.jcn2 1.3.104.jcn2 ============ * Separate interface description (test phase). * Makeinfo --html split fix: http://appel.lilypond.org/fred/software/texinfo-4.0.jcn2.diff * Use headers for makeinfo html output. --- CHANGES | 15 ++++++++++++ Documentation/user/GNUmakefile | 1 + Documentation/user/lilypond.tely | 4 ++-- VERSION | 2 +- scm/backend-documentation-lib.scm | 36 ++++++++++++++++++++++++---- scm/documentation-lib.scm | 15 ++++++++---- scm/generate-documentation.scm | 12 ++++++---- stepmake/stepmake/texinfo-rules.make | 2 +- 8 files changed, 70 insertions(+), 17 deletions(-) diff --git a/CHANGES b/CHANGES index 89a2775ee0..e183985b1f 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,12 @@ +1.3.104.jcn2 +============ + +* Separate interface description (test phase). + +* Makeinfo --html split fix: http://appel.lilypond.org/fred/software/texinfo-4.0.jcn2.diff + +* Use headers for makeinfo html output. + 1.3.104.jcn1 ============ @@ -2922,3 +2931,9 @@ pl 15.hwn1 pl 15.jcn4 - direct #... to scm parser (Thanks to Gary Houston) + + +# Local variables: +# mode: change-log +# left-margin: 0 +# End: diff --git a/Documentation/user/GNUmakefile b/Documentation/user/GNUmakefile index 5a8db6f264..544b7f6e57 100644 --- a/Documentation/user/GNUmakefile +++ b/Documentation/user/GNUmakefile @@ -49,6 +49,7 @@ localclean: rm -f fonts.aux fonts.log feta*.tfm feta*.*pk backdoc-WWW: $(outdir)/lilypond-internals.html + $(MAKE) footify #ugh. lily/OUT/lilypond hardcoded. # when cross-compiling, we don't have lilypond diff --git a/Documentation/user/lilypond.tely b/Documentation/user/lilypond.tely index d988d77164..71a42333d1 100644 --- a/Documentation/user/lilypond.tely +++ b/Documentation/user/lilypond.tely @@ -80,8 +80,6 @@ than the names being similar :-)" @node Top, , , (dir) @chapter GNU LilyPond --- The music typesetter -@contents - @menu * Tutorial:: A tutorial introduction to lilypond. * Invoking LilyPond:: Operation. @@ -96,6 +94,8 @@ than the names being similar :-)" * Index:: Unified index. @end menu +@contents + @macro keyindex {word} @cindex \word\ diff --git a/VERSION b/VERSION index b4d58e1246..60051929ea 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 PATCH_LEVEL=104 -MY_PATCH_LEVEL=jcn1 +MY_PATCH_LEVEL=jcn2 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/scm/backend-documentation-lib.scm b/scm/backend-documentation-lib.scm index a7d785a00d..529bac67e4 100644 --- a/scm/backend-documentation-lib.scm +++ b/scm/backend-documentation-lib.scm @@ -25,8 +25,9 @@ "not set" ) "}")))) +;; First level Interface description ;; Second level, part of element description -(define (document-interface interface element-description) +(define (document-interface level interface element-description) (let* ((name (car interface)) (desc (cadr interface)) (props (caddr interface)) @@ -35,10 +36,17 @@ props))) (string-append - (section 2 (string-append "Interface: " (symbol->string name))) + (section level (string-append (interface-name (symbol->string name)))) desc (description-list docs)))) +;; First level Interface description +(define (document-separate-interface interface) + (let ((name (car interface))) + (string-append + (node (interface-name name)) + (document-interface 2 interface '())))) + ;; First level element description (define (document-element iname description) (display (string-append "\nProcessing " iname " ... ") (current-error-port)) @@ -51,8 +59,8 @@ (name (cdr (assoc 'name meta))) (ifaces (cdr (assoc 'interface-descriptions meta))) - (ifacedoc (map (lambda (x) (document-interface x description)) - (reverse ifaces)))) + (ifacedoc (map (lambda (x) (document-interface 3 x description)) + (reverse ifaces)))) (string-append (node (element-name name)) @@ -86,3 +94,23 @@ (texi-node-menu name (map (lambda (x) (cons (element-name x) "")) names)) doc))) + +;; testin.. -- how to do this +(eval-string (ly-gulp-file "interface.scm")) +(define interface-description-alist + `( + (general-element . ,general-element-interface) + (beam . ,beam-interface) + (clef . ,clef-interface) + (slur . ,slur-interface) + )) + +(define (document-all-interfaces name) + (string-append + (texi-node-menu name (map (lambda (x) (cons (interface-name x) "")) + (map cadr interface-description-alist))) + (apply string-append + (map document-separate-interface + (map cdr interface-description-alist))))) + + diff --git a/scm/documentation-lib.scm b/scm/documentation-lib.scm index 5bc4476531..b4782af375 100644 --- a/scm/documentation-lib.scm +++ b/scm/documentation-lib.scm @@ -69,10 +69,12 @@ items-alist)) "\n@end menu\n" ;; Menus don't appear in html, so we make a list ourselves + "\n@ignore\n" "\n@ifhtml\n" (description-list (map (lambda (x) (cons (reffy (car x)) (cdr x))) items-alist)) - "\n@end ifhtml\n")) + "\n@end ifhtml\n" + "\n@end ignore\n")) (define (texi-node-menu name items-alist) @@ -83,13 +85,15 @@ (define (texi-file-head name file-name top items-alist) (string-append - "\input texinfo @c -*-texinfo-*-\n" - "@settitle " name + "\\input texinfo @c -*-texinfo-*-" "\n@setfilename " file-name ".info" + "\n@settitle " name (node "Top") top "\n@top" (section 1 name) - (texi-menu items-alist))) + (texi-menu items-alist) + "\n@contents" + )) (define (context-name name) (string-append "Context " name)) @@ -100,6 +104,9 @@ (define (element-name name) (string-append "Element " name)) +(define (interface-name name) + name) + (define (reffy x) (string-append "@ref{" x "}")) diff --git a/scm/generate-documentation.scm b/scm/generate-documentation.scm index 2971b956ec..0af8fa789a 100644 --- a/scm/generate-documentation.scm +++ b/scm/generate-documentation.scm @@ -27,12 +27,13 @@ ;; Also, copies of interfaces use up lots more space, but that's ;; functional because the default property values of the interfaces ;; are described... -(define no-copes #f) +(define no-copies #f) (let* ((doc (string-append - (document-paper "LilyPond interpretation contexts") - (document-all-engravers "LilyPond engravers") - (document-all-elements "LilyPond backend"))) + (document-paper "LilyPond interpretation contexts") + (document-all-engravers "LilyPond engravers") + (document-all-elements "LilyPond backend") + (document-all-interfaces "LilyPond interfaces"))) (name "lilypond-internals") (outname (string-append name ".texi")) (out (open-output-file outname))) @@ -46,7 +47,8 @@ "LilyPond internals" name "(lilypond.info)" '(("LilyPond interpretation contexts" . "Hierarchy and grouping of Engravers") ("LilyPond engravers" . "Engravers create Elements") - ("LilyPond backend" . "Detailed description of all Elements"))) + ("LilyPond backend" . "Detailed description of all Elements") + ("LilyPond interfaces" . "Element Interfaces"))) doc "\n@bye") diff --git a/stepmake/stepmake/texinfo-rules.make b/stepmake/stepmake/texinfo-rules.make index 796be65295..b4a7e41117 100644 --- a/stepmake/stepmake/texinfo-rules.make +++ b/stepmake/stepmake/texinfo-rules.make @@ -6,7 +6,7 @@ $(outdir)/%.info: $(outdir)/%.texi -$(MAKEINFO) --force --output=$@ $< $(outdir)/%.html: $(outdir)/%.texi - -$(MAKEINFO) --force --output=$@ --html --no-headers $< + -$(MAKEINFO) --force --output=$@ --html $< # we want footers even if website builds (or is built) partly $(footify) $@ -- 2.39.5