Subject: bug#34776: closed (Re: bug#34776: Acknowledgement (27.0.50; Some questions about choose-completion-string-functions))

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 10 Apr 2019 03:17:03 +0000

Your bug report

#34776: 27.0.50; Some questions about choose-completion-string-functions

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
34776: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=34776
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#34776: Acknowledgement (27.0.50; Some questions about choose-completion-string-functions)
From: Eric Abrahamsen <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Tue, 09 Apr 2019 20:16:36 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

Noam Postavsky <[email-masked]> writes:

> Eric Abrahamsen <[email-masked]> writes:
>
>> So never mind! But I'd still like to add something like the attached, as
>> functions following the current docstring will raise an error.
>>
>> Eric
>>
>> diff --git a/lisp/simple.el b/lisp/simple.el
>> index d4ae5ebb1f..0274bdb459 100644
>> --- a/lisp/simple.el
>> +++ b/lisp/simple.el
>> @@ -8188,6 +8188,9 @@ choose-completion-string-functions
>>  BUFFER - the buffer in which the choice should be inserted,
>>  BASE-POSITION - where to insert the completion.
>>  
>> +Functions should also accept and ignore a potential fourth
>> +argument, passed for backwards compatibility.
>> +
>
> Looks good to me.  And it can go to emacs-26 since it's a doc fix.

Done, thanks.

Welcome back!

E

Subject: 27.0.50; Some questions about choose-completion-string-functions
From: Eric Abrahamsen <[email-masked]>
To: [email-masked]
Date: Wed, 06 Mar 2019 15:05:29 -0800
List-Id: <debbugs-submit.debbugs.gnu.org>

I'm trying to use `choose-completion-string-functions' to do some
"stuff" after the user finishes a completion, and have two questions:

1. The docstring of this variable says it is called with three
   arguments, but in fact it's called with four: the fourth is passed as
   nil, and is only there for backward compatibility, apparently. But
   still, you can't use a function that only accepts three args. I can
   provide a patch for the docstring if this is correct.
2. The code in `choose-completion-string' behaves as though the above
   variable is buffer local, but it is never declared to be so. I'm not
   sure if this is a bug (ie, we should be using `defvar-local'), or
   whether I should be adding functions here using the (local 'SYMBOL)
   convention of `add-function'. If that's the case, that's probably
   also a docstring bug, as we should warn users that they'll want to
   specify a local variable.

WDYT?

Eric