summaryrefslogtreecommitdiff
path: root/scheme/guile/geiser
diff options
context:
space:
mode:
Diffstat (limited to 'scheme/guile/geiser')
-rw-r--r--scheme/guile/geiser/doc.scm9
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))