diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2013-10-07 12:56:51 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2013-10-07 12:56:51 -0400 |
commit | d2e0e79548df07e8e2f7a7cf2e5d9b353f547efd (patch) | |
tree | 0d7fbc9cdc70b190c00acc21cded7c93e13ace3e /lisp/emacs-lisp/smie.el | |
parent | bdc6b4c8f6953c561317abf1bad7fc0c0cd069de (diff) | |
download | emacs-d2e0e79548df07e8e2f7a7cf2e5d9b353f547efd.tar.gz emacs-d2e0e79548df07e8e2f7a7cf2e5d9b353f547efd.tar.bz2 emacs-d2e0e79548df07e8e2f7a7cf2e5d9b353f547efd.zip |
* lisp/emacs-lisp/smie.el (smie-next-sexp): Refine last fix.
* lisp/progmodes/ruby-mode.el (ruby-smie-rules): Tweak handling of
open braces.
Diffstat (limited to 'lisp/emacs-lisp/smie.el')
-rw-r--r-- | lisp/emacs-lisp/smie.el | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/smie.el b/lisp/emacs-lisp/smie.el index e35cb4a8fc2..32dcb2ed744 100644 --- a/lisp/emacs-lisp/smie.el +++ b/lisp/emacs-lisp/smie.el @@ -709,11 +709,13 @@ Possible return values: (condition-case err (progn (funcall next-sexp 1) nil) (scan-error - (let ((pos (nth 2 err))) + (let ((epos (nth 2 err))) + (goto-char pos) (throw 'return - (list t pos + (list t epos (buffer-substring-no-properties - pos (+ pos (if (< (point) pos) -1 1)))))))) + epos + (+ epos (if (< (point) epos) -1 1)))))))) (if (eq pos (point)) ;; We did not move, so let's abort the loop. (throw 'return (list t (point)))))) |