summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-02-28 14:19:48 +0100
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-02-28 14:19:48 +0100
commit77253da86ac2d005a0802426c7ebe08bf8dca9ce (patch)
treec7cf3fb7b9e19e0e8c98bed12ba174e77ff9592c
parente78b749e34c2f6e681f815d0b9b9dd3d32537c88 (diff)
downloadgeiser-chez-77253da86ac2d005a0802426c7ebe08bf8dca9ce.tar.gz
geiser-chez-77253da86ac2d005a0802426c7ebe08bf8dca9ce.tar.bz2
Fix scanning partial sexps in presence of quotations &co.
-rw-r--r--elisp/geiser-syntax.el4
1 files changed, 4 insertions, 0 deletions
diff --git a/elisp/geiser-syntax.el b/elisp/geiser-syntax.el
index 196ff87..a5e8878 100644
--- a/elisp/geiser-syntax.el
+++ b/elisp/geiser-syntax.el
@@ -84,6 +84,10 @@
(delete-region (nth 8 pps) (point-max))))
(cond ((eq (char-after (1- (point))) ?\)) (kill-sexp -1) (insert "XXpointXX"))
((eq (char-after (point)) ?\() (kill-sexp 1) (insert "XXpointXX")))
+ (when (memq (char-after (1- (point))) (list ?@ ?, ?\' ?\` ?\#))
+ (skip-syntax-backward "^-(")
+ (delete-region (point) (point-max))
+ (insert "XXXpointXX"))
(let ((depth (nth 0 (parse-partial-sexp (point-min) (point)))))
(unless (zerop depth) (insert (make-string depth ?\)))))
(if str