Subject: [bug#45011] [PATCH] add emacs-project and dependency

From: Jonathan <[email-masked]>
Date: Sat, 5 Dec 2020 13:42:03 -0600

---
 gnu/packages/emacs-xyz.scm | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 8a3414d123..b056f05688 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -730,6 +730,33 @@ this one is much simpler and much more consistent.
When using this package,
 then only the color of the mode line changes when a window becomes
in-/active.")
     (license license:gpl3+)))

+(define-public emacs-project
+  (package
+  (name "emacs-project")
+  (version "0.5.2")
+  (source
+   (origin
+     (method url-fetch)
+     (uri (string-append
+           "https://elpa.gnu.org/packages/project-"
+           version
+           ".el"))
+     (sha256
+      (base32
+       "181hls4phhj8kgpfcky6h0mgzpl9xj616abvcvx8mrn4nmpyh655"))))
+  (build-system emacs-build-system)
+  (propagated-inputs `(("emacs-xref" ,emacs-xref)))
+  (home-page
+   "http://elpa.gnu.org/packages/project.html")
+  (synopsis "This file contains generic infrastructure for dealing with
+projects, some utility functions, and commands using that
+infrastructure.")
+  (description
+   "The goal is to make it easier for Lisp programs to operate on the
+current project, without having to know which package handles
+detection of that project type, parsing its config files, etc.")
+  (license license:gpl3+)))
+
 (define-public emacs-treepy
   (package
     (name "emacs-treepy")
-- 
2.29.2

On Fri, Dec 4, 2020 at 2:12 PM Nicolas Goaziou <[email-masked]>
wrote:

> Hello,
>
> Jonathan <[email-masked]> writes:
>
> >  gnu/packages/emacs-xyz.scm | 61 ++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 61 insertions(+)
>
> Thank you!
>
> Could you write a commit message to introduce your changes? You can look
> at those starting with "Add ..." in the code base.
>
> Also, could you split it into two patches, one for each package?
>
> > +  (synopsis "Operations on the current project")
> > +  (description
> > +   "NOTE: The project API is still experimental and can change in major,
> > +backward-incompatible ways.  Everyone is encouraged to try it, and
> > +report to us any problems or use cases we hadn't anticipated, by
> > +sending an email to emacs-devel, or `M-x report-emacs-bug'.
> > +
> > +This file contains generic infrastructure for dealing with
> > +projects, some utility functions, and commands using that
> > +infrastructure.")
>
> The synopsis could be clarified, so could the description. In
> particular, the latter explains what the library is about.
>
> > +  (description
> > +    "NOTE: The xref API is still experimental and can change in major,
> > +backward-incompatible ways.  Everyone is encouraged to try it, and
> > +report to us any problems or use cases we hadn't anticipated, by
> > +sending an email to emacs-devel, or `M-x report-emacs-bug'.
> > +
> > +This file provides a somewhat generic infrastructure for cross
> > +referencing commands, in particular \"find-definition\".
> > +
> > +See the etags and elisp-mode implementations for full examples.")
>
> Ditto.
>
> Could you send an updated patch?
>
> Regards,
> --
> Nicolas Goaziou
>