aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Leung <leungbk@mailfence.com>2019-10-14 21:40:16 -0700
committerBrian Leung <leungbk@mailfence.com>2019-10-14 22:04:11 -0700
commitdbaa829ec680a2c19c8860a5e3f30c428f99f531 (patch)
tree937f3865094df20a1b40a1773858dc072c992c96
parentddf6e9bdb14f709df8ec72317217d9128764a8e5 (diff)
downloadguix-dbaa829ec680a2c19c8860a5e3f30c428f99f531.tar
guix-dbaa829ec680a2c19c8860a5e3f30c428f99f531.tar.gz
gnu: emacs-magit: Add patch for compatibility with emacs-forge.
* gnu/local.mk (emacs-magit-format-author-margin.patch): Add patch. * gnu/packages/emacs-xyz.scm: Add. * gnu/packages/patches/emacs-magit-log-format-author-margin.patch: Add.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/emacs-xyz.scm5
-rw-r--r--gnu/packages/patches/emacs-magit-log-format-author-margin.patch72
3 files changed, 78 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 6ec1bbf2e4..ba8cc1ee1f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -794,6 +794,7 @@ dist_patch_DATA = \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
+ %D%/packages/patches/emacs-magit-log-format-author-margin.patch \
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/emacs-undohist-ignored.patch \
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 3d8aafd3e6..ddaaa01727 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -281,6 +281,11 @@ on stdout instead of using a socket as the Emacsclient does.")
(sha256
(base32
"16qx0404l05q1m6w7y5j8ck1z5nfmpinm00w0p2yh1hn5zzwy6dd"))
+ ;; FIXME: emacs-forge uses a function defined in this patch,
+ ;; which is newer than the current commit.
+ (patches
+ (search-patches
+ "emacs-magit-log-format-author-margin.patch"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/patches/emacs-magit-log-format-author-margin.patch b/gnu/packages/patches/emacs-magit-log-format-author-margin.patch
new file mode 100644
index 0000000000..fc52157a32
--- /dev/null
+++ b/gnu/packages/patches/emacs-magit-log-format-author-margin.patch
@@ -0,0 +1,72 @@
+From 94914ca4690c0cff12d600a0c8ba6bfb3fb38dc5 Mon Sep 17 00:00:00 2001
+From: Jonas Bernoulli <jonas@bernoul.li>
+Date: Tue, 25 Jun 2019 21:44:32 +0200
+Subject: [PATCH] magit-log-format-author-margin: New function
+
+Split it from `magit-log-format-margin'.
+---
+ lisp/magit-log.el | 48 +++++++++++++++++++++++++----------------------
+ 1 file changed, 26 insertions(+), 22 deletions(-)
+
+diff --git a/lisp/magit-log.el b/lisp/magit-log.el
+index c8e6ef63..c0a79b19 100644
+--- a/lisp/magit-log.el
++++ b/lisp/magit-log.el
+@@ -1374,28 +1374,32 @@ The shortstat style is experimental and rather slow."
+ (when-let ((option (magit-margin-option)))
+ (if magit-log-margin-show-shortstat
+ (magit-log-format-shortstat-margin rev)
+- (pcase-let ((`(,_ ,style ,width ,details ,details-width)
+- (or magit-buffer-margin
+- (symbol-value option))))
+- (magit-make-margin-overlay
+- (concat (and details
+- (concat (propertize (truncate-string-to-width
+- (or author "")
+- details-width
+- nil ?\s (make-string 1 magit-ellipsis))
+- 'face 'magit-log-author)
+- " "))
+- (propertize
+- (if (stringp style)
+- (format-time-string
+- style
+- (seconds-to-time (string-to-number date)))
+- (pcase-let* ((abbr (eq style 'age-abbreviated))
+- (`(,cnt ,unit) (magit--age date abbr)))
+- (format (format (if abbr "%%2i%%-%ic" "%%2i %%-%is")
+- (- width (if details (1+ details-width) 0)))
+- cnt unit)))
+- 'face 'magit-log-date)))))))
++ (magit-log-format-author-margin author date))))
++
++(defun magit-log-format-author-margin (author date &optional previous-line)
++ (pcase-let ((`(,_ ,style ,width ,details ,details-width)
++ (or magit-buffer-margin
++ (symbol-value option))))
++ (magit-make-margin-overlay
++ (concat (and details
++ (concat (propertize (truncate-string-to-width
++ (or author "")
++ details-width
++ nil ?\s (make-string 1 magit-ellipsis))
++ 'face 'magit-log-author)
++ " "))
++ (propertize
++ (if (stringp style)
++ (format-time-string
++ style
++ (seconds-to-time (string-to-number date)))
++ (pcase-let* ((abbr (eq style 'age-abbreviated))
++ (`(,cnt ,unit) (magit--age date abbr)))
++ (format (format (if abbr "%%2i%%-%ic" "%%2i %%-%is")
++ (- width (if details (1+ details-width) 0)))
++ cnt unit)))
++ 'face 'magit-log-date))
++ previous-line)))
+
+ (defun magit-log-format-shortstat-margin (rev)
+ (magit-make-margin-overlay
+--
+2.23.0
+