From 02208b6423a33ff28540c27cf3dca678e8a77b7a Mon Sep 17 00:00:00 2001
From: Jose Antonio Ortega Ruiz <jao@gnu.org>
Date: Mon, 2 Mar 2009 16:19:49 +0100
Subject: Fix recursive require. Nicer arg names in autodoc.

---
 elisp/geiser-repl.el        | 1 -
 scheme/guile/geiser/doc.scm | 9 ++++++---
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el
index 430dc44..3f1301c 100644
--- a/elisp/geiser-repl.el
+++ b/elisp/geiser-repl.el
@@ -26,7 +26,6 @@
 ;;; Code:
 
 (require 'geiser-autodoc)
-(require 'geiser-compile)
 (require 'geiser-edit)
 (require 'geiser-eval)
 (require 'geiser-connection)
diff --git a/scheme/guile/geiser/doc.scm b/scheme/guile/geiser/doc.scm
index 21ede9e..e2fdaca 100644
--- a/scheme/guile/geiser/doc.scm
+++ b/scheme/guile/geiser/doc.scm
@@ -44,7 +44,7 @@
            (cond ((symbol? lst) (or (describe-application (list lst))
                                     (describe-application form)))
                  ((pair? lst)
-                  (or (autodoc (pair->list lst))
+                  (or (and (not (eq? (car lst) 'quote)) (autodoc (pair->list lst)))
                       (autodoc (map (lambda (s) (if (pair? s) (gensym) s)) form))))
                  (else (describe-application form)))))
         (else #f)))
@@ -127,8 +127,11 @@
       ,@(if rest (list (cons 'rest 'rest)) '()))))
 
 (define (gen-arg-names fst count)
-  (map (lambda (n) (string->symbol (format "arg-~A" (+ fst n))))
-       (iota (max count 1))))
+  (let* ((letts (list->vector '(#\x #\y #\z #\u #\v #\w #\t)))
+         (len (vector-length letts))
+         (lett (lambda (n) (vector-ref letts (modulo n len)))))
+    (map (lambda (n) (string->symbol (format "~A" (lett (+ fst n -1)))))
+         (iota (max count 1)))))
 
 (define (arglist->args arglist)
   `((required . ,(car arglist))
-- 
cgit v1.2.3