From: Fabián Ezequiel Gallina Date: Thu, 17 May 2012 03:03:36 +0000 (-0300) Subject: python-end-of-defun-function now works correctly when comments are not indented properly. X-Git-Tag: emacs-24.2.90~1199^2~507 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=cd1ed6c8f4a50c0bc499bdcf78bbd4e39bdfc4d2;p=emacs.git 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) --- 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))))