Subject: Re: bug#63564: 29.0.91; (setcdr) behaves differently between natively and byte compiled code

From: Andrea Corallo <[email-masked]>
Date: Thu, 18 May 2023 07:54:56 +0000

Eli Zaretskii <[email-masked]> writes:

>> From: Jimmy Yuen Ho Wong <[email-masked]>
>> Date: Thu, 18 May 2023 03:40:40 +0100
>> 
>> 
>> Users have discovered there's a markdown-mode function that behaves
>> differently depending Emacs is executing byte-compiled code or natively
>> compiled code.
>> 
>> The issue is documented
>> [here](https://github.com/jrblevin/markdown-mode/issues/578).
>> 
>> 
>> There are two examples in the issue that will produce an `Wrong type
>> argument: consp, nil` error on the natively compiled version of
>> `markdown-imenu-create-nested-index`, but not the byte-compiled or
>> interpreted version.  A user has provided a disassembly of the natively
>> compiled code for that function.
>> 
>> The last user has said and I can confirm the offending line seems to be `(setcdr
>> sibling-alist alist)` in that function.
>> 
>> Much appreciate it if Andrea could take a look.
>
> Adding Andrea.
>
> While, of course, Andrea's help will be appreciated, there's currently
> no reason to believe this is a problem in the Emacs core, and
> therefore filing a bug report here could be premature.  Ideally, the
> markdown-mode's developers should examine the problem first and
> present convincing evidence that this is a problem with native
> compilation and not with the code in markdown-mode itself.

Yep, if markdown-mode's developers could present a reproducer showing
how exactly the function miss-behaves and where that would help.

  Andrea