2 (define (doc-markup-function func)
5 (doc-str (procedure-documentation func) )
6 (f-name (symbol->string (procedure-name func)))
7 (c-name (regexp-substitute/global #f "-markup$" f-name 'pre "" 'post))
8 (sig (object-property func 'markup-signature))
11 (cddr (cadr (procedure-source func)))))
13 (sig-type-names (map type-name sig))
14 (signature (zip arg-names sig-type-names))
17 (map (lambda (x) (string-append
18 "@var{" (car x) "} (" (cadr x) ")" ))
19 (zip arg-names sig-type-names))
25 "\n\n@item @code{\\" c-name "} " signature-str
27 "\n@findex " f-name "\n"
28 "\n@cindex " c-name "\n"
35 (define (markup-function<? a b)
36 (string<? (symbol->string (procedure-name a)) (symbol->string (procedure-name b))))
38 (define (markup-doc-string)
44 (map doc-markup-function
45 (sort markup-function-list markup-function<?) ) )
50 (define (markup-doc-node)
52 #:name "Markup functions"
53 #:desc "Definitions of the markup functions."
54 #:text (markup-doc-string)))