Subject: Re: bug#7785: rgrep is broken on woe32

From: Sam Steingold <[email-masked]>
Date: Wed, 5 Jan 2011 18:49:54 -0500

additional points of information:
exec-path is not always used for subprocesses
(http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7793)
so I have to modify process-environment too:
after fixing exec-path:

  (let ((tail process-environment))
    (while tail
      (when (string-match "^PATH=" (car tail))
        (setcar tail (concat "PATH="
                             (mapconcat (lambda (s)
                                          (subst-char-in-string ?/ ?\\ s))
                                        exec-path ";")))
        (setq tail nil))        ; done
      (setq tail (cdr tail))))

now:

==========================================================
-*- mode: grep; default-directory: "c:/" -*-
Grep started at Wed Jan 05 18:44:10

find . \( -path  -o -path \*/attic -o -path \*/junk -o -path \*/SCCS
-o -path \*/RCS -o -path \*/CVS -o -path \*/MCVS -o -path \*/.svn -o
-path \*/.git -o -path \*/.hg -o -path \*/.bzr -o -path \*/_MTN -o
-path \*/_darcs -o -path \*/\{arch\} \) -prune -o \( -name .\#\* -o
-name \*.bc -o -name \*.exe -o -name \*.cmxa -o -name \*.cmx -o -name
\*.cmo -o -name \*.cmi -o -name \*.cma -o -name \*.spit -o -name
\*.spot -o -name \*.omc -o -name \*.data -o -name \*.old -o -name
\*.tmp -o -name \*.annot -o -name \*.p -o -name \*.err -o -name \*.o
-o -name \*\~ -o -name \*.bin -o -name \*.bak -o -name \*.obj -o -name
\*.map -o -name \*.ico -o -name \*.pif -o -name \*.lnk -o -name \*.a
-o -name \*.ln -o -name \*.blg -o -name \*.bbl -o -name \*.dll -o
-name \*.drv -o -name \*.vxd -o -name \*.386 -o -name \*.elc -o -name
\*.lof -o -name \*.glo -o -name \*.idx -o -name \*.lot -o -name \*.fmt
-o -name \*.tfm -o -name \*.class -o -name \*.fas -o -name \*.lib -o
-name \*.mem -o -name \*.x86f -o -name \*.sparcf -o -name \*.fasl -o
-name \*.ufsl -o -name \*.fsl -o -name \*.dxl -o -name \*.pfsl -o
-name \*.dfsl -o -name \*.p64fsl -o -name \*.d64fsl -o -name
\*.dx64fsl -o -name \*.lo -o -name \*.la -o -name \*.gmo -o -name
\*.mo -o -name \*.toc -o -name \*.aux -o -name \*.cp -o -name \*.fn -o
-name \*.ky -o -name \*.pg -o -name \*.tp -o -name \*.vr -o -name
\*.cps -o -name \*.fns -o -name \*.kys -o -name \*.pgs -o -name \*.tps
-o -name \*.vrs -o -name \*.pyc -o -name \*.pyo \) -prune -o  -type f
\( -iname \*.el \) -print0 | xargs -0 -e grep -i -nH gnu.org
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]

Grep finished (matches found) at Wed Jan 05 18:44:10
==========================================================

the error message is obviously from gnu find, but I don't see what is
wrong with the command line.