Subject: [bug#40417] Add emacs-magit-annex

From: Kyle Meyer <[email-masked]>
Date: Tue, 28 Apr 2020 00:37:06 +0000

Christopher Lemmer Webber <[email-masked]> writes:

> Ok, revised patch.  It works fine, though I am getting these errors:
>
>   Compiling /gnu/store/3lc8vna2n2nhcdkfiqldg426ngjmzjnm-emacs-magit-annex-1.7.1-1.0bc9673/share/emacs/site-lisp/magit-annex-autoloads.el...
>
>   In toplevel form:
>   magit-annex-autoloads.el:10:45:Warning: reference to free variable
>       ‘magit-mode-map’
>   
>   In end of data:
>   magit-annex-autoloads.el:60:1:Warning: the function ‘transient-append-suffix’
>       is not known to be defined.

Hmm, I'm not sure about these.  I thought generated -autoloads.el files
typically have a "no-byte-compile: t" in their ";; Local Variables: "
trailer.  Anyway, despite being unsightly, functionally these are fine;
those expressions are within an (eval-after-load 'magit ...), and the
referenced items will be loaded with magit.el.

>   In end of data:
>   magit-annex.el:834:1:Warning: the function ‘magit-log-setup-buffer’ is not
>       known to be defined.
>   Done (Total of 2 files compiled)
>
> That seems strange/alarming.

This one points to a real problem, though you'd only see it when calling
the command magit-annex-unused-log.  Magit renamed magit-git-log to
magit-log-setup-buffer.  Magit-annex's master tracks Magit's, so it uses
the new name, but the former is what is in the commit that Guix's Magit
is built from.  I've pushed a compatibility kludge to Magit-annex so
that it will fall back to the old name.

Could you squash this commit into your commit?

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index c56766047d..b4c12f57ea 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -476,7 +476,7 @@ (define-public emacs-magit-popup
     (license license:gpl3+)))
 
 (define-public emacs-magit-annex
-  (let ((commit "0bc96737634e78ac7c7f8a3f73190531c0890914")
+  (let ((commit "ef5dce6267e9118a5eca82a22bcad0b67826c23a")
         (revision "1"))
     (package
       (name "emacs-magit-annex")
@@ -489,7 +489,7 @@ (define-public emacs-magit-annex
                 (file-name (git-file-name name version))
                 (sha256
                  (base32
-                  "1lm8412n2046fz8n7rfbadyww2074lsxq0w4gm1x1alraz5im5h4"))))
+                  "0vzkydgl889cq173zjl89g2vrddb9abc4a8gljiz3b4a7n5b1nrd"))))
       (build-system emacs-build-system)
       (propagated-inputs
        `(("magit" ,emacs-magit)