diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2010-06-06 21:14:54 +0200 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2010-06-06 21:14:54 +0200 |
commit | 7265c941f5b09f9a4c4eb4d70a361ead4bbb2b3e (patch) | |
tree | 9c61f926a76b218543df35100db0d2e7f38f100a /elisp/geiser-syntax.el | |
parent | 1ed3aca4b58fe3cf51d5a91e2bf4371f38d17122 (diff) | |
download | geiser-chez-7265c941f5b09f9a4c4eb4d70a361ead4bbb2b3e.tar.gz geiser-chez-7265c941f5b09f9a4c4eb4d70a361ead4bbb2b3e.tar.bz2 |
Elisp: better fix for previous bug.
Diffstat (limited to 'elisp/geiser-syntax.el')
-rw-r--r-- | elisp/geiser-syntax.el | 12 |
1 files changed, 3 insertions, 9 deletions
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))))))) |