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

From: Alex Kosorukoff <[email-masked]>
Date: Sun, 11 May 2014 19:02:56 -0700

I am wondering whether we can deprecate the usage of this function in ways
other than locating libraries? In the case of gnus the call to
locate-library can be simply removed assuming the second parameter of load
is set to t. Gnus will start faster without this redundant load-path
traversal.

On Sun, May 11, 2014 at 6:35 PM, Alex Kosorukoff <[email-masked]> wrote:

> Thank you for the example. You are right, gnus-start.el is using
> locate-library to check existence of its init files and uses load to search
> for them again right after. Given how that code is written, we probably
> should keep locate-library as is since at least some people people are
> relying on its ability to locate arbitrary files that are not libraries.
>
>
> On Sun, May 11, 2014 at 5:32 PM, Glenn Morris <[email-masked]> wrote:
>
>> Alex Kosorukoff wrote:
>>
>> > I think these file names are more appropriate for data files, not
>> > executable ones. It is undesirable that a name "tramp.gz" will shadow a
>> > valid library file "tramp.elc" that won't be found as a result. When you
>> > say those names aren't spurious, do you have a particular  example of an
>> > emacs elisp library in mind which file name ends with a suffix other
>> than
>> > .el .elc .el.gz .elc.gz? I think the main difference is that I assume
>> that
>> > this list is exhaustive and you imply that it is not. You can prove me
>> > wrong by a single example.
>>
>> I've somewhat lost track of exactly what you want an example of, but:
>>
>>        When Gnus starts, it will read the `gnus-site-init-file'
>>     (`.../site-lisp/gnus-init' by default) and `gnus-init-file' (`~/.gnus'
>>     by default) files.  These are normal Emacs Lisp files and can be used
>>     to avoid cluttering your `~/.emacs' and `site-init' files with Gnus
>>     stuff.  Gnus will also check for files with the same names as these,
>>     but with `.elc' and `.el' suffixes.  In other words, if you have set
>>     `gnus-init-file' to `~/.gnus', it will look for `~/.gnus.elc',
>>     `~/.gnus.el', and finally `~/.gnus' (in this order).
>>
>> and it uses locate-library to do that.
>>
>
>