[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#32093: 27.0.50; M-x grep appends /dev/null to command line
From: |
David Kastrup |
Subject: |
bug#32093: 27.0.50; M-x grep appends /dev/null to command line |
Date: |
Sun, 08 Jul 2018 13:17:53 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Michael Albinus <michael.albinus@gmx.de> writes:
> David Kastrup <dak@gnu.org> writes:
>
>> So you are saying there is a bug workaround that will tie me into using
>> one grep-like command in future, ever. Because obviously in my case
>> auto detection failed.
>
> Don't know. Maybe you check what autodetect does in your case.
Here is the respective code:
318e2976570 (Kim F. Storm 2003-11-23 626) (unless (or (not
grep-use-null-device) (eq grep-use-null-device t))
318e2976570 (Kim F. Storm 2003-11-23 627) (setq
grep-use-null-device
318e2976570 (Kim F. Storm 2003-11-23 628) (with-temp-buffer
318e2976570 (Kim F. Storm 2003-11-23 629) (let ((hello-file
(expand-file-name "HELLO" data-directory)))
318e2976570 (Kim F. Storm 2003-11-23 630) (not
0acfb7cea68 (Kim F. Storm 2006-04-28 631) (and (if
grep-command
318e2976570 (Kim F. Storm 2003-11-23 632) ;;
`grep-command' is already set, so
318e2976570 (Kim F. Storm 2003-11-23 633) ;;
use that for testing.
0acfb7cea68 (Kim F. Storm 2006-04-28 634)
(grep-probe grep-command
0acfb7cea68 (Kim F. Storm 2006-04-28 635)
`(nil t nil "^English" ,hello-file)
0acfb7cea68 (Kim F. Storm 2006-04-28 636)
#'call-process-shell-command)
318e2976570 (Kim F. Storm 2003-11-23 637) ;;
otherwise use `grep-program'
0acfb7cea68 (Kim F. Storm 2006-04-28 638)
(grep-probe grep-program
0acfb7cea68 (Kim F. Storm 2006-04-28 639)
`(nil t nil "-nH" "^English" ,hello-file)))
318e2976570 (Kim F. Storm 2003-11-23 640) (progn
318e2976570 (Kim F. Storm 2003-11-23 641)
(goto-char (point-min))
318e2976570 (Kim F. Storm 2003-11-23 642)
(looking-at
318e2976570 (Kim F. Storm 2003-11-23 643)
(concat (regexp-quote hello-file)
318e2976570 (Kim F. Storm 2003-11-23 644)
":[0-9]+:English")))))))))
So the procedure is that the proposed command line (taken from
grep-program) does not include -nH . User edits it to turn it into "git
grep". Autodetection tries calling this(?) on the hello-file(?) which
fails due to the hello-file not being in the Git repository. As a
result, Emacs decides to use /dev/null (?).
This code actually is considerably old, older than what I remember
having worked (though it's sort of hard to tell since the results of
autodetection are stored in a session). So I consider it more likely
that the more recent
644cdd1aa0a (Noam Postavsky 2016-09-13 646) (when (eq
grep-use-null-filename-separator 'auto-detect)
644cdd1aa0a (Noam Postavsky 2016-09-13 647) (setq
grep-use-null-filename-separator
644cdd1aa0a (Noam Postavsky 2016-09-13 648)
(with-temp-buffer
644cdd1aa0a (Noam Postavsky 2016-09-13 649) (let*
((hello-file (expand-file-name "HELLO" data-directory))
644cdd1aa0a (Noam Postavsky 2016-09-13 650)
(args `("--null" "-ne" "^English" ,hello-file)))
644cdd1aa0a (Noam Postavsky 2016-09-13 651) (if
grep-use-null-device
644cdd1aa0a (Noam Postavsky 2016-09-13 652) (setq
args (append args (list null-device)))
644cdd1aa0a (Noam Postavsky 2016-09-13 653) (push
"-H" args))
644cdd1aa0a (Noam Postavsky 2016-09-13 654) (and
(grep-probe grep-program `(nil t nil ,@args))
644cdd1aa0a (Noam Postavsky 2016-09-13 655)
(progn
644cdd1aa0a (Noam Postavsky 2016-09-13 656)
(goto-char (point-min))
644cdd1aa0a (Noam Postavsky 2016-09-13 657)
(looking-at
644cdd1aa0a (Noam Postavsky 2016-09-13 658)
(concat (regexp-quote hello-file)
644cdd1aa0a (Noam Postavsky 2016-09-13 659)
"\0[0-9]+:English"))))))))
644cdd1aa0a (Noam Postavsky 2016-09-13 660)
is involved here. At any rate, the principal problem here is that "git
grep" is a grep-like command that will usually refuse to work on
out-of-tree files (unless --no-index option is given). So the results
from any of the autodetection, based on searching the HELLO file, are
sort-of random.
--
David Kastrup
- bug#32093: 27.0.50; M-x grep appends /dev/null to command line, David Kastrup, 2018/07/08
- bug#32093: 27.0.50; M-x grep appends /dev/null to command line, Michael Albinus, 2018/07/08
- bug#32093: 27.0.50; M-x grep appends /dev/null to command line, David Kastrup, 2018/07/08
- bug#32093: 27.0.50; M-x grep appends /dev/null to command line, Michael Albinus, 2018/07/08
- bug#32093: 27.0.50; M-x grep appends /dev/null to command line,
David Kastrup <=
- bug#32093: 27.0.50; M-x grep appends /dev/null to command line, Noam Postavsky, 2018/07/08
- bug#32093: 27.0.50; M-x grep appends /dev/null to command line, David Kastrup, 2018/07/08
- bug#32093: 27.0.50; M-x grep appends /dev/null to command line, Eli Zaretskii, 2018/07/08
- bug#32093: 27.0.50; M-x grep appends /dev/null to command line, David Kastrup, 2018/07/08
- bug#32093: 27.0.50; M-x grep appends /dev/null to command line, Noam Postavsky, 2018/07/09
- bug#32093: 27.0.50; M-x grep appends /dev/null to command line, David Kastrup, 2018/07/10
- bug#32093: 27.0.50; M-x grep appends /dev/null to command line, Eli Zaretskii, 2018/07/10
- bug#32093: 27.0.50; M-x grep appends /dev/null to command line, Noam Postavsky, 2018/07/10
- bug#32093: 27.0.50; M-x grep appends /dev/null to command line, Noam Postavsky, 2018/07/09