[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#65051: internal_equal manipulates symbols with position without chec
From: |
Alan Mackenzie |
Subject: |
bug#65051: internal_equal manipulates symbols with position without checking symbols-with-pos-enabled. |
Date: |
Sat, 5 Aug 2023 11:52:52 +0000 |
Hello, Eli.
On Sat, Aug 05, 2023 at 13:57:50 +0300, Eli Zaretskii wrote:
> > Date: Sat, 5 Aug 2023 10:45:37 +0000
> > Cc: 65051@debbugs.gnu.org, acm@muc.de
> > From: Alan Mackenzie <acm@muc.de>
[ .... ]
> > > So we can have two different copies of #<symbol foo at 42>, such that
> > > their hex values are different? Isn't that a bug? why don't we
> > > conflate such identical symbols?
> > No, it's not a bug, anymore than having two `equal' copies of '(a b c)
> > would be a bug.
> But with symbols we store them in obarray, and obarray ought to find
> the existing slot for #<symbol foo at 42> and reuse it, rather than
> create a new slot?
No, only the bare symbol is in the obarray. The symbol with position
itself is a pseudovector, with contents (i) a bare symbol (a Lisp_Object
"pointing at" the obarray) and (ii) the unsigned integer position.
--
Alan Mackenzie (Nuremberg, Germany).
- bug#65051: internal_equal manipulates symbols with position without checking symbols-with-pos-enabled., Alan Mackenzie, 2023/08/04
- bug#65051: internal_equal manipulates symbols with position without checking symbols-with-pos-enabled., Eli Zaretskii, 2023/08/04
- bug#65051: internal_equal manipulates symbols with position without checking symbols-with-pos-enabled., Alan Mackenzie, 2023/08/04
- bug#65051: internal_equal manipulates symbols with position without checking symbols-with-pos-enabled., Eli Zaretskii, 2023/08/04
- bug#65051: internal_equal manipulates symbols with position without checking symbols-with-pos-enabled., Alan Mackenzie, 2023/08/04
- bug#65051: internal_equal manipulates symbols with position without checking symbols-with-pos-enabled., Eli Zaretskii, 2023/08/04
- bug#65051: internal_equal manipulates symbols with position without checking symbols-with-pos-enabled., Alan Mackenzie, 2023/08/05
- bug#65051: internal_equal manipulates symbols with position without checking symbols-with-pos-enabled., Eli Zaretskii, 2023/08/05
- bug#65051: internal_equal manipulates symbols with position without checking symbols-with-pos-enabled.,
Alan Mackenzie <=
- bug#65051: internal_equal manipulates symbols with position without checking symbols-with-pos-enabled., Eli Zaretskii, 2023/08/05
- bug#65051: internal_equal manipulates symbols with position without checking symbols-with-pos-enabled., Alan Mackenzie, 2023/08/05
- bug#65051: internal_equal manipulates symbols with position without checking symbols-with-pos-enabled., Eli Zaretskii, 2023/08/05
- bug#65051: internal_equal manipulates symbols with position without checking symbols-with-pos-enabled., Alan Mackenzie, 2023/08/13
bug#65051: internal_equal manipulates symbols with position without checking symbols-with-pos-enabled., Mattias Engdegård, 2023/08/05