Avoid electric colon at beginning-of-defun.
* test/automated/python-tests.el:
(python-indent-electric-colon-1): New test. (Bug#18228)
+2014-09-01 Fabián Ezequiel Gallina <fgallina@gnu.org>
+
+ * progmodes/python.el (python-indent-post-self-insert-function):
+ Avoid electric colon at beginning-of-defun. (Bug#18228)
+
2014-09-01 Glenn Morris <rgm@gnu.org>
* tutorial.el (tutorial--display-changes):
((and (eq ?: last-command-event)
(memq ?: electric-indent-chars)
(not current-prefix-arg)
+ ;; Trigger electric colon only at end of line
(eolp)
+ ;; Avoid re-indenting on extra colon
(not (equal ?: (char-before (1- (point)))))
- (not (python-syntax-comment-or-string-p)))
+ (not (python-syntax-comment-or-string-p))
+ ;; Never re-indent at beginning of defun
+ (not (save-excursion
+ (python-nav-beginning-of-statement)
+ (python-info-looking-at-beginning-of-defun))))
(python-indent-line)))))
\f
+2014-09-01 Fabián Ezequiel Gallina <fgallina@gnu.org>
+
+ * automated/python-tests.el:
+ (python-indent-electric-colon-1): New test. (Bug#18228)
+
2014-08-18 Glenn Morris <rgm@gnu.org>
* automated/python-tests.el (python-shell-calculate-exec-path-2):
(should (= (python-indent-calculate-indentation) 0))
(should (equal (python-indent-calculate-levels) '(0)))))
+(ert-deftest python-indent-electric-colon-1 ()
+ "Test indentation case from Bug#18228."
+ (python-tests-with-temp-buffer
+ "
+def a():
+ pass
+
+def b()
+"
+ (python-tests-look-at "def b()")
+ (goto-char (line-end-position))
+ (python-tests-self-insert ":")
+ (should (= (current-indentation) 0))))
+
\f
;;; Navigation