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 #50 received at 48578 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Andrea Corallo <akrl <at> sdf.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: Wed, 26 May 2021 16:43:20 +0300
> 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?
  . we need to encode the file name before passing it to realpath, and
    decode the result, right?
  . realpath could potentially return NULL, and we should check for
    that, and return the result of Fexpand_file_name if it does
  . we don't need to support remote files here via file-handlers,
    right?

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




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.