emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[nongnu] elpa/symbol-overlay fb00db9e8c 108/152: Move definition of symb


From: ELPA Syncer
Subject: [nongnu] elpa/symbol-overlay fb00db9e8c 108/152: Move definition of symbol-overlay-refresh
Date: Thu, 7 Jul 2022 12:04:19 -0400 (EDT)

branch: elpa/symbol-overlay
commit fb00db9e8cf8badbc716714db00fd3e8d4a7ffbc
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>

    Move definition of symbol-overlay-refresh
    
    That way all "internal" code is located in just one section.
---
 symbol-overlay.el | 62 +++++++++++++++++++++++++++----------------------------
 1 file changed, 30 insertions(+), 32 deletions(-)

diff --git a/symbol-overlay.el b/symbol-overlay.el
index a1acebe2a4..54c12bd922 100644
--- a/symbol-overlay.el
+++ b/symbol-overlay.el
@@ -386,6 +386,36 @@ leading \\< and trailing \\>, as per the return value of
 `symbol-overlay-get-symbol'."
   (cl-find (substring symbol 3 -3) keywords :test #'string=))
 
+(defun symbol-overlay-refresh (beg end len)
+  "Refresh overlays.  Installed on `after-change-functions'.
+BEG, END and LEN are the beginning, end and length of changed text."
+  (unless (or (minibufferp)
+              (not (or symbol-overlay-keywords-alist
+                       symbol-overlay-temp-symbol)))
+    (let ((case-fold-search nil)
+          (re "\\(\\sw\\|\\s_\\)+"))
+      (save-excursion
+        (save-match-data
+          (goto-char end)
+          (and (looking-at-p re)
+               (setq end (re-search-forward "\\_>")))
+          (goto-char beg)
+          (and (not (looking-at-p "\\_<"))
+               (looking-at-p (concat "\\(" re "\\|\\_>\\)"))
+               (setq beg (re-search-backward "\\_<")))
+          (mapc #'(lambda (ov)
+                    (and (overlay-get ov 'symbol)
+                         (delete-overlay ov)))
+                (overlays-in beg end))
+          (mapc #'(lambda (keyword)
+                    (let ((symbol (car keyword)))
+                      (goto-char beg)
+                      (while (re-search-forward symbol end t)
+                        (symbol-overlay-put-one symbol (cddr keyword)))))
+                symbol-overlay-keywords-alist))))))
+
+(add-hook 'after-change-functions 'symbol-overlay-refresh)
+
 ;;; Language-Specific Ignore
 
 (defvar c-font-lock-extra-types)
@@ -675,38 +705,6 @@ DIR must be 1 or -1."
       (when (string= new (symbol-overlay-get-symbol nil t))
         (symbol-overlay-maybe-count keyword)))))
 
-;;; Internal
-
-(defun symbol-overlay-refresh (beg end len)
-  "Refresh overlays.  Installed on `after-change-functions'.
-BEG, END and LEN are the beginning, end and length of changed text."
-  (unless (or (minibufferp)
-              (not (or symbol-overlay-keywords-alist
-                       symbol-overlay-temp-symbol)))
-    (let ((case-fold-search nil)
-          (re "\\(\\sw\\|\\s_\\)+"))
-      (save-excursion
-        (save-match-data
-          (goto-char end)
-          (and (looking-at-p re)
-               (setq end (re-search-forward "\\_>")))
-          (goto-char beg)
-          (and (not (looking-at-p "\\_<"))
-               (looking-at-p (concat "\\(" re "\\|\\_>\\)"))
-               (setq beg (re-search-backward "\\_<")))
-          (mapc #'(lambda (ov)
-                    (and (overlay-get ov 'symbol)
-                         (delete-overlay ov)))
-                (overlays-in beg end))
-          (mapc #'(lambda (keyword)
-                    (let ((symbol (car keyword)))
-                      (goto-char beg)
-                      (while (re-search-forward symbol end t)
-                        (symbol-overlay-put-one symbol (cddr keyword)))))
-                symbol-overlay-keywords-alist))))))
-
-(add-hook 'after-change-functions 'symbol-overlay-refresh)
-
 ;;; _
 (provide 'symbol-overlay)
 ;; Local Variables:



reply via email to

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