GNU bug report logs - #48578
28.0.50; Native-compiled files of some preloaded files not loaded at dump time

Previous Next

Package: emacs;

Reported by: Eli Zaretskii <eliz <at> gnu.org>

Date: Sat, 22 May 2021 07:21:01 UTC

Severity: normal

Found in version 28.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #53 received at 48578 <at> debbugs.gnu.org (full text, mbox):

From: Andrea Corallo <akrl <at> sdf.org>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 48578 <at> debbugs.gnu.org
Subject: Re: bug#48578: 28.0.50; Native-compiled files of some preloaded
 files not loaded at dump time
Date: Thu, 27 May 2021 11:57:22 +0000
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Andrea Corallo <akrl <at> sdf.org>
>> Cc: Eli Zaretskii <eliz <at> gnu.org>, 48578 <at> debbugs.gnu.org
>> Date: Tue, 25 May 2021 13:22:39 +0000
>> 
>> diff --git a/src/comp.c b/src/comp.c
>> index 340ed85038..8e40ea0f25 100644
>> --- a/src/comp.c
>> +++ b/src/comp.c
>> @@ -4008,15 +4008,15 @@ DEFUN ("comp-el-to-eln-rel-filename", Fcomp_el_to_eln_rel_filename,
>>  {
>>    CHECK_STRING (filename);
>>  
>> -  /* Use `file-truename' or fall back to `expand-file-name' when the
>> -     first is not available (bug#44701).
>> -
>> -     `file-truename' is not available only for a short phases of the
>> -     bootstrap before file.el is loaded, given we do not symlink
>> -     inside the build directory this should work.  */
>> -  filename = NILP (Ffboundp (intern_c_string ("file-truename")))
>> -    ? Fexpand_file_name (filename, Qnil)
>> -    : CALL1I (file-truename, filename);
>> +  /* `file-truename' is not available only during bootstrap before
>> +     file.el is loaded.  */
>> +#ifndef WINDOWSNT
>> +  char *file_normalized = realpath (SSDATA (filename), NULL);
>> +#else
>> +  char *file_normalized = ??? ;
>> +#endif
>> +  filename = Fexpand_file_name (build_string (file_normalized), Qnil);
>> +  xfree (file_normalized);
>>  
>>    if (NILP (Ffile_exists_p (filename)))
>>      xsignal1 (Qfile_missing, filename);
>
> Thanks, this works.  But I have a few questions/comments:
>
>   . why do you use Fexpand_file_name _after_ realpath? shouldn't we
>     call it before realpath instead?

Right that's correct.

>   . we need to encode the file name before passing it to realpath, and
>     decode the result, right?

Correct

>   . realpath could potentially return NULL, and we should check for
>     that, and return the result of Fexpand_file_name if it does

Of course

>   . we don't need to support remote files here via file-handlers,
>     right?

Correct, so far we do not support it.

> If you agree with the above, I will prepare a proper patch and install
> it, including the necessary changes for WINDOWSNT.

Agreed, thanks.

  Andrea




This bug report was last modified 3 years and 356 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.