emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 1fc9d0a: Remove redundant code from c-font-lock-fontify-region


From: Alan Mackenzie
Subject: master 1fc9d0a: Remove redundant code from c-font-lock-fontify-region
Date: Sun, 19 Jul 2020 06:58:00 -0400 (EDT)

branch: master
commit 1fc9d0a79049bfbc18937fa3a3fb90f5103a2446
Author: Alan Mackenzie <acm@muc.de>
Commit: Alan Mackenzie <acm@muc.de>

    Remove redundant code from c-font-lock-fontify-region
    
    * lisp/progmodes/cc-mode.el (c-font-lock-fontify-region): Remove variables
    string-fence-beg and lim, and the code used to calculate them.
---
 lisp/progmodes/cc-mode.el | 102 +++++++++++++++++++---------------------------
 1 file changed, 41 insertions(+), 61 deletions(-)

diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index 92c1ce8..81bcd10 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -2337,68 +2337,48 @@ Note that this is a strict tail, so won't match, e.g. 
\"0x....\".")
   ;; line was fouled up by context fontification.
   (save-restriction
     (widen)
-    (let (new-beg new-end new-region case-fold-search string-fence-beg lim)
-      ;; Check how far back we need to extend the region where we reapply the
-      ;; string fence syntax-table properties.  These must be in place for the
-      ;; coming fontification operations.
-      (save-excursion
-       (goto-char (if c-in-after-change-fontification
-                      (min beg c-new-BEG)
-                    beg))
-       (setq lim (max (- (point) 500) (point-min)))
-       (while
+    (let (new-beg new-end new-region case-fold-search)
+      (c-save-buffer-state nil
+       ;; Temporarily reapply the string fence syntax-table properties.
+       (unwind-protect
            (progn
-             (skip-chars-backward "^\"" lim)
-             (or (bobp) (backward-char))
-             (save-excursion
-               (eq (logand (skip-chars-backward "\\\\") 1) 1))))
-       (setq string-fence-beg
-             (cond ((c-get-char-property (point) 'c-fl-syn-tab)
-                    (point))
-                   (c-in-after-change-fontification
-                    c-new-BEG)
-                   (t beg)))
-       (c-save-buffer-state nil
-         ;; Temporarily reapply the string fence syntax-table properties.
-         (unwind-protect
-             (progn
-               (c-restore-string-fences)
-               (if (and c-in-after-change-fontification
-                        (< beg c-new-END) (> end c-new-BEG))
-                   ;; Region and the latest after-change fontification region 
overlap.
-                   ;; Determine the upper and lower bounds of our adjusted 
region
-                   ;; separately.
-                   (progn
-                     (if (<= beg c-new-BEG)
-                         (setq c-in-after-change-fontification nil))
-                     (setq new-beg
-                           (if (and (>= beg (c-point 'bol c-new-BEG))
-                                    (<= beg c-new-BEG))
-                               ;; Either jit-lock has accepted `c-new-BEG', or 
has
-                               ;; (probably) extended the change region 
spuriously
-                               ;; to BOL, which position likely has a
-                               ;; syntactically different position.  To ensure
-                               ;; correct fontification, we start at 
`c-new-BEG',
-                               ;; assuming any characters to the left of
-                               ;; `c-new-BEG' on the line do not require
-                               ;; fontification.
-                               c-new-BEG
-                             (setq new-region 
(c-before-context-fl-expand-region beg end)
-                                   new-end (cdr new-region))
-                             (car new-region)))
-                     (setq new-end
-                           (if (and (>= end (c-point 'bol c-new-END))
-                                    (<= end c-new-END))
-                               c-new-END
-                             (or new-end
-                                 (cdr (c-before-context-fl-expand-region beg 
end))))))
-                 ;; Context (etc.) fontification.
-                 (setq new-region (c-before-context-fl-expand-region beg end)
-                       new-beg (car new-region)  new-end (cdr new-region)))
-               ;; Finally invoke font lock's functionality.
-               (funcall (default-value 'font-lock-fontify-region-function)
-                        new-beg new-end verbose))
-           (c-clear-string-fences)))))))
+             (c-restore-string-fences)
+             (if (and c-in-after-change-fontification
+                      (< beg c-new-END) (> end c-new-BEG))
+                 ;; Region and the latest after-change fontification region 
overlap.
+                 ;; Determine the upper and lower bounds of our adjusted region
+                 ;; separately.
+                 (progn
+                   (if (<= beg c-new-BEG)
+                       (setq c-in-after-change-fontification nil))
+                   (setq new-beg
+                         (if (and (>= beg (c-point 'bol c-new-BEG))
+                                  (<= beg c-new-BEG))
+                             ;; Either jit-lock has accepted `c-new-BEG', or 
has
+                             ;; (probably) extended the change region 
spuriously
+                             ;; to BOL, which position likely has a
+                             ;; syntactically different position.  To ensure
+                             ;; correct fontification, we start at `c-new-BEG',
+                             ;; assuming any characters to the left of
+                             ;; `c-new-BEG' on the line do not require
+                             ;; fontification.
+                             c-new-BEG
+                           (setq new-region (c-before-context-fl-expand-region 
beg end)
+                                 new-end (cdr new-region))
+                           (car new-region)))
+                   (setq new-end
+                         (if (and (>= end (c-point 'bol c-new-END))
+                                  (<= end c-new-END))
+                             c-new-END
+                           (or new-end
+                               (cdr (c-before-context-fl-expand-region beg 
end))))))
+               ;; Context (etc.) fontification.
+               (setq new-region (c-before-context-fl-expand-region beg end)
+                     new-beg (car new-region)  new-end (cdr new-region)))
+             ;; Finally invoke font lock's functionality.
+             (funcall (default-value 'font-lock-fontify-region-function)
+                      new-beg new-end verbose))
+         (c-clear-string-fences))))))
 
 (defun c-after-font-lock-init ()
   ;; Put on `font-lock-mode-hook'.  This function ensures our after-change



reply via email to

[Prev in Thread] Current Thread [Next in Thread]