summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2010-06-05 21:26:41 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2010-06-05 21:26:41 +0200
commitfe69f305ea550c9822f280e574ba3d80dd3e3d0a (patch)
tree59e97349675b84911b827d4b124c2f30cc63ab61
parent222f125204291dfc93cb9b0de1270bf86b141a56 (diff)
downloadgeiser-chez-fe69f305ea550c9822f280e574ba3d80dd3e3d0a.tar.gz
geiser-chez-fe69f305ea550c9822f280e574ba3d80dd3e3d0a.tar.bz2
Better signature parsing (improper arg lists).
-rw-r--r--elisp/geiser-autodoc.el8
1 files changed, 7 insertions, 1 deletions
diff --git a/elisp/geiser-autodoc.el b/elisp/geiser-autodoc.el
index 0d9d863..ef84e4c 100644
--- a/elisp/geiser-autodoc.el
+++ b/elisp/geiser-autodoc.el
@@ -78,8 +78,14 @@ when `geiser-autodoc-display-module-p' is on."
cached))))))))
geiser-autodoc--cached-signatures)))
+(defun geiser-autodoc--sanitize-args (args)
+ (cond ((null args) nil)
+ ((listp args)
+ (cons (car args) (geiser-autodoc--sanitize-args (cdr args))))
+ (t '(...))))
+
(defun geiser-autodoc--insert-arg-group (args current &optional pos)
- (dolist (a args)
+ (dolist (a (geiser-autodoc--sanitize-args args))
(let ((p (point)))
(insert (format "%s" a))
(when (or (and (numberp pos)