Dmitry Gutov writes: > On 09/04/2025 22:28, Elijah Gabe Pérez wrote: >> Dmitry Gutov writes: >> >>> On 09/04/2025 07:23, Elijah Gabe Pérez wrote: >>>> Instead what about purge it once after emacs startup? >>> >>> I think a concern was voiced that during a long-running session directories can get removed at any time. >>> >>> + (project-forget-zombie-projects nil t)))) >>> >>> Are we sure that we want to suppress the messages about the removals in this case? Personally, I'd just print it in any case (if some were removed anyway). >> It would display the message after `startup-echo-area-message'. >> I think it would be intrusive. > > Do we read the project list at startup? Apparently no, I didn't notice it's just my configuration that does it. >> I've changed it to `inhibit-message' instead, which will include >> the message into *Messages* buffer but will not be displayed. > > That's fine too, although we probably do want to show it when called interactively. Sure. I've added it as an user option. >>> +(defun project-forget-zombie-projects (&optional no-remote no-message) >>>> + "Forget all known projects that don't exist any more. >>>> +If NO-REMOTE is non-nil, don't forget remote projects. >>> >>> Maybe NO-REMOTE should be called INCLUDE-REMOTE instead? >>> >>> Right now it sounds like the opposite of its actual meaning. >> I think EXCLUDE-REMOTES would be a better name, >> the INCLUDE-REMOTE name would give the impression that it does not >> delete remote projects by default. `project-forget-zombie-projects' by >> default includes remote and no remote projects. > > Don't we want to avoid remote projects by default? It might take a long time. Does it here in my testing anyway. > > Having the "fast" path to be the default and the "thorough" as the prefix command alternative seems to be a common approach. You are right, I've change it for exclude remote projects by default.