Thanks for the patch. I started using projectile before project.el
existed and haven't had any motivation to explore project.el or other
options, so this is very much appreciated.
Xinglu Chen writes:
> Since Emacs 28, project.el is built-in package that offers similar
> functionality to projectile. It is also available on GNU ELPA.
Hmm, project.el has existed longer than that, I think.
lisp/progmodes/project.el has been in the Emacs repo since 2015 and was
part of the Emacs 25 release. However, if I recall correctly, it's a
bit of a moving target in terms of variable/function names.
> * piem.el (piem-inbox-coderepo-maybe-read): Add support for reading
> directory using project.el.
Sorry, no changelog entries allowed in this code base :) You could map
the gist of that onto the subject, though. Something like
piem-inbox-coderepo-maybe-read: Support project.el
> diff --git a/piem.el b/piem.el
> index 7b198d1..f6458f9 100644
> --- a/piem.el
> +++ b/piem.el
> @@ -372,6 +372,9 @@ (defun piem-inbox-coderepo-maybe-read ()
> (when-let ((current (and (fboundp 'projectile-project-root)
> (projectile-project-root))))
> (abbreviate-file-name current)))))
> + (and (bound-and-true-p project--list)
> + (expand-file-name
> + (project-prompt-project-dir)))
I'd prefer to avoid inspecting a -- symbol if possible. Maybe a good
indicator that project.el should be used is if project-list-file is
bound and the file it points to exists.
Also, `make compile' gives the following warning:
piem.el:788:1:Warning: the function ‘project-prompt-project-dir’ is not known
to be defined.
You can squelch that with
(fboundp 'project-prompt-project-dir)
Both project-prompt-project-dir and project-list-file won't be available
until the Emacs 28 release, but, as you mention, project.el is on ELPA
too, so I think it's fine to be forward-looking here.