GNU bug report logs - #52773
Master and (probably) emacs-28: locate-library hides .eln files.

Previous Next

Package: emacs;

Reported by: Alan Mackenzie <acm <at> muc.de>

Date: Fri, 24 Dec 2021 11:23:02 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Alan Mackenzie <acm <at> muc.de>
Cc: 52773 <at> debbugs.gnu.org
Subject: bug#52773: Master and (probably) emacs-28: locate-library hides .eln files.
Date: Fri, 24 Dec 2021 14:00:21 +0200
> Date: Fri, 24 Dec 2021 11:22:48 +0000
> From: Alan Mackenzie <acm <at> muc.de>
> 
> The cause of the problem is in `locate-file' in files.el.  There, if a
> ..eln file is found, it's corresponding .el source is looked up in a hash
> table, and the .el name returned instead.
> 
> This mechanism was inserted by the following patch:
> 
> commit 3224a443060a5f21bb910064fc06fe4432810355
> Author: Andrea Corallo <akrl <at> sdf.org>
> Date:   Sun Jul 19 10:46:24 2020 +0200
> 
>     Move eln files into dedicated cache directories
> 
>     When loading a elc file search for a corresponding eln one into
>     `comp-eln-load-path' directories and load it if available.
>     `comp-eln-load-path' contains by default two directory (user and
>     system one).
> 
> It seems there is some use case for which returning the .el file name in
> place of the .eln is appropriate.  It isn't appropriate for
> locate-library.
> 
> I would suggest moving the hash table mechanism out of locate-file, and
> into the other function which calls locate-file, where the substitution
> is wanted.

If you want this to be fixed on the emacs-28 branch, the above
proposal will not fly.  So either we will need a special, safer,
solution for the release branch, or we will have this solved only on
master.  (I prefer the former, FWIW.)




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

Previous Next


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