;;;; This file is part of LilyPond, the GNU music typesetter.
;;;;
-;;;; Copyright (C) 2003--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
+;;;; Copyright (C) 2003--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;;
;;;; LilyPond is free software: you can redistribute it and/or modify
;;;; it under the terms of the GNU General Public License as published by
(set! body (cddr body)))
`(begin
;; define the COMMAND-markup function
- ,(let* ((documentation (if (string? (car body))
- (list (car body))
- '()))
- (real-body (if (or (null? documentation)
+ ,(let* ((documentation
+ (format #f "~a\n~a" (cddr args)
+ (if (string? (car body)) (car body) "")))
+ (real-body (if (or (not (string? (car body)))
(null? (cdr body)))
body (cdr body))))
`(define-public (,command-name ,@args)
- ,@documentation
+ ,documentation
(let ,(map (lambda (prop-spec)
(let ((prop (car prop-spec))
(default-value (if (null? (cdr prop-spec))
(set! body (cddr body)))
`(begin
;; define the COMMAND-markup-list function
- ,(let* ((documentation (if (string? (car body))
- (list (car body))
- '()))
- (real-body (if (or (null? documentation)
+ ,(let* ((documentation
+ (format #f "~a\n~a" (cddr args)
+ (if (string? (car body)) (car body) "")))
+ (real-body (if (or (not (string? (car body)))
(null? (cdr body)))
body (cdr body))))
`(define-public (,command-name ,@args)
- ,@documentation
+ ,documentation
(let ,(map (lambda (prop-spec)
(let ((prop (car prop-spec))
(default-value (if (null? (cdr prop-spec))
;;;;;;;;;;;;;;;;;;;;;;
;;; markup type predicates
-(define (markup-function? x)
+(define-public (markup-function? x)
(and (markup-command-signature x)
(not (object-property x 'markup-list-command))))
-(define (markup-list-function? x)
+(define-public (markup-list-function? x)
(and (markup-command-signature x)
(object-property x 'markup-list-command)))