]> code.delx.au - gnu-emacs/commitdiff
* lisp/progmodes/python.el: Use lexical-binding.
authorFabián Ezequiel Gallina <fgallina@gnu.org>
Thu, 26 Dec 2013 16:45:19 +0000 (13:45 -0300)
committerFabián Ezequiel Gallina <fgallina@gnu.org>
Thu, 26 Dec 2013 16:45:19 +0000 (13:45 -0300)
(python-nav-beginning-of-defun): Stop searching ASAP.

lisp/ChangeLog
lisp/progmodes/python.el

index 76e175919e43ff7eb9db5c123bd944a4442ad435..972106bd26f69168a21c18c32307912d842377e3 100644 (file)
@@ -1,3 +1,8 @@
+2013-12-26  Fabián Ezequiel Gallina  <fgallina@gnu.org>
+
+       * progmodes/python.el: Use lexical-binding.
+       (python-nav-beginning-of-defun): Stop searching ASAP.
+
 2013-12-25  Xue Fuqiao  <xfq.free@gmail.com>
 
        * vc/vc.el (vc-ignore): Use `vc-responsible-backend'.
index 0646eade780334f34da8559871c8af1315c2cc6d..688d2cb1d967307b4625bc5c4bc2ac3a8ecbd810 100644 (file)
@@ -1,4 +1,4 @@
-;;; python.el --- Python's flying circus support for Emacs
+;;; python.el --- Python's flying circus support for Emacs -*- lexical-binding: t -*-
 
 ;; Copyright (C) 2003-2013 Free Software Foundation, Inc.
 
 ;; Imenu: There are two index building functions to be used as
 ;; `imenu-create-index-function': `python-imenu-create-index' (the
 ;; default one, builds the alist in form of a tree) and
-;; `python-imenu-create-flat-index'. See also
+;; `python-imenu-create-flat-index'.  See also
 ;; `python-imenu-format-item-label-function',
 ;; `python-imenu-format-parent-item-label-function',
 ;; `python-imenu-format-parent-item-jump-label-function' variables for
@@ -1183,13 +1183,13 @@ position.  Return non-nil if point is moved to
 `beginning-of-defun'."
   (when (or (null arg) (= arg 0)) (setq arg 1))
   (let ((found))
-    (cond ((and (eq this-command 'mark-defun)
-                (python-info-looking-at-beginning-of-defun)))
-          (t
-           (dotimes (i (if (> arg 0) arg (- arg)))
-             (when (and (python-nav--beginning-of-defun arg)
-                        (not found))
-               (setq found t)))))
+    (while (and (not (= arg 0))
+                (let ((keep-searching-p
+                       (python-nav--beginning-of-defun arg)))
+                  (when (and keep-searching-p (null found))
+                    (setq found t))
+                  keep-searching-p))
+      (setq arg (if (> arg 0) (1- arg) (1+ arg))))
     found))
 
 (defun python-nav-end-of-defun ()