aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2007-04-16 18:55:29 +0000
committerChong Yidong2007-04-16 18:55:29 +0000
commit003586aae6fa91f374dd92329efb8ff7653e46bd (patch)
tree0703aeca105455dea89151110e25d00888f488e0
parent80dce3a4b7715f39bef2f32ca6b0846d3b0a844f (diff)
downloademacs-003586aae6fa91f374dd92329efb8ff7653e46bd.tar.gz
emacs-003586aae6fa91f374dd92329efb8ff7653e46bd.zip
(python-end-of-block): Avoid looping forever if python-next-statement
fails.
-rw-r--r--lisp/progmodes/python.el8
1 files changed, 6 insertions, 2 deletions
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index 1709428a611..e57c7e639c9 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -981,11 +981,15 @@ don't move and return nil. Otherwise return t."
981 (_ (if (python-comment-line-p) 981 (_ (if (python-comment-line-p)
982 (python-skip-comments/blanks t))) 982 (python-skip-comments/blanks t)))
983 (ci (current-indentation)) 983 (ci (current-indentation))
984 (open (python-open-block-statement-p))) 984 (open (python-open-block-statement-p))
985 opoint)
985 (if (and (zerop ci) (not open)) 986 (if (and (zerop ci) (not open))
986 (not (goto-char point)) 987 (not (goto-char point))
987 (catch 'done 988 (catch 'done
988 (while (zerop (python-next-statement)) 989 (setq opoint (point))
990 (while (and (zerop (python-next-statement))
991 (not (= opoint (point))))
992 (setq opoint (point))
989 (when (or (and open (<= (current-indentation) ci)) 993 (when (or (and open (<= (current-indentation) ci))
990 (< (current-indentation) ci)) 994 (< (current-indentation) ci))
991 (python-skip-comments/blanks t) 995 (python-skip-comments/blanks t)