Hi,

 

Here is a simple recipe:

 

1/ Start emacs with --no-init

 

2/ Check that grep-use-null-device is set to ‘auto-detect’

 

3/ Execute non-interactively

(grep "grep --color -nH --null -e something")

 

The command that’s echoed in the grep buffer is:

grep --color -nH --null -e something /dev/null

 

4/ I can see that grep-use-null-device has been set to nil

 

This suggests that automatic detection of grep-use-null-device

has taken place. Is this expected after non-interactive invocation ?

 

The documentation seems to suggest that automatic detection of

grep-use-null-device should  take place on the first *interactive*

call, but not before that. Perhaps I don't read the documentation

correctly though, it's very possible !

 

However, if automatic detection of grep-use-null-device after non-interactive

Invocation is the correct behavior, then why was /dev/null added to the

command despite grep-use-null-device being set to nil ?

5/ Execute non-interactively the same command again:

(grep "grep --color -nH --null -e something")

 

The command that’s echoed in the grep buffer now is:

grep --color -nH --null -e something

 

This time round, /dev/null is not present. At least this is consistent with

grep-use-null-device being set to nil.

What doesn't seem right is that the echoed command is not the same as

that from step 3/

 

Any thoughts or comments ?

Thanks !

David