X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdocumentation-lib.scm;h=3a27cbbc7772fb0e4db131f246ee5955817786e7;hb=94375d04f45b415ad705fd444fdb344416f116d9;hp=30dcec73c77b7d158eb74dacbc5a09e65cccdcca;hpb=a478e5ad057eaf795f915e2b31293e947364d41d;p=lilypond.git diff --git a/scm/documentation-lib.scm b/scm/documentation-lib.scm index 30dcec73c7..3a27cbbc77 100644 --- a/scm/documentation-lib.scm +++ b/scm/documentation-lib.scm @@ -1,23 +1,11 @@ -;; +;;; ;;; documentation-lib.scm -- Assorted Functions for generated documentation ;;; ;;; source file of the GNU LilyPond music typesetter ;;; -;;; (c) 2000 Han-Wen Nienhuys +;;; (c) 2000--2001 Han-Wen Nienhuys ;;; Jan Nieuwenhuizen -(define (uniqued-alist alist acc) - (if (null? alist) acc - (if (assoc (caar alist) acc) - (uniqued-alist (cdr alist) acc) - (uniqued-alist (cdr alist) (cons (car alist) acc) - )))) - - -(define (aliststring (car x)) - (symbol->string (car y)))) - (define (processing name) (display (string-append "\nProcessing " name " ... ") (current-error-port))) @@ -71,7 +59,7 @@ Add a ref if REF is set (string-append "\n" (cdr (assoc level texi-section-alist)) " " (if ref - (string-append "@ref{" name "}") + (ref-ify name) name) "\n")) @@ -103,7 +91,7 @@ Add a ref if REF is set ;; Menus don't appear in html, so we make a list ourselves "\n@ignore\n" "\n@ifhtml\n" - (description-list->texi (map (lambda (x) (cons (reffy (car x)) (cdr x))) + (description-list->texi (map (lambda (x) (cons (ref-ify (car x)) (cdr x))) items-alist)) "\n@end ifhtml\n" "\n@end ignore\n")) @@ -123,31 +111,46 @@ Add a ref if REF is set "\n@dircategory GNU music project" "\n@direntry" ;; prepend GNU for dir, must be unique - "\n* GNU " name " (" file-name "). " name "." + "\n* GNU " name ": (" file-name "). " name "." "\n@end direntry" - (node "Top") ",(lilypond)Development,," top + ;; ugh, prev and next should be settable, of course + (node "Top") ",(lilypond)Index,(lilypond)Full Grob interface list," top "\n@top" (texi-section 1 name #f) (texi-menu items-alist) "\n@contents" )) +(define (itexi-file-head name file-name top items-alist) + (string-append + "@c -*-texinfo-*-" + (node name) ",,," top + (texi-section 1 name #f) + (texi-menu items-alist) + "\n@contents" + )) + + (define (context-name name) - (string-append "Context " name)) + name) (define (engraver-name name) name) (define (grob-name name) - (string-append "Grob " name)) + (if (symbol? name) + (symbol->string name) + name)) (define (interface-name name) name) -(define (reffy x) +(define (ref-ify x) (string-append "@ref{" x "}")) (define (human-listify l) + "Produce a textual enumeration from L, a list of strings" + (cond ((null? l) "none") ((null? (cdr l)) (car l))