diff options
| author | Chong Yidong | 2007-04-16 18:55:29 +0000 |
|---|---|---|
| committer | Chong Yidong | 2007-04-16 18:55:29 +0000 |
| commit | 003586aae6fa91f374dd92329efb8ff7653e46bd (patch) | |
| tree | 0703aeca105455dea89151110e25d00888f488e0 /lisp/progmodes/python.el | |
| parent | 80dce3a4b7715f39bef2f32ca6b0846d3b0a844f (diff) | |
| download | emacs-003586aae6fa91f374dd92329efb8ff7653e46bd.tar.gz emacs-003586aae6fa91f374dd92329efb8ff7653e46bd.zip | |
(python-end-of-block): Avoid looping forever if python-next-statement
fails.
Diffstat (limited to 'lisp/progmodes/python.el')
| -rw-r--r-- | lisp/progmodes/python.el | 8 |
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) |