From f753d35c186ad448e70e84afbc91fb37db2fbb57 Mon Sep 17 00:00:00 2001
From: Jose Antonio Ortega Ruiz <jao@gnu.org>
Date: Sun, 15 Feb 2009 01:32:31 +0100
Subject: Recognise empty doc string in Emacs side. Small refactorings.

---
 scheme/guile/geiser/introspection.scm | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

(limited to 'scheme/guile/geiser')

diff --git a/scheme/guile/geiser/introspection.scm b/scheme/guile/geiser/introspection.scm
index aa1e388..19ea2df 100644
--- a/scheme/guile/geiser/introspection.scm
+++ b/scheme/guile/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
-- 
cgit v1.2.3