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

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

[elpa] externals/greader 9d74372e5a 1/2: greader-dict.el: Now the functi


From: ELPA Syncer
Subject: [elpa] externals/greader 9d74372e5a 1/2: greader-dict.el: Now the function greader-dict--add-match-as-word' works only when the replacement parameter contains a word.
Date: Thu, 25 Jul 2024 21:58:20 -0400 (EDT)

branch: externals/greader
commit 9d74372e5a9ab244de145117a1c1ddecb5c29487
Author: Michelangelo Rodriguez <michelangelo.rodriguez@gmail.com>
Commit: Michelangelo Rodriguez <michelangelo.rodriguez@gmail.com>

    greader-dict.el: Now the function greader-dict--add-match-as-word' works 
only when the replacement parameter contains a word.
---
 greader-dict.el | 37 ++++++++++++++++++++-----------------
 1 file changed, 20 insertions(+), 17 deletions(-)

diff --git a/greader-dict.el b/greader-dict.el
index 8a6f47250c..063dec5b8c 100644
--- a/greader-dict.el
+++ b/greader-dict.el
@@ -1004,24 +1004,27 @@ hash table."
                                            original-word)
   "Add WORD and REPLACEMENT to the current dictionary.
 This function is used internally, please use the normal entry-points
-to add your own items to the dictionary."
+to add your own items to the dictionary.
+This function works only when REPLACEMENT contains only word
+constituents."
 
-  (let (value start end)
-    (string-match key word)
-    (setq start (match-beginning 0))
-    (setq end (match-end 0))
-    (when (> start 0)
-      (setq value (concat (substring word 0 start))))
-    (setq value (concat value replacement))
-    (when (> (length word) (length value))
-      (setq value (concat value (substring word end))))
-    (if (string-match key value)
-       (progn
-         (setq original-word word)
-         (greader-dict--add-match-as-word key value replacement
-                                          original-word))
-      (setq key (or original-word word))
-      (greader-dict-add key value))))
+  (unless (string-match "\\W" replacement nil t)
+    (let (value start end)
+      (string-match key word)
+      (setq start (match-beginning 0))
+      (setq end (match-end 0))
+      (when (> start 0)
+       (setq value (concat (substring word 0 start))))
+      (setq value (concat value replacement))
+      (when (> (length word) (length value))
+       (setq value (concat value (substring word end))))
+      (if (string-match key value)
+         (progn
+           (setq original-word word)
+           (greader-dict--add-match-as-word key value replacement
+                                            original-word))
+       (setq key (or original-word word))
+       (greader-dict-add key value)))))
 
 (provide 'greader-dict)
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



reply via email to

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