Subject: Master: emacs-lisp-mode: Tab completion for a function position fails in a `let' form.
From: Alan Mackenzie <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Sat, 19 Oct 2024 13:09:00 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello, Emacs.

In a recent master version, for example this commit:

commit 5340fdaade1f8fe7af08293619cca89ae0796fcf (HEAD -> master, origin/master, origin/HEAD)
Author: Alan Mackenzie <[email-masked]>
Date:   Wed Oct 16 13:17:26 2024 +0000

    CC Mode: Fix dodgy lisp `let' form.

, start emacs -Q, followed by entering the following incomplete form:

(defun foo ()
  (let (
        )
    (match-b

With point after match-b, type M-TAB.  This should complete to
match-beginning or show that function as a completion option.  Instead
it signals the error "No match".  This is a bug.

It would seem the completion function elisp-completion-at-point thinks
it is completing a variable symbol rather than a function symbol.

-- 
Alan Mackenzie (Nuremberg, Germany).