# HG changeset patch # User Stefan Monnier # Date 1178729593 0 # Node ID 4882ec1204fb8c54a8dfa74c2fef2ab12ebde7a1 # Parent dba96e4a8a94c45b8ed2c36809358743511ca464 (python-end-of-block): Revert last change. (python-end-of-statement): Make sure we move *forward*. diff -r dba96e4a8a94 -r 4882ec1204fb lisp/progmodes/python.el --- a/lisp/progmodes/python.el Tue May 08 16:07:32 2007 +0000 +++ b/lisp/progmodes/python.el Wed May 09 16:53:13 2007 +0000 @@ -883,10 +883,13 @@ nil) ((eq 'string (syntax-ppss-context s)) ;; Go to start of string and skip it. - (goto-char (nth 8 s)) - (condition-case () ; beware invalid syntax - (progn (forward-sexp) t) - (error (end-of-line)))) + (let ((pos (point))) + (goto-char (nth 8 s)) + (condition-case () ; beware invalid syntax + (progn (forward-sexp) t) + ;; If there's a mismatched string, make sure + ;; we still overall move *forward*. + (error (goto-char pos) (end-of-line))))) ((python-skip-out t s)))) (end-of-line)) (unless comment @@ -981,15 +984,11 @@ (_ (if (python-comment-line-p) (python-skip-comments/blanks t))) (ci (current-indentation)) - (open (python-open-block-statement-p)) - opoint) + (open (python-open-block-statement-p))) (if (and (zerop ci) (not open)) (not (goto-char point)) (catch 'done - (setq opoint (point)) - (while (and (zerop (python-next-statement)) - (not (= opoint (point)))) - (setq opoint (point)) + (while (zerop (python-next-statement)) (when (or (and open (<= (current-indentation) ci)) (< (current-indentation) ci)) (python-skip-comments/blanks t)