GNU bug report logs - #36895
Patch in dired-guess-shell-alist-default

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> linkov.net>

Date: Thu, 1 Aug 2019 21:47:03 UTC

Severity: normal

Tags: patch

Done: Juri Linkov <juri <at> linkov.net>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Juri Linkov <juri <at> linkov.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 36895 <at> debbugs.gnu.org
Subject: bug#36895: Patch in dired-guess-shell-alist-default
Date: Sun, 04 Aug 2019 01:16:06 +0300
[Message part 1 (text/plain, inline)]
>> Isn't "git apply" used more often nowadays than "patch"?
>
> No, not here.  "git apply" is only relevant for when working in a Git
> repository.
>
> We could perhaps make this customizable, or maybe even make Emacs
> intuit the right command looking at the current buffer, though.

Yes, this would be more appropriate:

[dired-guess-shell-alist-default.2.patch (text/x-diff, inline)]
diff --git a/lisp/dired-x.el b/lisp/dired-x.el
index 462fa4ee15..313a22725c 100644
--- a/lisp/dired-x.el
+++ b/lisp/dired-x.el
@@ -827,6 +827,7 @@ dired-shell-command-history
 ;; install GNU zip's version of zcat.
 
 (autoload 'Man-support-local-filenames "man")
+(autoload 'vc-responsible-backend "vc")
 
 (defvar dired-guess-shell-alist-default
   (list
@@ -909,7 +910,10 @@ dired-guess-shell-alist-default
 	 '(concat "znew" (if dired-guess-shell-gzip-quiet " -q")
 		  " " dired-guess-shell-znew-switches))
 
-   '("\\.patch\\'" "cat * | patch")
+   (list "\\.patch\\'"
+         '(if (eq (ignore-errors (vc-responsible-backend default-directory)) 'Git)
+              "cat * | git apply"
+            "cat * | patch"))
    (list "\\.patch\\.g?z\\'" "gunzip -qc * | patch"
 	 ;; Optional decompression.
 	 '(concat "gunzip" (if dired-guess-shell-gzip-quiet " -q")))

This bug report was last modified 6 years and 9 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.