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 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. >