Subject: Re: bug#17467: 24.3; locate-library returning spurious path

From: Alex Kosorukoff <[email-masked]>
Date: Sun, 11 May 2014 10:38:39 -0700

I think locate-library has an extra parameter nosuffix, so (locate-library
"tramp.el" 'nosuffix) will find "tramp.el." I guess for backward
compatibility we can set nosuffix to t whenever the name has a valid suffix
already.

On Sun, May 11, 2014 at 10:03 AM, Eli Zaretskii <[email-masked]> wrote:

> > From: Alex Kosorukoff <[email-masked]>
> > Date: Sun, 11 May 2014 09:06:10 -0700
> >
> > locate-library incorrectly generates a set of suffixes to extend the
> > base library name (".elc" ".elc.gz" ".el" ".el.gz" "" ".gz"), while it
> > should be just (".elc" ".elc.gz" ".el" ".el.gz") when nosuffix is
> > nil. This leads to spurious paths found, like name.gz. I found
> > this issue because (locate-library "tramp") was returning
> > "/home/alex/.emacs.d/trump" not "../lisp/net/trum.elc". The workaround
> > is (locate-file "tramp" load-path (get-load-suffixes))
>
> What if I say
>
>   (locate-library "tramp.el")
>
> Shouldn't it be able to find tramp.el.gz then?
>