Use 'font-lock-extend-region-functions' in python-mode
* lisp/progmodes/python.el (python-font-lock-extend-region): Change arguments and return value for 'font-lock-extend-region-functions'. (python-mode): Change from 'font-lock-extend-after-change-region-function' to 'font-lock-extend-region-functions'. (Bug#63622)
This commit is contained in:
parent
b7b82ecb2b
commit
aa5158630e
1 changed files with 19 additions and 15 deletions
|
@ -869,18 +869,22 @@ decorators, exceptions, and assignments.")
|
||||||
Which one will be chosen depends on the value of
|
Which one will be chosen depends on the value of
|
||||||
`font-lock-maximum-decoration'.")
|
`font-lock-maximum-decoration'.")
|
||||||
|
|
||||||
(defun python-font-lock-extend-region (beg end _old-len)
|
(defvar font-lock-beg)
|
||||||
"Extend font-lock region given by BEG and END to statement boundaries."
|
(defvar font-lock-end)
|
||||||
(save-excursion
|
(defun python-font-lock-extend-region ()
|
||||||
(save-match-data
|
"Extend font-lock region to statement boundaries."
|
||||||
|
(let ((beg font-lock-beg)
|
||||||
|
(end font-lock-end))
|
||||||
(goto-char beg)
|
(goto-char beg)
|
||||||
(python-nav-beginning-of-statement)
|
(python-nav-beginning-of-statement)
|
||||||
(setq beg (point))
|
(beginning-of-line)
|
||||||
|
(when (< (point) beg)
|
||||||
|
(setq font-lock-beg (point)))
|
||||||
(goto-char end)
|
(goto-char end)
|
||||||
(python-nav-end-of-statement)
|
(python-nav-end-of-statement)
|
||||||
(setq end (point))
|
(when (< end (point))
|
||||||
(cons beg end))))
|
(setq font-lock-end (point)))
|
||||||
|
(or (/= beg font-lock-beg) (/= end font-lock-end))))
|
||||||
|
|
||||||
(defconst python-syntax-propertize-function
|
(defconst python-syntax-propertize-function
|
||||||
(syntax-propertize-rules
|
(syntax-propertize-rules
|
||||||
|
@ -6704,9 +6708,9 @@ implementations: `python-mode' and `python-ts-mode'."
|
||||||
`(,python-font-lock-keywords
|
`(,python-font-lock-keywords
|
||||||
nil nil nil nil
|
nil nil nil nil
|
||||||
(font-lock-syntactic-face-function
|
(font-lock-syntactic-face-function
|
||||||
. python-font-lock-syntactic-face-function)
|
. python-font-lock-syntactic-face-function)))
|
||||||
(font-lock-extend-after-change-region-function
|
(add-hook 'font-lock-extend-region-functions
|
||||||
. python-font-lock-extend-region)))
|
#'python-font-lock-extend-region nil t)
|
||||||
(setq-local syntax-propertize-function
|
(setq-local syntax-propertize-function
|
||||||
python-syntax-propertize-function)
|
python-syntax-propertize-function)
|
||||||
(setq-local imenu-create-index-function
|
(setq-local imenu-create-index-function
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue