Right now, `init_lread` in lread.c creates the initial load path by concatenating PATH_SITELOADSEARCH and PATH_LOADSEARCH, in that order. Since subdirs.el searches recursively and adds everything to the load-path, if I install (for example), realgud into site-lisp, things break because a number of Emacs' own libraries are shadowed by realgud's language and utility modules: - https://github.com/realgud/realgud/tree/master/realgud/common - https://github.com/realgud/realgud/tree/master/realgud/lang Looking through the code history, this order has been deliberately maintained for well over a decade, but what's the reason for letting core libraries be overridden like this? Unless I'm missing something it seems safer to ensure that Emacs' own stuff is always at the front of the load-path at launch. If I want, say, a newer version of Org, I can always manually prepend a different location to the load-path. Would the maintainers be open to considering changing the order of the load-path?