]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/net/dictionary.el: More fixes for dictionary-new-matching (bug#69312)
authorJuri Linkov <juri@linkov.net>
Tue, 5 Mar 2024 16:42:49 +0000 (18:42 +0200)
committerEshel Yaron <me@eshelyaron.com>
Wed, 6 Mar 2024 11:36:21 +0000 (12:36 +0100)
(dictionary-new-matching): Change the order of standard calls
to be the same as in 'dictionary-new-search'.
Use new function 'dictionary-new-matching-internal'.
(dictionary-new-matching-internal): New function based on
'dictionary-new-search-internal'.

(cherry picked from commit 9cf0f254bae79f6b6cda01e7a4b77fabec9f3f8f)

lisp/net/dictionary.el

index 90e1fa046ce76aa72a3e023e45174505281806cf..3e2a5ae347bb874b4fe7635dc24a15c52aa62e84 100644 (file)
@@ -1116,17 +1116,22 @@ If PATTERN is omitted, it defaults to \"[ \\f\\t\\n\\r\\v]+\"."
 
 (defun dictionary-new-matching (word)
   "Run a new matching search on WORD."
-  (dictionary-ensure-buffer)
   (dictionary-store-positions)
-  (dictionary-pre-buffer)
-  (dictionary-do-matching word dictionary-default-dictionary
-                         dictionary-default-strategy
-                         'dictionary-display-match-result)
-  (dictionary-store-state 'dictionary-do-matching
+  (dictionary-ensure-buffer)
+  (dictionary-new-matching-internal word dictionary-default-dictionary
+                                    dictionary-default-strategy
+                                    'dictionary-display-match-result)
+  (dictionary-store-state 'dictionary-new-matching-internal
                          (list word dictionary-default-dictionary
                                dictionary-default-strategy
                                'dictionary-display-match-result)))
 
+(defun dictionary-new-matching-internal (word dictionary strategy function)
+  "Start a new matching for WORD in DICTIONARY after preparing the buffer.
+FUNCTION is the callback which is called for each search result."
+  (dictionary-pre-buffer)
+  (dictionary-do-matching word dictionary strategy function))
+
 (defun dictionary-do-matching (word dictionary strategy function)
   "Search for WORD with STRATEGY in DICTIONARY and display them with FUNCTION."
   (insert (format-message "Lookup matching words for `%s' in `%s' using `%s'\n"