diff options
author | Fabián Ezequiel Gallina <galli.87@gmail.com> | 2014-11-15 19:02:52 -0300 |
---|---|---|
committer | Fabián Ezequiel Gallina <galli.87@gmail.com> | 2014-11-15 19:02:52 -0300 |
commit | 92f58578cc939e0d955437fcbc87cda80c2ba05c (patch) | |
tree | cfa7284f877f5bf05e98f6f607a38ce36ccd044e /lisp | |
parent | b6cd03a825f7b8bdd0a741f68f20f81fb541ee5b (diff) | |
download | emacs-92f58578cc939e0d955437fcbc87cda80c2ba05c.tar.gz emacs-92f58578cc939e0d955437fcbc87cda80c2ba05c.tar.bz2 emacs-92f58578cc939e0d955437fcbc87cda80c2ba05c.zip |
Fixes: debbugs:18432
* lisp/progmodes/python.el (python-indent-calculate-levels): Fix
indentation behavior multiline dedenter statement.
* test/automated/python-tests.el (python-indent-dedenters-8): New test
for Bug#18432.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/progmodes/python.el | 6 |
2 files changed, 10 insertions, 1 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index fe06ac671b7..d13a62a9b2d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,10 @@ 2014-11-15 Fabián Ezequiel Gallina <fgallina@gnu.org> + * progmodes/python.el (python-indent-calculate-levels): Fix + indentation behavior multiline dedenter statement. (Bug#18432) + +2014-11-15 Fabián Ezequiel Gallina <fgallina@gnu.org> + * progmodes/python.el (python-indent-region): Use python-indent-line and skip special cases. (Bug#18843) diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index 5f8d7a29fa6..89b2f1fd081 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -955,7 +955,11 @@ START is the buffer position where the sexp starts." (defun python-indent-calculate-levels () "Calculate `python-indent-levels' and reset `python-indent-current-level'." - (if (not (python-info-dedenter-statement-p)) + (if (or (python-info-continuation-line-p) + (not (python-info-dedenter-statement-p))) + ;; XXX: This asks for a refactor. Even if point is on a + ;; dedenter statement, it could be multiline and in that case + ;; the continuation lines should be indented with normal rules. (let* ((indentation (python-indent-calculate-indentation)) (remainder (% indentation python-indent-offset)) (steps (/ (- indentation remainder) python-indent-offset))) |