Subject: bug#63469: 29.0.90; project.el doesn't add menu-bar entries

From: Dmitry Gutov <[email-masked]>
Date: Mon, 22 May 2023 22:59:50 +0300

On 22/05/2023 20:48, Juri Linkov wrote:
> +;;;###autoload
> +(define-minor-mode project-mode
> +  "Toggle display of project menu in the project-aware buffers."
> +  (if project-mode
> +      (setq-local project-name (concat
> +	                        " "
> +	                        (propertize
> +	                         (project-name (project-current))
> +	                         'mouse-face 'mode-line-highlight
> +	                         'local-map project-mode-line-map)))))

At the very least, this will need some better name, because project 
features don't need any mode to be turned on to be used.

project-menu-mode?

Next, I'm not quite sure about the caching of project-name. There is no 
scenario when it will be invalidated, right?

Try simply calling (project-name (project-current t)) every time, see 
how the performance is. Or, more thoroughly, copy the if-let logic from 
project-prefixed-buffer-name.