Subject: bug#46790: 28.0.50; make install with native-comp branch

From: Thierry Volpiatto <[email-masked]>
Date: Tue, 27 Apr 2021 11:16:57 +0000

Eli Zaretskii <[email-masked]> writes:

>> From: Thierry Volpiatto <[email-masked]>
>> Cc: Phil Sainty <[email-masked]>, [email-masked], [email-masked]
>> Date: Sun, 25 Apr 2021 18:21:41 +0000
>> 
>> >   M-: (file-truename (expand-file-name invocation-name invocation-directory)) RET
>> 
>> With my emacs started from PATH with "emacs" where emacs is a symlink:
>> 
>>     /usr/local/sbin/emacs-28.0.50/emacs-28.0.50
>> 
>> which is the correct path:
>> 
>>     (expand-file-name invocation-name invocation-directory)
>> 
>> ==>/usr/local/bin/emacs
>> 
>>     (file-truename "/usr/local/bin/emacs")
>> 
>> ==> /usr/local/sbin/emacs-28.0.50/emacs-28.0.50
>
> This is the same executable file name using which to start the
> interactive session does work, as far as I remember.  So I don't
> understand why async-start crashes, sounds like an unrelated issue
> with the native-comp feature.

I found what was wrong in dired-async :-), it was a simple paren error
in a condition-case which is here since years and emacs up to recent
changes in master never detect.
What confused me is that initialy dired-async failed in the same way due
to the symlink bug I reported, then you made some change to fix this
symlink problem but in the same time, a change occur that doesn't
support condition-case with such paren error!

Before:

    (condition-case err
       (some-code)
     (file-error (handle-error-code))
     nil)

Now:

    (condition-case err
       (some-code)
     (file-error (handle-error-code) nil))

I didn't try with native-compilation yet, but it should work.

Thanks and sorry to take your time on this.

-- 
Thierry