summaryrefslogtreecommitdiff
path: root/elisp
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2010-06-06 20:20:57 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2010-06-06 20:20:57 +0200
commit1ed3aca4b58fe3cf51d5a91e2bf4371f38d17122 (patch)
treec3f64408c64c207f6e92ae65907c0199f75419ff /elisp
parent9630e161959a39d35534cb19089a3c6581bdadd8 (diff)
downloadgeiser-guile-1ed3aca4b58fe3cf51d5a91e2bf4371f38d17122.tar.gz
geiser-guile-1ed3aca4b58fe3cf51d5a91e2bf4371f38d17122.tar.bz2
Elisp: fixes for key args display.
Diffstat (limited to 'elisp')
-rw-r--r--elisp/geiser-autodoc.el18
1 files changed, 11 insertions, 7 deletions
diff --git a/elisp/geiser-autodoc.el b/elisp/geiser-autodoc.el
index 4913088..4b797fc 100644
--- a/elisp/geiser-autodoc.el
+++ b/elisp/geiser-autodoc.el
@@ -81,7 +81,11 @@ when `geiser-autodoc-display-module-p' is on."
(defun geiser-autodoc--sanitize-args (args)
(cond ((null args) nil)
((listp args)
- (cons (car args) (geiser-autodoc--sanitize-args (cdr args))))
+ (let* ((arg (car args))
+ (arg (if (and (consp arg) (eq (caar arg) ':keyword))
+ (format "(#:%s %s)" (cdar arg) (cdr arg))
+ arg)))
+ (cons arg (geiser-autodoc--sanitize-args (cdr args)))))
(t '(...))))
(defun geiser-autodoc--insert-arg-group (args current &optional pos)
@@ -115,12 +119,12 @@ when `geiser-autodoc-display-module-p' is on."
(and (not (zerop pos)) pos))))
(when opts
(insert " [")
- (setq cpos (geiser-autodoc--insert-arg-group opts cpos pos))
- (when keys
- (insert " [")
- (geiser-autodoc--insert-arg-group keys prev nil)
- (insert "]"))
- (insert "]"))))
+ (setq cpos (geiser-autodoc--insert-arg-group opts cpos pos)))
+ (when keys
+ (insert " [")
+ (geiser-autodoc--insert-arg-group keys prev nil)
+ (insert "]"))
+ (when opts (insert "]"))))
(defsubst geiser-autodoc--proc-name (proc module)
(let ((str (if module