Hello. I have another proposal that was not considered so far. The main problem we're trying to solve here is when a new user calls something from package.el without having it initialized first. We also want the solution to touch only that group of users and no one else. So I propose, we don't do anything until user either: 1. Requires something that's not available. 2. Calls a function that's not available. In either of those cases we check whether (package-initialize) was already called. And, if not, we give user an interactive window along the lines of: /"//You tried to call X which is not available and Emacs package manager was not initialized. Press: // / /i to initialize and try again/ /w to initialize, try again and don't ask again/ /x to dismiss/ /K to dissmiss and never ask again."/ w writes (package-initialize) to init) K would set variable dear-emacs-i-totally-don-t-need-any-begginers-advice-thanks to t. We also don't show this window when kill-package-el-and-burn-its-body is t. I'm not entirely sure on the technical side of catching requires and void-functions, but this seems to be the best solution when all other things are considered. Also similar approach is already used in Emacs, there's some key binding that's disabled until you confirm it in a similar way, sorry at the moment I don't remember which one. -- Best Regards, Nikolay Kudryavtsev