GNU bug report logs -
#36110
find-dired not sorted on any field nor provides a way
Previous Next
Reported by: 積丹尼 Dan Jacobson <jidanni <at> jidanni.org>
Date: Wed, 5 Jun 2019 23:37:01 UTC
Severity: wishlist
Merged with 29513,
36123
Found in version 25.2
Fixed in version 27.1
Done: "Roland Winkler" <winkler <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #44 received at 36110 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
In addition to the previous patch, it also makes sense to add similar
options to grep:
[grep-find-use-xargs.patch (text/x-diff, inline)]
diff --git a/lisp/progmodes/grep.el b/lisp/progmodes/grep.el
index 79178c4346..67222f7862 100644
--- a/lisp/progmodes/grep.el
+++ b/lisp/progmodes/grep.el
@@ -511,14 +511,24 @@ xargs-program
This variable's value takes effect when `grep-compute-defaults' is called.")
;;;###autoload
-(defvar grep-find-use-xargs nil
+(defcustom grep-find-use-xargs nil
"How to invoke find and grep.
If `exec', use `find -exec {} ;'.
If `exec-plus' use `find -exec {} +'.
If `gnu', use `find -print0' and `xargs -0'.
+If `gnu-sort', use `find -print0', `sort -z' and `xargs -0'.
Any other value means to use `find -print' and `xargs'.
-This variable's value takes effect when `grep-compute-defaults' is called.")
+This variable's value takes effect when `grep-compute-defaults' is called."
+ :type '(choice (const :tag "find -exec {} ;" exec)
+ (const :tag "find -exec {} +" exec-plus)
+ (const :tag "find -print0 | xargs -0" gnu)
+ (const :tag "find -print0 | sort -z | xargs -0'" gnu-sort)
+ string
+ (const :tag "Not Set" nil))
+ :set 'grep-apply-setting
+ :version "27.1"
+ :group 'grep)
;; History of grep commands.
;;;###autoload
@@ -728,6 +738,9 @@ grep-compute-defaults
;; forward slashes as directory separators.
(format "%s . -type f -print0 | \"%s\" -0 %s"
find-program xargs-program grep-command))
+ ((eq grep-find-use-xargs 'gnu-sort)
+ (format "%s . -type f -print0 | sort -z | \"%s\" -0 %s"
+ find-program xargs-program grep-command))
((memq grep-find-use-xargs '(exec exec-plus))
(let ((cmd0 (format "%s . -type f -exec %s"
find-program grep-command))
@@ -752,6 +765,9 @@ grep-compute-defaults
(cond ((eq grep-find-use-xargs 'gnu)
(format "%s <D> <X> -type f <F> -print0 | \"%s\" -0 %s"
find-program xargs-program gcmd))
+ ((eq grep-find-use-xargs 'gnu-sort)
+ (format "%s <D> <X> -type f <F> -print0 | sort -z | \"%s\" -0 %s"
+ find-program xargs-program gcmd))
((eq grep-find-use-xargs 'exec)
(format "%s <D> <X> -type f <F> -exec %s %s %s%s"
find-program gcmd quot-braces null quot-scolon))
This bug report was last modified 5 years and 342 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.