summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Mackenzie <acm@muc.de>2015-02-01 21:20:35 +0000
committerAlan Mackenzie <acm@muc.de>2015-02-01 21:20:35 +0000
commitd69e9f1c24f37f36af33b0468c5a4e100dbb09b6 (patch)
tree528ca54aa963f0513f679a2db0e2d355736980a4
parenta78774a6b3faa4548997d75f52ba7320e3320c69 (diff)
downloademacs-d69e9f1c24f37f36af33b0468c5a4e100dbb09b6.tar.gz
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.
-rw-r--r--lisp/ChangeLog8
-rw-r--r--lisp/progmodes/cc-mode.el8
2 files changed, 16 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index fd54c688640..2d4f71f6cec 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
+2015-02-01 Alan Mackenzie <acm@muc.de>
+
+ CC Mode: Stop Font Lock forcing fontification from BOL. Fixes
+ debbugs#19669.
+
+ * progmodes/cc-mode.el (c-font-lock-init): Setq
+ font-lock-extend-region-functions to nil.
+
2015-01-31 Alan Mackenzie <acm@muc.de>
Handle "#" operator properly inside macro. Fix coding bug.
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 1cba5027f28..50a700425bf 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -1237,6 +1237,14 @@ This function is called from `c-common-init', once per mode initialization."
(font-lock-mark-block-function
. 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.
+ (when (boundp 'font-lock-extend-region-functions)
+ (setq font-lock-extend-region-functions nil))
+
(make-local-variable 'font-lock-fontify-region-function)
(setq font-lock-fontify-region-function 'c-font-lock-fontify-region)