summaryrefslogtreecommitdiff
path: root/elisp/geiser-autodoc.el
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
commitcb0865d1dd9395b17efa563b014d9c779989b04e (patch)
treec6d51d6cfc3b0b5cac5f0b8c7bff1288be5725db /elisp/geiser-autodoc.el
parenta556c0a95ac5b03fc717b715c8c3bf7a611d34fb (diff)
downloadgeiser-cb0865d1dd9395b17efa563b014d9c779989b04e.tar.gz
geiser-cb0865d1dd9395b17efa563b014d9c779989b04e.tar.bz2
Better signature parsing (improper arg lists).
Diffstat (limited to 'elisp/geiser-autodoc.el')
-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)