summaryrefslogtreecommitdiff
path: root/geiser/introspection.scm
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-02-15 01:32:31 +0100
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-02-15 01:32:31 +0100
commit6f2ed8776bdba8ca7772b29132af384ebeabec07 (patch)
tree1138ed790cc4e33ae0556d3977efafc739471184 /geiser/introspection.scm
parenta4617956ba2df89d03b1b5b9ce589fa5c79995d1 (diff)
downloadgeiser-guile-6f2ed8776bdba8ca7772b29132af384ebeabec07.tar.gz
geiser-guile-6f2ed8776bdba8ca7772b29132af384ebeabec07.tar.bz2
Recognise empty doc string in Emacs side. Small refactorings.
Diffstat (limited to 'geiser/introspection.scm')
-rw-r--r--geiser/introspection.scm11
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