[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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

From: Alex Kosorukoff
Subject: bug#17467: 24.3; locate-library returning spurious path
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 <address@hidden> 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 <address@hidden> 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.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]