> 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 isFWIW, this simply reflects what `load' does, so changing it in
> nil.
`locate-library' would mean that it doesn't do what `load' does, which
I would count as a bug.
The main issue I see is that `load' includes a `must-suffix' argument
which provides the behavior you're looking for (and which is used by
`require') whereas locate-library doesn't provide it.
> 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 workaroundIIUC the problem you had was with `load' rather than with
> is (locate-file "tramp" load-path (get-load-suffixes))
`locate-library', so I think what this boils down to is that the `load'
that looks for `trump' should be changed to provide `must-suffix'.
WDYT?
Stefan