diff options
| author | Christopher Thorne <c.thorne@reckondigital.com> | 2019-04-11 23:51:13 +0300 |
|---|---|---|
| committer | Juri Linkov <juri@linkov.net> | 2019-04-11 23:51:13 +0300 |
| commit | de238b39e335c6814283faa171b35145f124edf2 (patch) | |
| tree | 37d45836bc976f0b79ed69f54b31dd792414394d /lisp/dired.el | |
| parent | 382a508ed21e4f12ace9f8871818e25235e8f05e (diff) | |
| download | emacs-de238b39e335c6814283faa171b35145f124edf2.tar.gz | |
Fix rgrep in dired using directory for search file pattern
* lisp/progmodes/grep.el (grep-read-files): Allow major modes to
define file name to use for default search pattern.
Add non-directory file at point as default search pattern candidate.
* lisp/dired.el (dired-grep-read-files): Use non-directory file at
point for grep file name pattern. (Bug#34621)
Copyright-paperwork-exempt: yes
Diffstat (limited to 'lisp/dired.el')
| -rw-r--r-- | lisp/dired.el | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/lisp/dired.el b/lisp/dired.el index 4c2c3f44e72..63082fe3927 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -774,6 +774,15 @@ as an argument to `dired-goto-file'." (file-name-as-directory (abbreviate-file-name filename)) (abbreviate-file-name filename))))) +(defun dired-grep-read-files () + "Use file at point as the file for grep's default file-name pattern suggestion. +If a directory or nothing is found at point, return nil." + (let ((file-name (dired-file-name-at-point))) + (if (and file-name + (not (file-directory-p file-name))) + file-name))) +(put 'dired-mode 'grep-read-files 'dired-grep-read-files) + ;;;###autoload (define-key ctl-x-map "d" 'dired) ;;;###autoload (defun dired (dirname &optional switches) |
