Subject: bug#36447: 27.0.50; New "Unknown keyword" errors

From: Eli Zaretskii <[email-masked]>
Date: Fri, 05 Jul 2019 11:25:33 +0300

> From: Pip Cet <[email-masked]>
> Date: Fri, 5 Jul 2019 08:12:07 +0000
> Cc: [email-masked], [email-masked], [email-masked]
> 
> On Fri, Jul 5, 2019 at 7:50 AM Eli Zaretskii <[email-masked]> wrote:
> > > rwatch -l *(long *)&XHASH_TABLE(obj)->index
> > > watch -l *(long *)XHASH_TABLE(obj)->index
> >
> > I think this is the same as
> >
> >   awatch -l *(long *)XHASH_TABLE(obj)->index
> 
> Thanks for checking! What I actually meant was
> awatch -l *(long *)&XHASH_TABLE(obj)->index

But then why do you need the rwatch as well?  awatch breaks both on
read accesses and on write accesses.

> With revision 44f199648b0c986a0ac7608f4e9d803c619ae2d6, I can
> reproduce this problem locally, and I can confirm it's as I thought:
> 
> y-or-no-p and custom-handle-keyword both generate 7-element hash
> tables. They share a ->next vector. Both try to rehash the hash table,
> and since there are non-builtin symbols in there, the new hash
> collision chains should differ, but can't, since they share a vector.
> 
> I don't think we can sensibly add tests for this bug, but the fix I
> posted earlier still seems valid to me.

Sorry, I'm not tracking this part of the discussion, as it lost me
long ago.