diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2011-05-23 13:40:16 -0300 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2011-05-23 13:40:16 -0300 |
commit | e44e373d300c23adac9b2606aac4fc7e11138fde (patch) | |
tree | 78578179f1219fcb2164775e8153e37e5e62d077 /lisp/emacs-lisp/lisp.el | |
parent | 381987c3504943e65eb920bed05e4a3599ef3a96 (diff) | |
download | emacs-e44e373d300c23adac9b2606aac4fc7e11138fde.tar.gz emacs-e44e373d300c23adac9b2606aac4fc7e11138fde.tar.bz2 emacs-e44e373d300c23adac9b2606aac4fc7e11138fde.zip |
* lisp/emacs-lisp/lisp.el (up-list): Fix forward movement.
Fixes: debbugs:8708
Diffstat (limited to 'lisp/emacs-lisp/lisp.el')
-rw-r--r-- | lisp/emacs-lisp/lisp.el | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el index ef0c49b8616..ece96fe2515 100644 --- a/lisp/emacs-lisp/lisp.el +++ b/lisp/emacs-lisp/lisp.el @@ -145,12 +145,12 @@ This command assumes point is not in a string or comment." (while (/= arg 0) (if (null forward-sexp-function) (goto-char (or (scan-lists (point) inc 1) (buffer-end arg))) - (condition-case err - (while (progn (setq pos (point)) - (forward-sexp inc) - (/= (point) pos))) - (scan-error (goto-char (nth 2 err)))) - (if (= (point) pos) + (condition-case err + (while (progn (setq pos (point)) + (forward-sexp inc) + (/= (point) pos))) + (scan-error (goto-char (nth (if (> arg 0) 3 2) err)))) + (if (= (point) pos) (signal 'scan-error (list "Unbalanced parentheses" (point) (point))))) (setq arg (- arg inc))))) |