diff options
author | Antero Mejr <antero@mailbox.org> | 2023-03-24 20:41:41 +0000 |
---|---|---|
committer | Jim Porter <jporterbugs@gmail.com> | 2023-04-10 21:00:17 -0700 |
commit | ebac67129e86ce201d88debb1a8c9d6924215e84 (patch) | |
tree | 6842579c083d287c1375fd0a35cf84da7d0462a0 | |
parent | 0724e0aeb5be7c60cd76c6afc8e22ed47d9c85bd (diff) | |
download | emacs-ebac67129e86ce201d88debb1a8c9d6924215e84.tar.gz |
eshell: Add 'rgrep' builtin
* lisp/eshell/em-unix.el (eshell/rgrep): New function.
(eshell-unix-initialize): Add "rgrep" to 'eshell-complex-commands'.
* etc/NEWS: Add NEWS entry for rgrep.
* doc/misc/eshell.texi (Built-ins): Add documentation for rgrep.
-rw-r--r-- | doc/misc/eshell.texi | 2 | ||||
-rw-r--r-- | etc/NEWS | 5 | ||||
-rw-r--r-- | lisp/eshell/em-unix.el | 11 |
3 files changed, 15 insertions, 3 deletions
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index 1c33c04f647..4e2bddf42af 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -602,6 +602,8 @@ disabled by default. @cmindex egrep @itemx fgrep @cmindex fgrep +@itemx rgrep +@cmindex rgrep @itemx glimpse @cmindex glimpse The @command{grep} commands are compatible with GNU @command{grep}, @@ -174,6 +174,11 @@ correctly unloads Eshell and all of its modules. After manually editing 'eshell-aliases-file', you can use this command to load the edited aliases. ++++ +*** 'rgrep' is now a builtin command. +Running "rgrep" in Eshell now uses the Emacs grep facility instead of +calling external rgrep. + ** Shell Mode +++ diff --git a/lisp/eshell/em-unix.el b/lisp/eshell/em-unix.el index d550910f4f0..a792493e071 100644 --- a/lisp/eshell/em-unix.el +++ b/lisp/eshell/em-unix.el @@ -145,9 +145,10 @@ Otherwise, Emacs will attempt to use rsh to invoke du on the remote machine." (add-hook 'pcomplete-try-first-hook 'eshell-complete-host-reference nil t)) (setq-local eshell-complex-commands - (append '("grep" "egrep" "fgrep" "agrep" "glimpse" "locate" - "cat" "time" "cp" "mv" "make" "du" "diff") - eshell-complex-commands))) + (append '("grep" "egrep" "fgrep" "agrep" "rgrep" + "glimpse" "locate" "cat" "time" "cp" "mv" + "make" "du" "diff") + eshell-complex-commands))) (defalias 'eshell/date 'current-time-string) (defalias 'eshell/basename 'file-name-nondirectory) @@ -773,6 +774,10 @@ external command." "Use Emacs grep facility instead of calling external agrep." (eshell-grep "agrep" args)) +(defun eshell/rgrep (&rest args) + "Use Emacs grep facility instead of calling external rgrep." + (eshell-grep "grep" (append '("-rH") args) t)) + (defun eshell/glimpse (&rest args) "Use Emacs grep facility instead of calling external glimpse." (let (null-device) |