Subject: `require-with-check` signals error for `project`

From: Stefan Monnier <[email-masked]>
Date: Sat, 26 Oct 2024 23:15:01 -0400

Package: Emacs
Version: 30.0.50

1. Customize `load-prefer-newer` to t.
2. Edit project.el in-tree, save it, don't recompile Emacs.
3. Restart Emacs.
4. Visit some code file and try to launch `M-x eglot` there.

You should get an error along the lines of:

    require-with-check: Feature ‘project’ loaded from
    ".../lisp/progmodes/project.el" is now provided by
    ".../lisp/progmodes/project.elc"

This error is spurious.  AFAICT, it is due to the fact that
`require-with-check` uses `locate-file` to "guess" which file `load`
would use, but `locate-file` doesn't obey `load-prefer-newer`, so it
guesses wrong.

        Stefan