[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/emacs-24 r111284: * progmodes/python.el (py
From: |
Fabián Ezequiel Gallina |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/emacs-24 r111284: * progmodes/python.el (python-info-current-defun): Enhance |
Date: |
Wed, 20 Feb 2013 17:41:46 -0300 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 111284
committer: Fabián Ezequiel Gallina <address@hidden>
branch nick: emacs-24
timestamp: Wed 2013-02-20 17:41:46 -0300
message:
* progmodes/python.el (python-info-current-defun): Enhance
match-data cluttering prevention.
modified:
lisp/ChangeLog
lisp/progmodes/python.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog 2013-02-19 21:21:30 +0000
+++ b/lisp/ChangeLog 2013-02-20 20:41:46 +0000
@@ -1,3 +1,8 @@
+2013-02-20 Fabián Ezequiel Gallina <address@hidden>
+
+ * progmodes/python.el (python-info-current-defun): Enhance
+ match-data cluttering prevention.
+
2013-02-19 Glenn Morris <address@hidden>
* net/tramp.el (tramp-get-debug-buffer): Ensure outline.el is not
=== modified file 'lisp/progmodes/python.el'
--- a/lisp/progmodes/python.el 2013-02-19 18:53:57 +0000
+++ b/lisp/progmodes/python.el 2013-02-20 20:41:46 +0000
@@ -2949,42 +2949,40 @@
(type))
(catch 'exit
(while (python-nav-beginning-of-defun 1)
- (when (and
- (or (not last-indent)
- (< (current-indentation) last-indent))
- (or
- (and first-run
+ (when (save-match-data
+ (and
+ (or (not last-indent)
+ (< (current-indentation) last-indent))
+ (or
+ (and first-run
+ (save-excursion
+ ;; If this is the first run, we may add
+ ;; the current defun at point.
+ (setq first-run nil)
+ (goto-char starting-pos)
+ (python-nav-beginning-of-statement)
+ (beginning-of-line 1)
+ (looking-at-p
+ python-nav-beginning-of-defun-regexp)))
+ (< starting-pos
(save-excursion
- ;; If this is the first run, we may add
- ;; the current defun at point.
- (setq first-run nil)
- (goto-char starting-pos)
- (python-nav-beginning-of-statement)
- (beginning-of-line 1)
- (looking-at-p
- python-nav-beginning-of-defun-regexp)))
- (< starting-pos
- (save-excursion
- (let ((min-indent
- (+ (current-indentation)
- python-indent-offset)))
- (if (< starting-indentation min-indent)
- ;; If the starting indentation is not
- ;; within the min defun indent make the
- ;; check fail.
- starting-pos
- ;; Else go to the end of defun and add
- ;; up the current indentation to the
- ;; ending position.
- (save-match-data
- ;; FIXME: avoid cluttering match-data
- ;; where's not wanted.
- (python-nav-end-of-defun))
- (+ (point)
- (if (>= (current-indentation) min-indent)
- (1+ (current-indentation))
- 0))))))))
- (setq last-indent (current-indentation))
+ (let ((min-indent
+ (+ (current-indentation)
+ python-indent-offset)))
+ (if (< starting-indentation min-indent)
+ ;; If the starting indentation is not
+ ;; within the min defun indent make the
+ ;; check fail.
+ starting-pos
+ ;; Else go to the end of defun and add
+ ;; up the current indentation to the
+ ;; ending position.
+ (python-nav-end-of-defun)
+ (+ (point)
+ (if (>= (current-indentation) min-indent)
+ (1+ (current-indentation))
+ 0)))))))))
+ (save-match-data (setq last-indent (current-indentation)))
(if (or (not include-type) type)
(setq names (cons (match-string-no-properties 1) names))
(let ((match (split-string (match-string-no-properties 0))))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/emacs-24 r111284: * progmodes/python.el (python-info-current-defun): Enhance,
Fabián Ezequiel Gallina <=