From: Eli Zaretskii <eliz@gnu.org>
To: Steven Allen <steven@stebalien.com>, Eshel Yaron <me@eshelyaron.com>
Cc: 74511@debbugs.gnu.org
Subject: bug#74511: 31.0.50; `dictionary-search-interface' overrides the user's customization of `dictionary-read-word-function'
Date: Mon, 25 Nov 2024 14:04:47 +0200 [thread overview]
Message-ID: <86plmjiko0.fsf@gnu.org> (raw)
In-Reply-To: <875xocpdxr.fsf@stebalien.com> (message from Steven Allen on Sun, 24 Nov 2024 12:36:00 -0800)
> From: Steven Allen <steven@stebalien.com>
> Cc: 74511@debbugs.gnu.org
> Date: Sun, 24 Nov 2024 12:36:00 -0800
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> Date: Sun, 24 Nov 2024 10:56:08 -0800
> >> From: Steven Allen via "Bug reports for GNU Emacs,
> >> the Swiss army knife of text editors" <bug-gnu-emacs@gnu.org>
> >>
> >>
> >> If the user customizes `dictionary-read-word-function' then loads the
> >> dictionary package, the value of `dictionary-read-word-function' will be
> >> overridden when `dictionary-search-interface' is loaded. To reproduce:
> >>
> >> 1. Run emacs with `emacs -Q`.
> >> 2. Open a scratch buffer and evaluate the following:
> >>
> >> (setopt dictionary-read-word-function 'dictionary-completing-read-word)
> >> (require 'dictionary)
> >> (message "%S" dictionary-read-word-function)
> >>
> >> I'd expect `dictionary-read-word-function' to be
> >> `dictionary-completing-read-word' but instead it gets reset back to the
> >> default, `dictionary-read-dictionary-default'. I can work around this by
> >> calling `setopt' after loading the `dictionary' package, but ideally
> >> that wouldn't be necessary.
> >
> > You are supposed to customize dictionary-search-interface if you want
> > this mode of operation.
>
> In addition to dictionary-search-interface, there are three separately
> customizable variables:
>
> - dictionary-display-definition-function
> - dictionary-read-word-function
> - dictionary-read-dictionary-function
>
> I'd expect dictionary-search-interface to override the defaults for
> these variables, but I wouldn't expect it to completely clobber any user
> customizations of said variables.
>
> If these variables cannot be customized, I'd expect them to be "defvar"
> not "defcustom". Although that would be rather unfortunate because,
> while I want to enable minibuffer completion for words/dictionaries, I'd
> also like to use the real dictionary mode (not the help buffer).
>
> Adding ":initialize 'custom-initialize-changed" to
> dictionary-search-interface would make it possible to specify either
> dictionary-search-interface or any of the other variables (but not both
> at the same time).
Eshel, would you please look into this? IMO, we should at least
improve the documentation to clarify these subtleties. Bonus points
for allowing users to customize the other options without clobbering
them when the package is loaded or dictionary-search-interface is
customized.
Thanks.
next prev parent reply other threads:[~2024-11-25 12:04 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-24 18:56 bug#74511: 31.0.50; `dictionary-search-interface' overrides the user's customization of `dictionary-read-word-function' Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-24 19:03 ` Eli Zaretskii
2024-11-24 20:36 ` Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-25 12:04 ` Eli Zaretskii [this message]
2024-11-25 18:17 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-25 19:27 ` Steven Allen via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-11-25 21:27 ` Eshel Yaron via Bug reports for GNU Emacs, the Swiss army knife of text editors
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=86plmjiko0.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=74511@debbugs.gnu.org \
--cc=me@eshelyaron.com \
--cc=steven@stebalien.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).