summaryrefslogtreecommitdiff
path: root/elisp
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2010-06-06 21:14:54 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2010-06-06 21:14:54 +0200
commit7265c941f5b09f9a4c4eb4d70a361ead4bbb2b3e (patch)
tree9c61f926a76b218543df35100db0d2e7f38f100a /elisp
parent1ed3aca4b58fe3cf51d5a91e2bf4371f38d17122 (diff)
downloadgeiser-guile-7265c941f5b09f9a4c4eb4d70a361ead4bbb2b3e.tar.gz
geiser-guile-7265c941f5b09f9a4c4eb4d70a361ead4bbb2b3e.tar.bz2
Elisp: better fix for previous bug.
Diffstat (limited to 'elisp')
-rw-r--r--elisp/geiser-autodoc.el8
-rw-r--r--elisp/geiser-syntax.el12
2 files changed, 5 insertions, 15 deletions
diff --git a/elisp/geiser-autodoc.el b/elisp/geiser-autodoc.el
index 4b797fc..06a10e7 100644
--- a/elisp/geiser-autodoc.el
+++ b/elisp/geiser-autodoc.el
@@ -81,11 +81,7 @@ when `geiser-autodoc-display-module-p' is on."
(defun geiser-autodoc--sanitize-args (args)
(cond ((null args) nil)
((listp 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)))))
+ (cons (car args) (geiser-autodoc--sanitize-args (cdr args))))
(t '(...))))
(defun geiser-autodoc--insert-arg-group (args current &optional pos)
@@ -96,7 +92,7 @@ when `geiser-autodoc-display-module-p' is on."
(numberp current)
(setq current (1+ current))
(= (1+ pos) current))
- (and (symbolp current)
+ (and (keywordp current)
(listp a)
(eq current (car a))))
(put-text-property p (point)
diff --git a/elisp/geiser-syntax.el b/elisp/geiser-syntax.el
index e7581d0..e0d9634 100644
--- a/elisp/geiser-syntax.el
+++ b/elisp/geiser-syntax.el
@@ -175,7 +175,7 @@
(vectorb (apply 'vector (geiser-syntax--read/list)))
((quote backquote unquote splice) (list (cdr token)
(geiser-syntax--read)))
- (kwd `(:keyword . ,(cdr token)))
+ (kwd (intern (format ":%s" (cdr token))))
(unprintable (format "#<%s>" (cdr token)))
((char string atom) (cdr token))
(t (error "Reading scheme syntax: unexpected token: %s" token)))))
@@ -189,9 +189,6 @@
(save-excursion (insert string))
(cons (ignore-errors (geiser-syntax--read)) (point))))))
-(defsubst geiser-syntax--read/keyword-value (s)
- (and (consp s) (eq (car s) :keyword) (cdr s)))
-
(defsubst geiser-syntax--form-after-point (&optional boundary)
(let ((geiser-syntax--read/buffer-limit (and (numberp boundary) boundary)))
(save-excursion (values (geiser-syntax--read) (point)))))
@@ -220,11 +217,8 @@
(when (and (listp form) (car form) (symbolp (car form)))
(let* ((len-1 (1- (geiser-syntax--pair-length form)))
(prev (and (> len-1 1) (nth (1- len-1) form)))
- (prev (and prev
- (geiser-syntax--read/keyword-value prev))))
- (push `(,(car form)
- ,len-1 ,@(and prev (symbolp prev) (list prev)))
- path)))))))
+ (prev (and (keywordp prev) (list prev))))
+ (push `(,(car form) ,len-1 ,@prev) path)))))))
(if path (nreverse path)
(let ((fst (symbol-at-point)))
(and fst `((,fst 0)))))))