Subject: bug#48747: 28.0.50; add project-name generic

From: Stephen Leake <[email-masked]>
Date: Fri, 15 Jul 2022 06:09:48 -0700

Lars Ingebrigtsen <[email-masked]> writes:

> Dmitry Gutov <[email-masked]> writes:
>
>>> In project.el, add a 'project-name' cl-defgeneric, to be used in prompts
>>> and other situations where the user is asked to identify a project.
>>> It must return a string, which is nominally unique among the user's
>>> various projects.
>>> The default could be 'project-root'.
>>
>> Would you like to attach a patch that includes the places where we
>> would use the new method?
>>
>> project-prefixed-buffer-name?
>
> (I'm going through old bug reports that unfortunately weren't resolved
> at the time.)
>
> This was a year ago, and the original bug report didn't really include a
> rationale for the cl-defgeneric.  Stephen, what would you use this for?

My wisi package has a menu of defined projects, allowing the user to
choose which one is the "current project"; it shows a project name,
which is currently defined in the wisi project type.

wisi also has a command to delete a project definition, which prompts
for a project, completing on the project name.

eglot needs to identify projects; it currently uses the project root,
which is not always the best way.

The current project.el assumes that projects are only identified by
"project-current" in some buffer, so there isn't anywhere in the current
code that would use this. Adding it is mainly for extensions like wisi
and eglot.

-- 
-- Stephe