GNU bug report logs -
#13888
patch for python indentation
Previous Next
Reported by: Aaron Ecay <aaronecay <at> gmail.com>
Date: Wed, 6 Mar 2013 07:16:02 UTC
Severity: normal
Done: Fabian Ezequiel Gallina <fgallina <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
A previous version of emacs’ python-mode would unindent the line after a
pass or retrun keyword, which end the current block. The current
version does not do so. The attached patch restores this behavior.
[0001-Improve-python-indentation-after-return-or-pass.patch (text/x-patch, inline)]
From f695ce5ade65d3be0c34ec74443bb65f8cfa688b Mon Sep 17 00:00:00 2001
From: Aaron Ecay <aaronecay <at> gmail.com>
Date: Wed, 6 Mar 2013 01:33:48 -0500
Subject: [PATCH] Improve python indentation after return or pass
* progmodes/python.el (python-indent-calculate-indentation): Unindent
after a return or pass keyword on the previous line.
---
lisp/ChangeLog | 5 +++++
lisp/progmodes/python.el | 12 +++++++++---
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 88b9992..1cd9dc2 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2013-03-06 Aaron Ecay <aaronecay <at> gmail.com>
+
+ * progmodes/python.el (python-indent-calculate-indentation):
+ Unindent after a return or pass keyword on the previous line.
+
2013-03-05 Michael Albinus <michael.albinus <at> gmx.de>
* net/tramp-compat.el (tramp-compat-delete-directory): Implement
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index f0f67d0..6102490 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -763,9 +763,15 @@ START is the buffer position where the sexp starts."
(save-excursion
(goto-char context-start)
(current-indentation))
- (if (progn
- (back-to-indentation)
- (looking-at (regexp-opt python-indent-dedenters)))
+ (if (or (progn
+ (back-to-indentation)
+ (looking-at (regexp-opt python-indent-dedenters)))
+ (progn
+ (back-to-indentation)
+ (skip-chars-backward (rx (or whitespace ?\n)))
+ (back-to-indentation)
+ (looking-at (rx (or "pass" "return")
+ (or " " "\n")))))
python-indent-offset
0)))
;; When inside of a string, do nothing. just use the current
--
1.8.1.5
[Message part 3 (text/plain, inline)]
--
Aaron Ecay
This bug report was last modified 12 years and 79 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.