- ;; add the command to markup-function-list, for markup documentation
- (if (not (member ,command-name markup-function-list))
- (set! markup-function-list (cons ,command-name markup-function-list)))
+ ;; Register the new function, for markup documentation
+ ,@(map (lambda (category)
+ `(hashq-set! markup-functions-by-category ',category
+ (cons ,command-name
+ (or (hashq-ref markup-functions-by-category ',category)
+ (list)))))
+ (if (list? category) category (list category)))
+ ;; Used properties, for markup documentation
+ (hashq-set! markup-functions-properties
+ ,command-name
+ (list ,@(map (lambda (prop-spec)
+ (cond ((symbol? prop-spec)
+ prop-spec)
+ ((not (null? (cdr prop-spec)))
+ `(list ',(car prop-spec) ,(cadr prop-spec)))
+ (else
+ `(list ',(car prop-spec)))))
+ (if (pair? args)
+ properties-or-copied-function
+ (list)))))