GNU bug report logs - #68514
30.0.50; minibuffer-choose-completion + elisp-c-a-p delete next sexp when completing after open paren

Previous Next

Package: emacs;

Reported by: Spencer Baugh <sbaugh <at> janestreet.com>

Date: Tue, 16 Jan 2024 17:07:01 UTC

Severity: normal

Found in version 30.0.50

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


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

From: Dmitry Gutov <dmitry <at> gutov.dev>
To: Spencer Baugh <sbaugh <at> janestreet.com>, 68514 <at> debbugs.gnu.org
Cc: juri <at> linkov.net
Subject: Re: bug#68514: 30.0.50; minibuffer-choose-completion + elisp-c-a-p
 delete next sexp when completing after open paren
Date: Tue, 16 Jan 2024 19:28:39 +0200
On 16/01/2024 19:06, Spencer Baugh wrote:
> I'm not sure how to fix this.  I don't know all the features of
> elisp-completion-at-point, but maybe it shouldn't use (forward-sexp 1)
> when finding the end of the completion region.  Maybe it should be doing
> something like (skip-syntax-forward "w_") to determine the end of the
> region?
> 
> BTW, this completion region returned by elisp-completion-at-point also
> causes a bug in company-mode: since company-capf stops completion when
> the end of the completion region is after point, it's not possible to do
> Elisp company completion immediately after an open paren no matter how
> company is configured.

I don't have a patch to suggest at the moment, but 
`elisp-completion-at-point` is indeed peculiar in its bounds detection 
logic.

The idea to use (skip-syntax-forward "w_") sounds good. But one 
alternative (in case you find it more convenient) is to use 
(bounds-of-thing-at-point 'symbol).




This bug report was last modified 1 year and 124 days ago.

Previous Next


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