* lisp/net/dictionary.el: More fixes for dictionary-new-matching (bug#69312)

(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'.
This commit is contained in:
Juri Linkov 2024-03-05 18:42:49 +02:00
parent 5155f5b1cc
commit 9cf0f254ba

View 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"