;;;; This file is part of LilyPond, the GNU music typesetter.
;;;;
-;;;; Copyright (C) 2011--2012 Neil Puttock <n.puttock@gmail.com>
+;;;; Copyright (C) 2011--2015 Neil Puttock <n.puttock@gmail.com>
;;;;
;;;; LilyPond is free software: you can redistribute it and/or modify
;;;; it under the terms of the GNU General Public License as published by
(let ((value (car args))
(path (cdr args)))
(string-append
- "@item Sets "
- (format "grob property @code{~a} "
+ (format #f "@item Sets grob property @code{~a} "
(grob-property-path path))
- (format "in @code{@rinternals{~a}} to ~a."
- name-sym
- (scm->texi value))
- "\n")))
+ (format #f "in @code{@rinternals{~a}} to" name-sym)
+ (if (pretty-printable? value)
+ (format #f ":~a\n" (scm->texi value))
+ (format #f " ~a.\n" (scm->texi value))))))
((pop)
(string-append
- "@item Reverts "
- (format "grob property @code{~a} "
+ (format #f "@item Reverts grob property @code{~a} "
(grob-property-path (car args)))
- (format "in @code{@rinternals{~a}}."
- name-sym)
- "\n"))
+ (format #f "in @code{@rinternals{~a}}.\n"
+ name-sym)))
((assign)
- (format "@item Sets translator property @code{~a} to ~a.\n"
- name-sym
- (scm->texi (car args))))
+ (string-append
+ (format #f "@item Sets translator property @code{~a} to" name-sym)
+ (if (pretty-printable? value)
+ (format #f ":~a\n" (scm->texi (car args)))
+ (format #f " ~a.\n" (scm->texi (car args))))))
((unset)
- (format "@item Unsets translator property @code{~a}.\n"
+ (format #f "@item Unsets translator property @code{~a}.\n"
name-sym))
((consists)
- (format "@item Adds @code{@rinternals{~a}}.\n" name-sym))
+ (format #f "@item Adds @code{@rinternals{~a}}.\n" name-sym))
((remove)
- (format "@item Removes @code{@rinternals{~a}}.\n" name-sym))
+ (format #f "@item Removes @code{@rinternals{~a}}.\n" name-sym))
(else ""))))
(define (document-context-mod context-mod-pair)
(docstring (filter (lambda (mod)
(eq? (car mod) 'description))
mod-list)))
- (format
+ (format #f
"@item @code{~a}
@findex ~a
~a
(map document-mod-list mod-list))))
(define (document-mod obj-pair)
- (cond
- ((ly:context-mod? (cdr obj-pair))
- (document-context-mod obj-pair))
- (else
- #f)))
+ (and (ly:context-mod? (cdr obj-pair))
+ (document-context-mod obj-pair)))
(define context-mods-doc-string
- (format
+ (format #f
"@table @asis
~a
@end table
"
(string-join
- (filter
- identity
- (map
- document-mod
- (sort
- (ly:module->alist (current-module))
- identifier<?)))
- "")))
+ (filter-map
+ document-mod
+ (sort
+ (ly:module->alist (current-module))
+ identifier<?)))
+ ""))