Subject: Re: 28.0.50; [feature/native-comp] Use file-truename when building eln path hash

From: Andrea Corallo <[email-masked]>
Date: Wed, 18 Nov 2020 08:28:20 +0000

Hi Tad,

Tad <[email-masked]> writes:

> It appears that `comp-el-to-eln-filename` uses `expand-file-name` to
> determine the absolute filename to
> hash. When the filename is a symlink, this results in a cache miss
> depending on which path is loaded.
>
> `file-truename' would be the equivalent to `(expand-file-name name
> nil)`, except that it would resolve to a
> single canonical path (in the absence of hardlinks, which is pathological).

It might be not 100% trivial as just calling `file-truename' from
`comp-el-to-eln-filename' in place of `expand-file-name'.  ATM I'm not
sure is good to call Lisp from there.  I'll give it a go.

> If I may ask, what is the purpose behind the path component of the
> hash? I would think a content hash
> would suffice to disambiguate files in the .el<->.eln bijection.

Sure we mainly use it to keep the eln-cache directory clean when
recompiling.

Thanks for reporting.

  Andrea