Subject: Re: bug#73330: 31.0.50; Incorrect completions for 'cond' clauses

From: Eshel Yaron <[email-masked]>
Date: Thu, 19 Sep 2024 14:25:13 +0200

Eli Zaretskii <[email-masked]> writes:

>> Date: Wed, 18 Sep 2024 14:36:18 +0200
>> From:  Eshel Yaron via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <[email-masked]>
>> 
>> 1. emacs -Q
>> 2. Insert "(cond (current-p
>> 3. Hit M-TAB to complete
>> 
>> We're completing a symbol in the condition of a cond clause, so it is
>> expected to be completed as a variable, to current-prefix-argument.
>> However, Emacs mistakenly thinks that we're completing a function name,
>> and completes to current-bidi-paragraph-direction.
>
> Thanks.  Does the patch below give good results?

It helps, but also seems to cause a regression.  With this change I get:

1. emacs -Q
2. Insert "(cond ((current-p"
                  ^note the additional parenthesis
3. Hit M-TAB to complete

This shows an opposite bug: Emacs should complete function names (and
without the change, it does), but with the change we now get variable
name completion.

Thanks,

Eshel