Subject: Re: bug#18643: 25.0.50; elisp--expect-function-p

From: Lars Ingebrigtsen <[email-masked]>
Date: Tue, 26 Apr 2022 15:44:48 +0200

Leo Liu <[email-masked]> writes:

> emacs should only constrain itself to function completion when
> absolutely sure.
>
> It is not a big deal if function names creep into variable completion or
> vice versa. Often it is handy to complete to an existing symbol and then
> edit it into something else. For example, one might need to create a
> variable name based on a function name.
>
> There are a few places where I expect to have a completion based on my
> past experience but fail now. For example, in (pred ...) pattern of
> pcase. Other failures, (let (|)) and (let ((|))) where | is point.
>
> I have experienced annoyances here and there and I think the fundamental
> solution is not to second guess but complete liberally as we did before.

(I'm going through old bug reports that unfortunately weren't resolved
at the time.)

Skimming this bug report, it's not exactly clear what it's all about,
but perhaps things have changed since this was reported seven years ago.
That is, if you have

(defun lalabar ())
(defvar lalavar nil)

(let ((lala| ))

and hit `C-M-i', it'll expand to lalavar, and not lalabar.

But perhaps you had something other in mind?  Or does this work as you
wanted it to in recent Emacs versions?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no