GNU bug report logs - #13888
patch for python indentation

Previous Next

Package: emacs;

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

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Fabián Ezequiel Gallina <fabian <at> anue.biz>
Cc: 13888 <at> debbugs.gnu.org
Subject: bug#13888: patch for python indentation
Date: Sun, 17 Mar 2013 18:25:04 -0400
> 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.

Fabián, podrías mirar eso, por favor?


        Stefan


>> 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



> -- 
> Aaron Ecay




This bug report was last modified 12 years and 56 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.