Subject: bug#68244: hash-table improvements

From: Eli Zaretskii <[email-masked]>
Date: Sat, 24 Feb 2024 12:30:16 +0200

> From: Mattias Engdegård <[email-masked]>
> Date: Sat, 24 Feb 2024 10:45:03 +0100
> Cc: [email-masked],
>  [email-masked],
>  [email-masked],
>  [email-masked],
>  [email-masked]
> 
> 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.