diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-02-28 14:19:48 +0100 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-02-28 14:19:48 +0100 |
commit | 0e5a50991969364df18c8982b2066e4eb08d0d04 (patch) | |
tree | 4cc065428d265a827d28ed22e2268547c386808d /elisp | |
parent | 9186ce41aabe30f6242fcfc32d80c21e4f63d4d5 (diff) | |
download | geiser-0e5a50991969364df18c8982b2066e4eb08d0d04.tar.gz geiser-0e5a50991969364df18c8982b2066e4eb08d0d04.tar.bz2 |
Fix scanning partial sexps in presence of quotations &co.
Diffstat (limited to 'elisp')
-rw-r--r-- | elisp/geiser-syntax.el | 4 |
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 |