Commit 9e89d835 authored by Stefan Monnier's avatar Stefan Monnier

* lisp/progmodes/python.el (python-font-lock-keywords): Don't return nil

from a matcher-function unless there's no more matches.

Fixes: debbugs:15161
parent 12c4970d
2013-08-27 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/python.el (python-font-lock-keywords): Don't return nil
from a matcher-function unless there's no more matches (bug#15161).
2013-08-26 Michael Albinus <michael.albinus@gmx.de> 2013-08-26 Michael Albinus <michael.albinus@gmx.de>
* minibuffer.el: Revert change from 2013-08-20. * minibuffer.el: Revert change from 2013-08-20.
......
...@@ -501,29 +501,24 @@ The type returned can be `comment', `string' or `paren'." ...@@ -501,29 +501,24 @@ The type returned can be `comment', `string' or `paren'."
(,(lambda (limit) (,(lambda (limit)
(let ((re (python-rx (group (+ (any word ?. ?_))) (let ((re (python-rx (group (+ (any word ?. ?_)))
(? ?\[ (+ (not (any ?\]))) ?\]) (* space) (? ?\[ (+ (not (any ?\]))) ?\]) (* space)
assignment-operator))) assignment-operator))
(when (re-search-forward re limit t) (res nil))
(while (and (python-syntax-context 'paren) (while (and (setq res (re-search-forward re limit t))
(re-search-forward re limit t))) (or (python-syntax-context 'paren)
(if (not (or (python-syntax-context 'paren) (equal (char-after (point-marker)) ?=))))
(equal (char-after (point-marker)) ?=))) res))
t
(set-match-data nil)))))
(1 font-lock-variable-name-face nil nil)) (1 font-lock-variable-name-face nil nil))
;; support for a, b, c = (1, 2, 3) ;; support for a, b, c = (1, 2, 3)
(,(lambda (limit) (,(lambda (limit)
(let ((re (python-rx (group (+ (any word ?. ?_))) (* space) (let ((re (python-rx (group (+ (any word ?. ?_))) (* space)
(* ?, (* space) (+ (any word ?. ?_)) (* space)) (* ?, (* space) (+ (any word ?. ?_)) (* space))
?, (* space) (+ (any word ?. ?_)) (* space) ?, (* space) (+ (any word ?. ?_)) (* space)
assignment-operator))) assignment-operator))
(when (and (re-search-forward re limit t) (res nil))
(goto-char (nth 3 (match-data)))) (while (and (setq res (re-search-forward re limit t))
(while (and (python-syntax-context 'paren) (goto-char (match-end 1))
(re-search-forward re limit t)) (python-syntax-context 'paren)))
(goto-char (nth 3 (match-data)))) res))
(if (not (python-syntax-context 'paren))
t
(set-match-data nil)))))
(1 font-lock-variable-name-face nil nil)))) (1 font-lock-variable-name-face nil nil))))
(defconst python-syntax-propertize-function (defconst python-syntax-propertize-function
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment