GNU bug report logs -
#22256
25.0.50; multiline font-lock rules broken in C mode
Previous Next
Reported by: Anders Lindgren <andlind <at> gmail.com>
Date: Mon, 28 Dec 2015 10:20:01 UTC
Severity: normal
Found in version 25.0.50
Done: Alan Mackenzie <acm <at> muc.de>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Hello, Anders.
Thanks for doing all the donkey work.
On Fri, Jan 08, 2016 at 10:34:09PM +0100, Anders Lindgren wrote:
> Hi Alan (and the list),
> I made a "git bisect" and found the culprit:
> --------
> b31d359d182eb252a11f0468a7dc1ee1eafb28e9 is the first bad commit
> commit b31d359d182eb252a11f0468a7dc1ee1eafb28e9
> Author: Alan Mackenzie <acm <at> muc.de>
> Date: Sun Feb 1 21:20:35 2015 +0000
> CC Mode: Stop Font Lock forcing fontification from BOL. Fixes
> debbugs#19669.
> cc-mode.el (c-font-lock-init): Setq font-lock-extend-region-functions
> to nil.
> --------
> The reason this breaks multiline keywords is that
> `font-lock-extend-region-multiline' is normally part of
> `font-lock-extend-region-functions'.
OK. The fix is then fairly obvious: to remove the one function from
`font-lock-extend-region-functions' which was causing the problem,
leaving the other functions (in particular
`font-lock-extend-region-multiline') in place.
Could you try out this patch, please. It seems to work OK for me, here.
diff -r a73bd5d1bd06 cc-mode.el
--- a/cc-mode.el Fri Jan 08 22:25:59 2016 +0000
+++ b/cc-mode.el Sat Jan 09 12:00:10 2016 +0000
@@ -1324,12 +1324,13 @@
. c-mark-function)))
;; Prevent `font-lock-default-fontify-region' extending the region it will
- ;; fontify to whole lines by removing `font-lock-extend-region-whole-lines'
- ;; (and, coincidentally, `font-lock-extend-region-multiline' (which we do
- ;; not need)) from `font-lock-extend-region-functions'. (Emacs only). This
- ;; fixes Emacs bug #19669.
+ ;; fontify to whole lines by removing `font-lock-extend-region-wholelines'
+ ;; from `font-lock-extend-region-functions'. (Emacs only). This fixes
+ ;; Emacs bug #19669.
(when (boundp 'font-lock-extend-region-functions)
- (setq font-lock-extend-region-functions nil))
+ (setq font-lock-extend-region-functions
+ (delq 'font-lock-extend-region-wholelines
+ font-lock-extend-region-functions)))
(make-local-variable 'font-lock-fontify-region-function)
(setq font-lock-fontify-region-function 'c-font-lock-fontify-region)
> -- Anders
--
Alan Mackenzie (Nuremberg, Germany).
This bug report was last modified 9 years and 219 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.