GNU bug report logs - #73880
Master: emacs-lisp-mode: Tab completion for a function position fails in a `let' form.

Previous Next

Package: emacs;

Reported by: Alan Mackenzie <acm <at> muc.de>

Date: Sat, 19 Oct 2024 13:10:02 UTC

Severity: normal

Done: Dmitry Gutov <dmitry <at> gutov.dev>

Bug is archived. No further changes may be made.

Full log


Message #20 received at 73880 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dmitry <at> gutov.dev>
To: Alan Mackenzie <acm <at> muc.de>
Cc: 73880 <at> debbugs.gnu.org
Subject: Re: bug#73880: Master: emacs-lisp-mode: Tab completion for a function
 position fails in a `let' form.
Date: Sun, 27 Oct 2024 03:29:08 +0200
On 27/10/2024 01:09, Alan Mackenzie wrote:
>> BTW, I had to move the corresponding piece of code to a separate
>> function to debug it. Too bad edebug doesn't know how to jump into the
>> 'guard' clauses.
> I found the bug in pcase.el causing this.  The edebug spec element
> &interpose, which is used in pcase-PAT absolutely requires that the
> function it uses (in this case pcase--edebug-match-pat-args) must call
> PF.  (See edebug.el around L1810.)
> 
> What PF (internal function in edebug) does is join up edebug specs with
> what follows.
> 
> pcase--edebug-match-pat-args fails to do this for most cases it deals
> with, including guard.  As a result, there is no edebug instrumentation
> generated for the argument of guard.
> 
> I'm going to raise a bug report for this (answering my question in my
> last post).  In the meantime, here is a rough first draught of a fix.
> With it, I can debug the guard clauses in elisp-completion-at-point,
> though I seem to be triggering other problems (I get a message about a
> `_' argument being used after all).

Nice! It works, thank you.




This bug report was last modified 205 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.