Fix python navigation problem with an empty line in nested defun
* lisp/progmodes/python.el (python-nav--beginning-of-defun): Fix bug when point is on an empty line (bug#56600).
This commit is contained in:
committed by
Lars Ingebrigtsen
parent
9b5eb661bf
commit
35d0a2e0a7
@@ -1876,7 +1876,7 @@ class C(object):
|
||||
(beginning-of-line)
|
||||
(point))))
|
||||
;; Nested defuns should be skipped.
|
||||
(python-tests-look-at "return a" -1)
|
||||
(forward-line -1)
|
||||
(should (= (save-excursion
|
||||
(python-nav-beginning-of-defun)
|
||||
(point))
|
||||
@@ -1885,6 +1885,15 @@ class C(object):
|
||||
(beginning-of-line)
|
||||
(point))))
|
||||
;; Defuns on same levels should be respected.
|
||||
(python-tests-look-at "if True:" -1)
|
||||
(forward-line -1)
|
||||
(should (= (save-excursion
|
||||
(python-nav-beginning-of-defun)
|
||||
(point))
|
||||
(save-excursion
|
||||
(python-tests-look-at "def a():" -1)
|
||||
(beginning-of-line)
|
||||
(point))))
|
||||
(python-tests-look-at "def a():" -1)
|
||||
(should (= (save-excursion
|
||||
(python-nav-beginning-of-defun)
|
||||
@@ -1893,8 +1902,16 @@ class C(object):
|
||||
(python-tests-look-at "def b():" -1)
|
||||
(beginning-of-line)
|
||||
(point))))
|
||||
;; Jump to a top level defun.
|
||||
;; Jump to an upper level defun.
|
||||
(python-tests-look-at "def b():" -1)
|
||||
(should (= (save-excursion
|
||||
(python-nav-beginning-of-defun)
|
||||
(point))
|
||||
(save-excursion
|
||||
(python-tests-look-at "def m(self):" -1)
|
||||
(beginning-of-line)
|
||||
(point))))
|
||||
(forward-line -1)
|
||||
(should (= (save-excursion
|
||||
(python-nav-beginning-of-defun)
|
||||
(point))
|
||||
@@ -2009,6 +2026,15 @@ class C(object):
|
||||
(python-tests-look-at "def c(self):")
|
||||
(forward-line -1)
|
||||
(point))))
|
||||
(should (= (save-excursion
|
||||
(python-tests-look-at "def b():")
|
||||
(forward-line -1)
|
||||
(python-nav-end-of-defun)
|
||||
(point))
|
||||
(save-excursion
|
||||
(python-tests-look-at "def c(self):")
|
||||
(forward-line -1)
|
||||
(point))))
|
||||
(should (= (save-excursion
|
||||
(python-tests-look-at "def b():")
|
||||
(python-nav-end-of-defun)
|
||||
@@ -2017,6 +2043,10 @@ class C(object):
|
||||
(python-tests-look-at "def b():")
|
||||
(forward-line 2)
|
||||
(point))))
|
||||
(should (not (save-excursion
|
||||
(python-tests-look-at "def a():")
|
||||
(forward-line -1)
|
||||
(python-nav-end-of-defun))))
|
||||
(should (= (save-excursion
|
||||
(python-tests-look-at "def c(self):")
|
||||
(python-nav-end-of-defun)
|
||||
|
||||
Reference in New Issue
Block a user