summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--geiser/doc.scm9
1 files changed, 9 insertions, 0 deletions
diff --git a/geiser/doc.scm b/geiser/doc.scm
index 578e6a3..ae24a87 100644
--- a/geiser/doc.scm
+++ b/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))