[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#65017: 29.1; Byte compiler interaction with cl-lib function objects,
From: |
Alan Mackenzie |
Subject: |
bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function |
Date: |
Thu, 3 Aug 2023 21:10:56 +0000 |
Hello, Stefan and Mattias.
On Thu, Aug 03, 2023 at 13:30:43 -0400, Stefan Monnier wrote:
> > As I suggested in my other post, it might be a "simple" problem of cache
> > invalidation. Why is the value from the first compilation hanging around
> > until the second one?
> That's a side problem. If absolutely needed, we could add some ad-hoc
> invalidation to work around the core problem, but I'd rather fix the
> core problem.
Sorry about my last post. I now see what the core problem is, namely
that (equal 'equal #<symbol equal at 49>) is returning non-nil.
I think the cause is in internal_equal in src/fns.c, where the following
code appears:
/* A symbol with position compares the contained symbol, and is
`equal' to the corresponding ordinary symbol. */
if (SYMBOL_WITH_POS_P (o1))
o1 = SYMBOL_WITH_POS_SYM (o1);
if (SYMBOL_WITH_POS_P (o2))
o2 = SYMBOL_WITH_POS_SYM (o2);
This piece of code converts symbols with positions to ordinary symbols
without first checking symbols-with-pos-enabled. I think this is the
bug.
I will work on a patch to fix it (which shouldn't take long).
> Stefan
--
Alan Mackenzie (Nuremberg, Germany).
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, (continued)
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Mattias Engdegård, 2023/08/03
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Stefan Monnier, 2023/08/03
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Mattias Engdegård, 2023/08/03
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Stefan Monnier, 2023/08/03
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Mattias Engdegård, 2023/08/03
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Mattias Engdegård, 2023/08/03
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Alan Mackenzie, 2023/08/03
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Stefan Monnier, 2023/08/03
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Alan Mackenzie, 2023/08/03
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Stefan Monnier, 2023/08/03
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function,
Alan Mackenzie <=
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Stefan Monnier, 2023/08/03
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Alan Mackenzie, 2023/08/04
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Stefan Monnier, 2023/08/05
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Mattias Engdegård, 2023/08/04
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Alan Mackenzie, 2023/08/04
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Mattias Engdegård, 2023/08/04
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Stefan Monnier, 2023/08/05
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Mattias Engdegård, 2023/08/06
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Stefan Monnier, 2023/08/07
- bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function, Eli Zaretskii, 2023/08/04