Subject: bug#29680: another grep-find anomalous behaviour

From: Eli Zaretskii <[email-masked]>
Date: Fri, 15 Dec 2017 22:42:28 +0200

> Cc: [email-masked]
> From: Donald H Locker <[email-masked]>
> Date: Fri, 15 Dec 2017 13:46:32 -0500
> 
> The underlying "unixy" environment is cygwin; updated a few weeks ago. 

What customizations do you have to go with that setup?  Any
customizations of shell-file-name or similar variables?

> The behaviour is very repeatable, though - at one level in the directory 
> hierarchy, the command fails to even execute find; at one higher level 
> in the directory hierarchy, the command succeeds and finds the sought 
> strings in the file.

It's hard to reason about your case without knowing which files are
present in each directory.  Would you mind to concoct a small test
case, where all directories and files in the tree to be searched by
'find' are explicitly spelled out?

> Note that in the Model_withEVSE directory, "find ."  doesn't seem to
> think that '.' is a directory

I think your interpretation of the error message is mistaken.  It says
"paths must precede expression", but that's because somehow '*.log' is
expanded into more than a single argument.  I suspect that the command
works in a directory with no files whose names match *.log, and
doesn't work where there are such files.  So I'd suggest to continue
looking into the quoting issue.  One possibility is to replace 'find'
with a program or a batch file which will just echo its command-line
arguments, and then see how Emacs invokes it.