bug-gnu-emacs
[Top][All Lists]
Advanced

[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: Eli Zaretskii
Subject: bug#65017: 29.1; Byte compiler interaction with cl-lib function objects, removes symbol-function
Date: Fri, 04 Aug 2023 08:35:30 +0300

> Cc: acm@muc.de, 65017@debbugs.gnu.org,
>  Eric Marsden <eric.marsden@risk-engineering.org>
> Date: Thu, 3 Aug 2023 21:10:56 +0000
> From: Alan Mackenzie <acm@muc.de>
> 
> 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).

Thanks, but when you have a solution in hand, please also check its
effect on performance.  AFAIR, this part was tuned for optimal
performance, back when symbols with positions were introduced; it
would be a pity to lose performance due to fixing this bug, if that
can be avoided.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]