GNU bug report logs -
#13609
24.2.92; completion-list-insert-choice-function
Previous Next
Reported by: "Roland Winkler" <winkler <at> gnu.org>
Date: Sat, 2 Feb 2013 16:27:02 UTC
Severity: minor
Found in version 24.2.92
Done: "Roland Winkler" <winkler <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #13 received at 13609-done <at> debbugs.gnu.org (full text, mbox):
On Sun Feb 3 2013 Stefan Monnier wrote:
> > So I suggest to rename completion--replace to completion-replace
> > to make it clear that other code may use this function.
>
> No, because some other package may already have changed
> completion-list-insert-choice-function, so you should really read the
> current value of completion-list-insert-choice-function, and then call
> that (via `funcall') rather than hard-coding completion--replace.
Thank you, that makes sense, it solves my problem.
Possibly, such a strategy could even be mentioned in the docstring of
completion-list-insert-choice-function. How about adding the
following sentences?
If you want to bind this variable to a function calling the default
value of this variable as part of its job, do not hard-code this value
in your code as it may change in future versions of Emacs.
Instead, read the current value of completion-list-insert-choice-function,
then call that via `funcall'.
Of course, this is a generic issue with any foo-function variables
that come with a default. Merely, I do not know where to put such
a more generic remark into the elisp manual so that you find it
when you need it.
> > (Or solve this problem in some other way that other code may rely upon.)
>
> As a matter of fact there's a new feature in trunk that does just that:
> `add-function'.
Great, though I'll keep this for future versions of BBDB. Right now
I want to keep BBDB 3 compatible with GNU Emacs 23 and 24.
(Sometimes this is hard when you have to ignore cool new stuff...)
Roland
This bug report was last modified 12 years and 168 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.