GNU bug report logs - #55491
All completion fragments get added to obarray

Previous Next

Package: emacs;

Reported by: JD Smith <jdtsmith <at> gmail.com>

Date: Tue, 17 May 2022 20:23:01 UTC

Severity: normal

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


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

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Richard Stallman <rms <at> gnu.org>
Cc: 55491 <at> debbugs.gnu.org, jdtsmith <at> gmail.com
Subject: Re: bug#55491: All completion fragments get added to obarray
Date: Fri, 20 May 2022 02:03:23 +0200
Poking at this some more, this behaviour comes from:

(defun elisp-completion-at-point ()
[...]
           (fun-sym (condition-case nil
                        (save-excursion
                          (up-list -1)
                          (forward-char 1)
                          (and (memq (char-syntax (char-after)) '(?w ?_))
                               (read (current-buffer))))
                      (error nil))))

That `read' there is interning `ohno' when hitting `C-M-i' after:

(ohno

And that's unnecessary -- we don't actually need the fun-sym; we're just
checking whether we're looking at `ignore-error'.  So I've now fixed
this in Emacs 29.

Note that completion in emacs-lisp-mode may still intern stuff, but not
as gratuitously as before. 

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





This bug report was last modified 2 years and 347 days ago.

Previous Next


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