Fix bug#21762

* lisp/progmodes/python.el (python-syntax-closing-paren-p): Check with
`eql' instead of `=' to accommodate the case that (syntax-after (point))
returns nil.

* test/automated/python-tests.el (python-indent-inside-paren-7):
New test.
This commit is contained in:
Juanma Barranquero 2015-11-01 02:55:16 +01:00
parent 9278095442
commit 590a820fd9
2 changed files with 10 additions and 2 deletions

View file

@ -490,8 +490,8 @@ The type returned can be `comment', `string' or `paren'."
(defsubst python-syntax-closing-paren-p ()
"Return non-nil if char after point is a closing paren."
(= (syntax-class (syntax-after (point)))
(syntax-class (string-to-syntax ")"))))
(eql (syntax-class (syntax-after (point)))
(syntax-class (string-to-syntax ")"))))
(define-obsolete-function-alias
'python-info-ppss-context #'python-syntax-context "24.3")

View file

@ -563,6 +563,14 @@ CHOICES = (('some', 'choice'),
(should (eq (car (python-indent-context)) :inside-paren))
(should (= (python-indent-calculate-indentation) 11))))
(ert-deftest python-indent-inside-paren-7 ()
"Test for Bug#21762."
(python-tests-with-temp-buffer
"import re as myre\nvar = [\n"
(goto-char (point-max))
;; This signals an error if the test fails
(should (eq (car (python-indent-context)) :inside-paren-newline-start))))
(ert-deftest python-indent-after-block-1 ()
"The most simple after-block case that shouldn't fail."
(python-tests-with-temp-buffer