[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#13609: 24.2.92; completion-list-insert-choice-function

From: Roland Winkler
Subject: bug#13609: 24.2.92; completion-list-insert-choice-function
Date: Sun, 3 Feb 2013 09:46:49 -0600

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...)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]