diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-03-02 16:19:49 +0100 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-03-02 16:19:49 +0100 |
commit | 4d4807776e91d99b1f51f54dc265f47c54698772 (patch) | |
tree | 4a3fe0b243450a1815f94281d22e405317a20b0d | |
parent | 8cb76f1c5887d51fb96750f6dd97b8381f783fe6 (diff) | |
download | geiser-guile-4d4807776e91d99b1f51f54dc265f47c54698772.tar.gz geiser-guile-4d4807776e91d99b1f51f54dc265f47c54698772.tar.bz2 |
Fix recursive require. Nicer arg names in autodoc.
-rw-r--r-- | geiser/doc.scm | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/geiser/doc.scm b/geiser/doc.scm index 21ede9e..e2fdaca 100644 --- a/geiser/doc.scm +++ b/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)) |