GNU bug report logs - #68244
hash-table improvements

Previous Next

Package: emacs;

Reported by: Mattias Engdegård <mattias.engdegard <at> gmail.com>

Date: Thu, 4 Jan 2024 16:29:02 UTC

Severity: wishlist

Full log


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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Mattias Engdegård <mattias.engdegard <at> gmail.com>
Cc: 68244 <at> debbugs.gnu.org, gerd.moellmann <at> gmail.com, dmitry <at> gutov.dev,
 stefankangas <at> gmail.com, acorallo <at> gnu.org, monnier <at> iro.umontreal.ca
Subject: Re: bug#68244: hash-table improvements
Date: Sat, 24 Feb 2024 12:30:16 +0200
> From: Mattias Engdegård <mattias.engdegard <at> gmail.com>
> Date: Sat, 24 Feb 2024 10:45:03 +0100
> Cc: gerd.moellmann <at> gmail.com,
>  dmitry <at> gutov.dev,
>  68244 <at> debbugs.gnu.org,
>  monnier <at> iro.umontreal.ca,
>  stefankangas <at> gmail.com
> 
> 15b6d72599b9 on master:
> 
> > +If you have code which creates obarrays as a simple Lisp vector:
> > +
> > +   (make-vector N nil)
> > +
> > +and then calls 'intern' using such an obarray as second argument, this
> > +will now signal a wrong-type-argument error; replace nil with zero to
> > +make it work again.
> 
> Thank you Eli, this might be useful, and you are absolutely right that we should help users fix their code.
> 
> But this cannot have come from nowhere. Did anyone actually tried to create obarrays in this broken way?

Yes, see Dmitry's message up-thread, which named the offending
package.  I've looked at it, and verified that it really does use this
paradigm.

> And if anyone did try to create an obarray in that incorrect way, better recommend using `obarray-make` which is more future-safe than an already obsolete form.

I'm fine with adding to NEWS the text that suggests obarray-make, but
the text I added has to stay, since the make-vector method evidently
exists in the wild.




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

Previous Next


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