summaryrefslogtreecommitdiff
path: root/lisp/progmodes/python.el
diff options
context:
space:
mode:
authorFabián Ezequiel Gallina <fgallina@cuca>2012-05-17 00:03:36 -0300
committerFabián Ezequiel Gallina <fgallina@gnu.org>2012-05-17 00:03:36 -0300
commitcd1ed6c8f4a50c0bc499bdcf78bbd4e39bdfc4d2 (patch)
treefaebce2fe4a1076e5d5ea6c8d373d463b769124b /lisp/progmodes/python.el
parentdc4f2e532630fa58381b9d3e52350279c98e89b7 (diff)
python-end-of-defun-function now works correctly when comments are not indented properly.
Calling `end-of-defun' on a python file will now do the correct thing, even for cases like this: def fib(n): if n < 2: # base cases return n else: return fib(n - 2) + fib(n - 1)
Diffstat (limited to 'lisp/progmodes/python.el')
-rw-r--r--lisp/progmodes/python.el7
1 files changed, 6 insertions, 1 deletions
diff --git a/lisp/progmodes/python.el b/lisp/progmodes/python.el
index ff790bdc25c..7f4aa940d8d 100644
--- a/lisp/progmodes/python.el
+++ b/lisp/progmodes/python.el
@@ -1062,7 +1062,12 @@ Returns nil if point is not in a def or class."
(while (and (forward-line 1)
(not (eobp))
(or (not (current-word))
- (> (current-indentation) beg-defun-indent))))
+ ;; This checks if the indentation is less than the base
+ ;; one and if the line is not a comment
+ (or (> (current-indentation) beg-defun-indent)
+ (equal
+ (char-after
+ (+ (point) (current-indentation))) ?#)))))
(python-util-forward-comment)
(goto-char (line-beginning-position))))