summaryrefslogtreecommitdiff
path: root/lisp/progmodes
diff options
context:
space:
mode:
authorFabián Ezequiel Gallina <fgallina@gnu.org>2015-01-30 00:19:55 -0300
committerFabián Ezequiel Gallina <fgallina@gnu.org>2015-01-30 00:19:55 -0300
commit41c3b9241cd78a1eaeb159572b6f4e546b1f8d7b (patch)
tree1a1f80fc9e095acaf9ae2ffa969ddddb17ade7f9 /lisp/progmodes
parent868df451530c294cff3d4ccb98873626aa8105df (diff)
downloademacs-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.el40
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'.