diff options
-rw-r--r-- | README | 3 | ||||
-rw-r--r-- | scheme/guile/geiser/doc.scm | 9 |
2 files changed, 11 insertions, 1 deletions
@@ -87,4 +87,5 @@ *** In backtrace (evaluation/compile result) buffers: - Default error navigation keys used by emacs' compilation mode. + - Default error navigation keys used by emacs' compilation mode. + - q to bury buffer. 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)) |