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 wrote: > > From: Alex Kosorukoff > > 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? >