Eli Zaretskii writes: >> From: Eshel Yaron >> Cc: philipk@posteo.net, emacs-devel@gnu.org >> Date: Sun, 14 May 2023 09:41:52 +0300 >> >> Eli Zaretskii writes: >> >> > How about adding to dictionary.el a customizable function that >> > dictionary-search would call instead of its default operation? >> >> Thanks, this would be a good way to expose the different behavior that I >> want to add. However, my difficulty lies elsewhere. The issue I >> brought up in my previous message is with implementing this behavior >> without introducing unnecessary code duplication to dictionary.el. >> >> In short, we need two things: a way to obtain a word's definition and a >> way to obtain dictionary matches given some input (for completion). >> dictionary.el does these things already, but in way that's too coupled >> with its user interface to admit reuse for my purposes. So the question >> is whether to add the needed stuff from Dict to dictionary.el and accept >> some code duplication, or try to refactor the parts of dictionary.el >> that communicate with the dictionary server to provide a cleaner API. > > I'd say try the latter if it's reasonably easy; otherwise try the > former. Alright, I'm attaching a patch that extends dictionary.el with new user options that modify the behavior of `dictionary-search`. With this patch, `dictionary-search` behaves like my `dict-describe-word` after applying the following customizations: --8<---------------cut here---------------start------------->8--- (setq dictionary-read-dictionary-function #'dictionary-completing-read-dictionary) (setq dictionary-read-word-function #'dictionary-completing-read-word) (setq dictionary-display-definition-function #'dictionary-display-definition-in-help-buffer) --8<---------------cut here---------------end--------------->8---