diff options
author | Fabián Ezequiel Gallina <fgallina@gnu.org> | 2015-01-30 00:19:55 -0300 |
---|---|---|
committer | Fabián Ezequiel Gallina <fgallina@gnu.org> | 2015-01-30 00:19:55 -0300 |
commit | 41c3b9241cd78a1eaeb159572b6f4e546b1f8d7b (patch) | |
tree | 1a1f80fc9e095acaf9ae2ffa969ddddb17ade7f9 /lisp/progmodes | |
parent | 868df451530c294cff3d4ccb98873626aa8105df (diff) | |
download | emacs-41c3b9241cd78a1eaeb159572b6f4e546b1f8d7b.tar.gz emacs-41c3b9241cd78a1eaeb159572b6f4e546b1f8d7b.tar.bz2 emacs-41c3b9241cd78a1eaeb159572b6f4e546b1f8d7b.zip |
* lisp/progmodes/python.el (python-indent-context): Respect user
indentation after comment.
* test/automated/python-tests.el (python-indent-pep8-1)
(python-indent-pep8-2, python-indent-pep8-3)
(python-indent-after-comment-2): Fix tests.
(python-indent-after-comment-3): New test.
Diffstat (limited to 'lisp/progmodes')
-rw-r--r-- | lisp/progmodes/python.el | 40 |
1 files changed, 16 insertions, 24 deletions
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el index d0a83087554..5842be7cf64 100644 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@ -810,15 +810,6 @@ keyword ;; Beginning of buffer. ((= (line-number-at-pos) 1) (cons :no-indent 0)) - ;; Comment continuation (maybe). - ((save-excursion - (when (and - (or - (python-info-current-line-comment-p) - (python-info-current-line-empty-p)) - (forward-comment -1) - (python-info-current-line-comment-p)) - (cons :after-comment (point))))) ;; Inside a string. ((let ((start (python-syntax-context 'string ppss))) (when start @@ -930,21 +921,22 @@ keyword ((let ((start (python-info-dedenter-statement-p))) (when start (cons :at-dedenter-block-start start)))) - ;; After normal line. - ((let ((start (save-excursion - (back-to-indentation) - (skip-chars-backward " \t\n") - (python-nav-beginning-of-statement) - (point)))) - (when start - (if (save-excursion - (python-util-forward-comment -1) - (python-nav-beginning-of-statement) - (looking-at (python-rx block-ender))) - (cons :after-block-end start) - (cons :after-line start))))) - ;; Default case: do not indent. - (t (cons :no-indent 0)))))) + ;; After normal line, comment or ender (default case). + ((save-excursion + (back-to-indentation) + (skip-chars-backward " \t\n") + (python-nav-beginning-of-statement) + (cons + (cond ((python-info-current-line-comment-p) + :after-comment) + ((save-excursion + (goto-char (line-end-position)) + (python-util-forward-comment -1) + (python-nav-beginning-of-statement) + (looking-at (python-rx block-ender))) + :after-block-end) + (t :after-line)) + (point)))))))) (defun python-indent--calculate-indentation () "Internal implementation of `python-indent-calculate-indentation'. |