Subject: bug#43385: 27.1; Regression in `find-library'

From: Drew Adams <[email-masked]>
Date: Sun, 13 Sep 2020 23:49:08 +0000 (UTC)

> > emacs -Q
> >
> > M-x find-library RET mouse. TAB
> >
> > No match.  It should show mouse.el and mouse.elc as completions.
> 
> No, it shouldn't -- it should complete over library names, and the
> library name is "mouse", not "mouse.el" or "mouse.elc".
> 
> (Closing this bug report.)

I _really_ disagree.  The latter has always been the
behavior, since Day One.

It allows you to load either the .el or the .elc, au
choix, without needing to specify or even know where
those are located.

You CAN just provide the base name, with no extension,
which picks up one or the other, according to the
well-documented lookup behavior.  That too is a feature.

But it's just as much a feature to be able to specify
which one you want to load.  This is about LOADING.
Loading Lisp code can involve loading source or
byte-compiled code.  Users should be able to control
which gets loaded, when both are available (in the
`load-path').

All three, mouse, mouse.el, and mouse.elc, are library
names - ways to refer to a library.  Interactively, the
first is a shortcut for a complex lookup procedure to
get to one of the others.

This is a definite step backward, an incompatible
change - a regression that hurts users.  (And it's not
even called out in NEWS as an intentional change.)

I can't believe that you would defend this as an
improvement.  I've been able to specify which I want
since 1985.