[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Emacs-diffs] emacs-24 d69e9f1: CC Mode: Stop Font Lock forcing font
From: |
Alan Mackenzie |
Subject: |
Re: [Emacs-diffs] emacs-24 d69e9f1: CC Mode: Stop Font Lock forcing fontification from BOL. Fixes debbugs#19669. |
Date: |
Wed, 18 Mar 2015 12:08:07 +0000 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
Hello, Daniel.
On Mon, Mar 16, 2015 at 04:53:28PM -0700, Daniel Colascione wrote:
> On 02/01/2015 01:22 PM, Alan Mackenzie wrote:
> > branch: emacs-24
> > commit d69e9f1c24f37f36af33b0468c5a4e100dbb09b6
> > Author: Alan Mackenzie <address@hidden>
> > Commit: Alan Mackenzie <address@hidden>
> > 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.
> This change is driving me nuts. Consider the following buffer, with @
> representing point:
> void foo() {
> @
> }
> If I type [f o r SPC], then depending on timing, I see only the "or", or
> only the "r", fontified in font-lock-keyword-face. A moment later,
> jit-lock kicks in and refontifies the entire chunk properly.
Sorry about this.
> Can we please extend the start of the region back to at least the last `}'?
This could be a tricky one to solve. For the sake of your sanity, please
consider applying the following temporary patch; it "solves" the current
problem, but unfortunately leaves bug #19669's symptoms apparent again.
diff -r cffcacba7345 cc-mode.el
--- a/cc-mode.el Sun Feb 01 21:06:18 2015 +0000
+++ b/cc-mode.el Wed Mar 18 12:04:00 2015 +0000
@@ -1208,7 +1208,17 @@
;; Type a space in the first blank line, and the fontification of the next
;; line was fouled up by context fontification.
(let ((new-beg beg) (new-end end) new-region case-fold-search
- open-paren-in-column-0-is-defun-start)
+ open-paren-in-column-0-is-defun-start
+ ;; Except in the after-change case, prevent
+ ;; `font-lock-default-fontify-region' extending the region it will
+ ;; fontify to whole lines. The following binding removes
+ ;; `font-lock-extend-region-whole-lines' from
+ ;; `font-lock-extend-region-functions'. (Emacs only). This fixes
+ ;; Emacs bug #19669.
+ (font-lock-extend-region-functions
+ (and (boundp 'font-lock-extend-region-functions)
+ c-in-after-change-fontification
+ font-lock-extend-region-functions)))
(if c-in-after-change-fontification
(setq c-in-after-change-fontification nil)
(save-restriction
@@ -1247,13 +1257,13 @@
(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))
+ ;; ;; 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)
--
Alan Mackenzie (Nuremberg, Germany).
- Re: [Emacs-diffs] emacs-24 d69e9f1: CC Mode: Stop Font Lock forcing fontification from BOL. Fixes debbugs#19669., Daniel Colascione, 2015/03/16
- Re: [Emacs-diffs] emacs-24 d69e9f1: CC Mode: Stop Font Lock forcing fontification from BOL. Fixes debbugs#19669.,
Alan Mackenzie <=
- Re: [Emacs-diffs] emacs-24 d69e9f1: CC Mode: Stop Font Lock forcing fontification from BOL. Fixes debbugs#19669., Daniel Colascione, 2015/03/18
- Re: [Emacs-diffs] emacs-24 d69e9f1: CC Mode: Stop Font Lock forcing fontification from BOL. Fixes debbugs#19669., Alan Mackenzie, 2015/03/19
- Re: [Emacs-diffs] emacs-24 d69e9f1: CC Mode: Stop Font Lock forcing fontification from BOL. Fixes debbugs#19669., Stefan Monnier, 2015/03/19
- Re: [Emacs-diffs] emacs-24 d69e9f1: CC Mode: Stop Font Lock forcing fontification from BOL. Fixes debbugs#19669., Alan Mackenzie, 2015/03/19
- Re: [Emacs-diffs] emacs-24 d69e9f1: CC Mode: Stop Font Lock forcing fontification from BOL. Fixes debbugs#19669., Stefan Monnier, 2015/03/19
- Re: [Emacs-diffs] emacs-24 d69e9f1: CC Mode: Stop Font Lock forcing fontification from BOL. Fixes debbugs#19669., Alan Mackenzie, 2015/03/20
- Re: [Emacs-diffs] emacs-24 d69e9f1: CC Mode: Stop Font Lock forcing fontification from BOL. Fixes debbugs#19669., Daniel Colascione, 2015/03/20
- Re: [Emacs-diffs] emacs-24 d69e9f1: CC Mode: Stop Font Lock forcing fontification from BOL. Fixes debbugs#19669., Alan Mackenzie, 2015/03/20
- Re: [Emacs-diffs] emacs-24 d69e9f1: CC Mode: Stop Font Lock forcing fontification from BOL. Fixes debbugs#19669., Daniel Colascione, 2015/03/20
- Re: [Emacs-diffs] emacs-24 d69e9f1: CC Mode: Stop Font Lock forcing fontification from BOL. Fixes debbugs#19669., Alan Mackenzie, 2015/03/20