diff options
Diffstat (limited to 'geiser')
| -rw-r--r-- | geiser/introspection.scm | 11 | 
1 files changed, 5 insertions, 6 deletions
| diff --git a/geiser/introspection.scm b/geiser/introspection.scm index aa1e388..19ea2df 100644 --- a/geiser/introspection.scm +++ b/geiser/introspection.scm @@ -128,23 +128,22 @@          (let* ((args (obj-args obj))                 (req (and args (car args)))                 (opt (and args (cadr args))) -               (signature (if args (cond ((and (not req) (not opt)) (list sym)) -                                         ((and (not opt) req) (cons sym req)) -                                         ((and (not req) opt) (cons sym opt)) -                                         (else `(,sym ,@req . ,opt))) +               (signature (if args +                              (if (not opt) `(,sym ,@req) `(,sym ,@req . ,opt))                                sym))                 (type (cond ((macro? obj) "A macro")                             ((procedure? obj) "A  procedure")                             ((program? obj) "A compiled program")                             (else "An object"))) -               (modname (symbol-module sym))) +               (modname (symbol-module sym)) +               (doc (object-documentation obj)))            (display signature)            (newline)            (display type)            (if modname (begin (display " in module ")                               (display modname)))            (newline) -          (display (or (object-documentation obj) "")))))) +          (if doc (begin (display doc)))))))  (define (docstring sym)    (with-output-to-string | 
