org: Fix potential modified src match-data issue

* lisp/org.el (org-fontify-meta-lines-and-blocks-1): When this is run on
a src block, a "leaky" major mode called in
`org-src-font-lock-fontify-block' can modify the match data.
This is problematic, as the match data already set is important for
font-lock.  To protect ourselves from this behaviour, we can wrap
`org-src-font-lock-fontify-block' in `save-match-data' to ensure that
the match data for the src block is conserved.
This commit is contained in:
TEC 2021-09-17 17:23:58 +08:00
parent 05ee1e6ee0
commit 6a558fc17b
Signed by: tec
GPG Key ID: 779591AFDB81F06C
1 changed files with 2 additions and 1 deletions

View File

@ -5289,7 +5289,8 @@ by a #."
(org-remove-flyspell-overlays-in nl-before-endline end-of-endline)
(cond
((and lang (not (string= lang "")) org-src-fontify-natively)
(org-src-font-lock-fontify-block lang block-start block-end)
(save-match-data
(org-src-font-lock-fontify-block lang block-start block-end))
(add-text-properties bol-after-beginline block-end '(src-block t)))
(quoting
(add-text-properties