Subject: Re: bug#74966: 31.0.50; Crash report (using igc on macOS)

From: Gerd Möllmann <[email-masked]>
Date: Fri, 20 Dec 2024 09:21:38 +0100

Eli Zaretskii <[email-masked]> writes:

>> Cc: [email-masked], [email-masked]
>> From: Gerd Möllmann <[email-masked]>
>> Date: Fri, 20 Dec 2024 08:30:55 +0100
>> 
>> Gerd Möllmann <[email-masked]> writes:
>> 
>> > I think I'll read the code a bit now.
>> 
>> BTW, does C-h f x-file-dialog work on platforms != macOS?
>
> In what version of Emacs? and with or without native compilation?

master with native compilation, if possible with --enable-checking.

>
> It works here as follows:
>
>   . On MS-Windows:
>     - emacs 31 without native compilation
>     - emacs 30 with and without native compilation
>   . On GNU/Linux:
>     - emacs 31 with and without native compilation
>     - emacs 30 with and without native compilation
>
>> It aborts here for the same reason.
>> 
>> And I'm asking myself now why the heck it lands in native_function_doc in
>> the first place. Isn't x-file-dialog a C function everywhere?
>
> It is a C function, yes.

My current theory is that one needs to C-h f a function with a doc
string lie this one:

(defun x-file-dialog (prompt dir &optional default-filename
                             mustmatch only-dir-p)
  "SKIP: real doc in xfns.c."
  (ns-read-file-name prompt dir mustmatch default-filename only-dir-p))

And the function must be native-comp-function-p.

I can't see so far how/where such "redirections" are handled.