python-info-dedenter-opening-block-positions: Fix to support "bare" match
* lisp/progmodes/python.el (python-info-dedenter-opening-block-positions): Make the check stricter. Require that block starts only at indentation. * test/lisp/progmodes/python-tests.el (python-indent-after-bare-match): Another test (bug#62031).
This commit is contained in:
parent
01b65d442a
commit
29228e24f2
2 changed files with 17 additions and 1 deletions
|
@ -5792,7 +5792,9 @@ likely an invalid python file."
|
|||
(while (python-nav--syntactically
|
||||
(lambda ()
|
||||
(cl-loop while (re-search-backward (python-rx block-start) nil t)
|
||||
if (memq (char-before) '(nil ?\s ?\t ?\n))
|
||||
if (save-match-data
|
||||
(looking-back (rx line-start (* whitespace))
|
||||
(line-beginning-position)))
|
||||
return t))
|
||||
#'<)
|
||||
(let ((indentation (current-indentation)))
|
||||
|
|
|
@ -1994,6 +1994,20 @@ def test_re(string):
|
|||
(python-tests-look-at "else:")
|
||||
(should (= (python-indent-calculate-indentation) 4))))
|
||||
|
||||
(ert-deftest python-indent-after-bare-match ()
|
||||
"Test BUG 62031 regression."
|
||||
(python-tests-with-temp-buffer
|
||||
"
|
||||
from re import match
|
||||
|
||||
def test_re(string):
|
||||
if match('^[a-c]+$', string):
|
||||
print('yes')
|
||||
else:
|
||||
"
|
||||
(python-tests-look-at "else:")
|
||||
(should (= (python-indent-calculate-indentation) 4))))
|
||||
|
||||
|
||||
;;; Filling
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue