;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 2000--2004 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+;;;; (c) 2000--2006 Han-Wen Nienhuys <hanwen@cs.uu.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
(define (engraver-makes-grob? name-symbol grav)
(define (document-engraver-by-name name)
"NAME is a symbol."
- (let* ((eg (find-engraver-by-name name )))
+
+ (let* ((eg (find-engraver-by-name name)))
(cons (string-append "@code{" (ref-ify (symbol->string name)) "}")
(engraver-doc-string eg #f))))
(define (document-property-operation op)
(let ((tag (car op))
- (body (cdr op))
- (sym (cadr op)))
+ (context-sym (cadr op))
+ (args (cddr op))
+ )
(cond
((equal? tag 'push)
+ (let*
+ ((value (car args))
+ (path (cdr args)))
+
(string-append
- "@item "
- (if (null? (cddr body))
- "Revert "
- "Set ")
- "grob-property @code{"
- (symbol->string (cadr body))
- "} in @ref{" (symbol->string sym)
- "}"
- (if (not (null? (cddr body)))
- (string-append " to @code{" (scm->texi (cadr (cdr body))) "}" ))
- "\n"))
- ((equal? (object-property sym 'is-grob?) #t) "")
- ((equal? (car op) 'assign)
- (string-append
- "@item Set translator property @code{"
- (symbol->string (car body))
- "} to @code{"
- (scm->texi (cadr body))
- "}\n")))))
+ "@item Set "
+ (format "grob-property @code{~a} " (string-join (map symbol->string path) " "))
+ (format " in @ref{~a} to @code{~a}. " context-sym (scm->texi value))
+ "\n")))
+ ((equal? (object-property context-sym 'is-grob?) #t) "")
+ ((equal? tag 'assign)
+ (format "@item Set translator property @code{~a} to @code{~a}"
+ context-sym
+ (scm->texi (car args))))
+ )))
+
(define (context-doc context-desc)
(let* ((name-sym (cdr (assoc 'context-name context-desc)))
(cdr desc-handle) "(not documented)"))
(accepts (cdr (assoc 'accepts context-desc)))
- (group (assq-ref context-desc 'group-type))
-
- (consists (append
- (if group (list group)
- '())
- (cdr (assoc 'consists context-desc))))
+ (consists (cdr (assoc 'consists context-desc)))
(props (cdr (assoc 'property-ops context-desc)))
(grobs (context-grobs context-desc))
(grob-refs (map (lambda (x) (ref-ify x)) grobs)))
(string-append
desc
(if (pair? aliases)
- (string-append "\n\n This context is also known as: \n\n"
+ (string-append "\n\n This context also accepts commands for the following context(s):\n\n"
(human-listify aliases))
"")
"\n\nThis context creates the following layout objects: \n\n"