[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#52773: Master and (probably) emacs-28: locate-library hides .eln fil
From: |
Eli Zaretskii |
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@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@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.)