]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/document-translation.scm
(Difficult tweaks):
[lilypond.git] / scm / document-translation.scm
index a7ce3b993442f69302ad4e675465ff13d5953fdf..fdf04014c04ce3cd8f020fd491cdae19683af0fc 100644 (file)
 
 (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)
-       "}"
+       "@item Set "
+       (format "grob-property @code{~a} " (string-join path " "))
+       (format " in @ref{~a} " context-sym)
        (if (not (null? (cddr body)))
-          (string-append " to @code{" (scm->texi (cadr (cdr body))) "}" ))
-       "\n"))
+          (format " to @code{~a}" (scm->texi value))
+          "")
+       
+       "\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")))))
+     ((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)))