]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/document-context-mods.scm
Add '-dcrop' option to ps and svg backends
[lilypond.git] / scm / document-context-mods.scm
index 85f46de406b332eb144a1dcacd09fab4cfabc8b7..aa239e71ea5ea193e7bfaf4aa5713c3314669627 100644 (file)
@@ -1,6 +1,6 @@
 ;;;; This file is part of LilyPond, the GNU music typesetter.
 ;;;;
-;;;; Copyright (C) 2011 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)
@@ -63,7 +62,7 @@
          (docstring (filter (lambda (mod)
                               (eq? (car mod) 'description))
                             mod-list)))
-    (format
+    (format #f
      "@item @code{~a}
 @findex ~a
 ~a
 "
      name-sym
      name-sym
-     (if (pair? docstring) (cadar docstring) "(undocumented; fixme)")
+     (if (pair? docstring)
+         (cadar docstring)
+         (begin
+           (ly:warning "context modification `~a' not documented." name-sym)
+           "(undocumented; fixme)"))
      (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<?)))
+   ""))