From ea25f47460d4c37ec2f1d6ec61f8cbe3623a574e Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 10 Nov 2000 15:28:46 +0100 Subject: [PATCH] patch::: 1.3.106.jcn1 1.3.106.jcn1 ============ * Generated documentation fixes: Generate all interface descriptions, separately, don't list non-set interface properties with element descriptions. --- CHANGES | 8 ++++ VERSION | 2 +- scm/backend-documentation-lib.scm | 71 ++++++++++++++++++++++------ scm/documentation-lib.scm | 3 ++ scm/engraver-documentation-lib.scm | 3 +- scm/interface.scm | 9 ---- stepmake/stepmake/texinfo-rules.make | 2 +- 7 files changed, 71 insertions(+), 27 deletions(-) diff --git a/CHANGES b/CHANGES index ecca8a8e2d..9025bc9c5a 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,11 @@ +1.3.106.jcn1 +============ + +* Generated documentation fixes: Generate all interface descriptions, +separately, don't list non-set interface properties with element +descriptions. + + 1.3.105.jcn1 ============ diff --git a/VERSION b/VERSION index a70f97234c..b75925ac0d 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 PATCH_LEVEL=106 -MY_PATCH_LEVEL= +MY_PATCH_LEVEL=jcn1 # 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 529bac67e4..e61b2ac07b 100644 --- a/scm/backend-documentation-lib.scm +++ b/scm/backend-documentation-lib.scm @@ -9,21 +9,23 @@ ;;; This file generates documentation for the backend of lilypond. - ;; alist of property descriptions +;; when called by First level Interface description, desc == '() +;; CDR "not set" is only used for Second level Element description (define (document-element-property prop desc) (let ((handle (assoc (car prop) desc))) (cons - (string-append - "@code{" (symbol->string (car prop)) "} " - "(" (type-name (cadr prop)) "):") - (string-append - (caddr prop) - "\ndefault value: @code{" - (if (pair? handle) - (scm->string (cdr handle)) - "not set" ) - "}")))) + (string-append "@code{" (symbol->string (car prop)) "} " + "(" (type-name (cadr prop)) ")" + (if (equal? desc '()) "" ":")) + (string-append (if (equal? desc '()) + (caddr prop) + (if (pair? handle) + (string-append (caddr prop) + "\ndefault value: @code{" + (scm->string (cdr handle)) + "}") + "not set")))))) ;; First level Interface description ;; Second level, part of element description @@ -38,18 +40,25 @@ (string-append (section level (string-append (interface-name (symbol->string name)))) desc - (description-list docs)))) + + (description-list + ;; filter-out entries with CDR "not set" + (apply append + (map (lambda (x) + (if (string-match "not set" (cdr x)) '() (list x))) + docs)))))) ;; First level Interface description (define (document-separate-interface interface) (let ((name (car interface))) + (processing name) (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)) + (processing iname) (let* ((metah (assoc 'meta description)) (meta (if (pair? metah) @@ -97,14 +106,46 @@ ;; testin.. -- how to do this (eval-string (ly-gulp-file "interface.scm")) -(define interface-description-alist +(define xinterface-description-alist `( (general-element . ,general-element-interface) (beam . ,beam-interface) (clef . ,clef-interface) (slur . ,slur-interface) )) - + +;; burp, need these for running outside of LilyPond +(if #f + (begin + + (debug-enable 'backtrace) + + (define (number-pair? x) + (and (pair? x) (number? (car x)) (number? (cdr x)))) + + (define (ly-gulp-file x) "") + (define (ly-element? x) #f) + (define (ly-input-location? x) #f) + (define (dir? x) #f) + (define (moment? x) #f) + (load "lily.scm"))) + +(use-modules (ice-9 string-fun)) +(define (list-interface-names) + (let* ((text (string-append (ly-gulp-file "interface.scm") "\n(define ")) + (r (make-regexp + "\n[(](define *([a-z-]*-interface)*)*[^\n]*")) + (t (regexp-substitute/global #f r text 2 " " 'post)) + (ugh (regexp-substitute/global #f "#f *" t 'pre 'post)) + (l (separate-fields-discarding-char #\ ugh list))) + (reverse (cdr (reverse l))))) + +(eval (ly-gulp-file "interface.scm")) + +(define interface-description-alist + (map (lambda (x) (cons (string->symbol x) (eval-string x))) + (list-interface-names))) + (define (document-all-interfaces name) (string-append (texi-node-menu name (map (lambda (x) (cons (interface-name x) "")) diff --git a/scm/documentation-lib.scm b/scm/documentation-lib.scm index b4782af375..7e1648846c 100644 --- a/scm/documentation-lib.scm +++ b/scm/documentation-lib.scm @@ -13,6 +13,9 @@ (uniqued-alist (cdr alist) (cons (car alist) acc) )))) +(define (processing name) + (display (string-append "\nProcessing " name " ... ") (current-error-port))) + (define (self-evaluating? x) (or (number? x) (string? x) (procedure? x) (boolean? x))) diff --git a/scm/engraver-documentation-lib.scm b/scm/engraver-documentation-lib.scm index 7c8442f3a6..1fcc5914b3 100644 --- a/scm/engraver-documentation-lib.scm +++ b/scm/engraver-documentation-lib.scm @@ -71,6 +71,7 @@ ;; First level Engraver description (define (document-separate-engraver top description) (let ((name (car description))) + (processing name) (string-append (node (engraver-name name)) (document-engraver 2 description)))) @@ -123,7 +124,7 @@ (define (document-context top context-desc) (let ((name (cdr (assoc 'type-name context-desc))) (doc (context-doc-string context-desc))) - + (processing name) (string-append (node (context-name name)) (section 2 (context-name name)) diff --git a/scm/interface.scm b/scm/interface.scm index 3c201da7eb..767912916f 100644 --- a/scm/interface.scm +++ b/scm/interface.scm @@ -828,15 +828,6 @@ Calc dimensions for the Separating_group_spanner; this has to be ) )) -(define text-script-interface - (lily-interface - 'text-script-interface - "" - (list - - ))) - - (define tie-interface (lily-interface 'tie-interface diff --git a/stepmake/stepmake/texinfo-rules.make b/stepmake/stepmake/texinfo-rules.make index 2a2dc8d101..032d3a4a38 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-split $< + -$(MAKEINFO) --force --output=$@ --html --no-split --no-headers $< # we want footers even if website builds (or is built) partly $(footify) $@ -- 2.39.5