diff options
Diffstat (limited to 'lisp/progmodes/python.el')
| -rw-r--r-- | lisp/progmodes/python.el | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index ea34e1d9ab5..71b2a94c071 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -1334,16 +1334,17 @@ the line will be re-indented automatically if needed." (not (equal ?: (char-before (1- (point))))) (not (python-syntax-comment-or-string-p))) ;; Just re-indent dedenters - (let ((dedenter-pos (python-info-dedenter-statement-p)) - (current-pos (point))) + (let ((dedenter-pos (python-info-dedenter-statement-p))) (when dedenter-pos - (save-excursion - (goto-char dedenter-pos) - (python-indent-line) - (unless (= (line-number-at-pos dedenter-pos) - (line-number-at-pos current-pos)) - ;; Reindent region if this is a multiline statement - (python-indent-region dedenter-pos current-pos))))))))) + (let ((start (copy-marker dedenter-pos)) + (end (point-marker))) + (save-excursion + (goto-char start) + (python-indent-line) + (unless (= (line-number-at-pos start) + (line-number-at-pos end)) + ;; Reindent region if this is a multiline statement + (python-indent-region start end)))))))))) ;;; Mark |
