Merge from emacs-24; up to 2012-12-21T07:35:02Z!ueno@gnu.org
This commit is contained in:
commit
cfbf790d80
6 changed files with 2001 additions and 35 deletions
|
@ -2959,39 +2959,40 @@ not inside a defun."
|
|||
(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.
|
||||
(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))))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue