From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:35482) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iGpc0-0003xh-FX for guix-patches@gnu.org; Sat, 05 Oct 2019 15:21:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iGpbz-0007MX-5r for guix-patches@gnu.org; Sat, 05 Oct 2019 15:21:04 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:36449) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iGpbz-0007MQ-2K for guix-patches@gnu.org; Sat, 05 Oct 2019 15:21:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iGpby-0006aL-Sl for guix-patches@gnu.org; Sat, 05 Oct 2019 15:21:02 -0400 Subject: [bug#36999] [PATCH 1/4] gnu: emacs-magit: Update to 2.90.1-1.c761d28. Resent-Message-ID: From: Oleg Pykhalov Date: Sat, 5 Oct 2019 22:19:26 +0300 Message-Id: <20191005191929.7356-2-go.wigust@gmail.com> In-Reply-To: <20191005191929.7356-1-go.wigust@gmail.com> References: <20191005191929.7356-1-go.wigust@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 36999@debbugs.gnu.org Cc: Oleg Pykhalov * gnu/packages/emacs-xyz.scm (emacs-magit): Update to 2.90.1-1.c761d28. [arguments]: Add patch phase. --- gnu/packages/emacs-xyz.scm | 50 ++++++++++++++++++++++++++++++++++---- 1 file changed, 45 insertions(+), 5 deletions(-) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index afa21ee19e..7044b92240 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -265,21 +265,28 @@ on stdout instead of using a socket as the Emacsclient does.") (license license:gpl3+))) (define-public emacs-magit - ;; Version 2.90.1 has trouble loading the transient library, - ;; so we use a more recent commit that fixes it. - (let ((commit "b4aec016b5577afa8d889f258b499814d1bb1d94")) + ;; `magit-setup-buffer' macro introduced in c761d28d and required in + ;; `emacs-forge'. + (let ((commit "c761d28d49e5238037512b898db0ec9b40d85770")) (package (name "emacs-magit") (version (git-version "2.90.1" "1" commit)) (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/magit/magit") + (url "https://github.com/magit/magit.git") (commit commit))) (file-name (git-file-name name version)) (sha256 (base32 - "0zl7v6z0y50pcgqsf2r8c1k3r5nwjad9ba7r6sgrnf4rc62br7jv")))) + "16qx0404l05q1m6w7y5j8ck1z5nfmpinm00w0p2yh1hn5zzwy6dd")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Fix syntax error + (substitute* "lisp/magit-extras.el" + (("rev\\)\\)\\)\\)\\)\\)") "rev)))))")) + #t)))) (build-system gnu-build-system) (native-inputs `(("texinfo" ,texinfo) ("emacs" ,emacs-minimal))) @@ -318,6 +325,39 @@ on stdout instead of using a socket as the Emacsclient does.") #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch + (lambda _ + (chmod "lisp/magit-extras.el" #o644) + (emacs-batch-edit-file "lisp/magit-extras.el" + `(progn (progn + (goto-char (point-min)) + (re-search-forward "(defun magit-copy-buffer-revision ()") + (forward-sexp 2) + (kill-sexp) + (insert ,(format #f "~S" + '(if (use-region-p) + (copy-region-as-kill nil nil 'region) + (when-let ((rev (cl-case major-mode + ((magit-cherry-mode + magit-log-select-mode + magit-reflog-mode + magit-refs-mode + magit-revision-mode + magit-stash-mode + magit-stashes-mode) + (car magit-refresh-args)) + ((magit-diff-mode magit-log-mode) + (let ((r (caar magit-refresh-args))) + (if (string-match "\\.\\.\\.?\\(.+\\)" r) + (match-string 1 r) + r))) + (magit-status-mode "HEAD")))) + (when (magit-commit-p rev) + (setq rev (magit-rev-parse rev)) + (push (list rev default-directory) magit-revision-stack) + (kill-new (message "%s" rev)))))))) + (basic-save-buffer))) + #t)) (delete 'configure) (add-before 'build 'patch-exec-paths -- 2.23.0