diff options
Diffstat (limited to 'scheme')
-rw-r--r-- | scheme/guile/geiser/doc.scm | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/scheme/guile/geiser/doc.scm b/scheme/guile/geiser/doc.scm index 578e6a3..ae24a87 100644 --- a/scheme/guile/geiser/doc.scm +++ b/scheme/guile/geiser/doc.scm @@ -41,6 +41,15 @@ (cond ((null? form) #f) ((symbol? form) (describe-application (list form))) ((and (pair? form) (not (list? form))) (autodoc (pair->list form))) + ((and (list? form) + (= 2 (length form)) + (memq (car form) + '(define define* define-macro define-macro* define-method))) + (autodoc (cons (car form) + (cond ((or (symbol? (cadr form)) + (null? (cadr form)) + (not (list? (cadr form)))) '()) + (else (cdadr form)))))) ((list? form) (let ((lst (last form))) (cond ((symbol? lst) (or (describe-application (list lst)) |