X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdocumentation-lib.scm;h=a033186067d998e51af075c695b9ce2fcaae7ec3;hb=0e13fe23a0698ae81b9e618b15841b8a88919ed7;hp=79da938b6b34e08443195f5548950d2e742800d4;hpb=a4299bffa02ef189c2d8c04b1142df40cf97d006;p=lilypond.git diff --git a/scm/documentation-lib.scm b/scm/documentation-lib.scm index 79da938b6b..a033186067 100644 --- a/scm/documentation-lib.scm +++ b/scm/documentation-lib.scm @@ -1,10 +1,20 @@ +;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; documentation-lib.scm -- Assorted Functions for generated documentation +;;;; Copyright (C) 2000--2011 Han-Wen Nienhuys +;;;; Jan Nieuwenhuizen ;;;; -;;;; source file of the GNU LilyPond music typesetter +;;;; LilyPond is free software: you can redistribute it and/or modify +;;;; it under the terms of the GNU General Public License as published by +;;;; the Free Software Foundation, either version 3 of the License, or +;;;; (at your option) any later version. ;;;; -;;;; (c) 2000--2009 Han-Wen Nienhuys -;;;; Jan Nieuwenhuizen +;;;; LilyPond is distributed in the hope that it will be useful, +;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;;; GNU General Public License for more details. +;;;; +;;;; You should have received a copy of the GNU General Public License +;;;; along with LilyPond. If not, see . (use-modules (oop goops) (srfi srfi-13) @@ -46,7 +56,7 @@ (node-children node))) (define (processing name) - (ly:message (_ "Processing ~S...") name)) + (ly:basic-progress (_ "Processing ~S...") name)) (define (self-evaluating? x) (or (number? x) (string? x) (procedure? x) (boolean? x))) @@ -61,7 +71,7 @@ (define (texi-section-command level) (assoc-get level '( - ;; Hmm, texinfo doesn't have ``part'' + ;; Hmm, texinfo doesn't have ``part'' (0 . "@top") (1 . "@chapter") (2 . "@section") @@ -71,7 +81,7 @@ (define (texi-appendix-section-command level) (assoc-get level '((0 . "@top") - (1 . "@appendix") + (1 . "@appendix") (2 . "@appendixsec") (3 . "@appendixsubsec") (4 . "@appendixsubsubsec") @@ -149,7 +159,7 @@ string-to-use). If QUOTE? is #t, embed table in a @quotation environment." name) (define (ref-ify x) - "Return @ref{X}. If mapping ref-ify to a list that needs to be sorted, + "Return @ref{X}. If mapping ref-ify to a list that needs to be sorted, sort the list first." (string-append "@ref{" x "}")) @@ -165,10 +175,21 @@ string-to-use). If QUOTE? is #t, embed table in a @quotation environment." (define (writing-wip x) (ly:message (_ "Writing ~S...") x)) +(define (identifierstring (car a)) + (symbol->string (car b)))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; property stuff. +(define (verify-type-name where sym type) + (if (eq? type #f) + (ly:error (_ "cannot find description for property `~S' (~S)") + sym + where)) + (type-name type)) + (define (property->texi where sym . rest) "Document SYM for WHERE (which can be translation, backend, music), with init values from ALIST (1st optional argument) @@ -180,9 +201,9 @@ with init values from ALIST (1st optional argument) (doc-name (string->symbol (string-append (symbol->string where) "-doc"))) (type (object-property sym type?-name)) - (typename (type-name type)) + (typename (verify-type-name where sym type)) (desc (object-property sym doc-name)) - (handle (assoc sym alist))) + (init-value (assoc-get sym alist))) (if (eq? desc #f) (ly:error (_ "cannot find description for property ~S (~S)") sym where)) @@ -190,10 +211,10 @@ with init values from ALIST (1st optional argument) (cons (string-append "@code{" name "} " "(" typename ")" - (if handle + (if init-value (string-append ":\n\n" - (scm->texi (cdr handle)) + (scm->texi init-value) "\n\n") "")) desc)))