Subject: bug#23453: 25.0.93; dired-do-find-regexp does not work on Windows even after installing GNU find and grep

From: Kaushal Modi <[email-masked]>
Date: Wed, 04 May 2016 19:39:45 +0000

--text follows this line--

Hi,

This is on 64-bit Windows 7 Enterprise version.

It did not have the GNU find and grep by default. So I downloaded the
following ports:

(1)
https://sourceforge.net/projects/ezwinports/files/findutils-4.2.30-5-w32-bin.zip/download
(2)
https://sourceforge.net/projects/ezwinports/files/grep-2.10-w32-bin.zip/download

extracted them and added the resultant bin directory
( C:\Users\kmodi\Dropbox\Portable Software\ezwinports\bin ) to the user
PATH environment variable.

The problem is that the user PATH env var comes at a lower order of
precendence than the system value of the PATH env var. So first the admin
controlled directories come in PATH and then the user added directories
come.

So the newly added "C:\Users\kmodi\Dropbox\Portable
Software\ezwinports\bin" comes at the very end when I do C-h v exec-path
and (getenv "PATH").

So the find.exe found by emacs is the one in C:\Windows\System32\find.exe

By I used the brute-force method below just so that the correct find.exe
and grep.exe are found by emacs:

(setq exec-path '("C:/Users/kmodi/Dropbox/Portable Software/ezwinports/bin"
                  "c:/ProgramData/Oracle/Java/javapath"
                  "C:/Program Files (x86)/NVIDIA Corporation/PhysX/Common"
                  "C:/Windows/system32"
                  "C:/Windows"
                  "C:/Windows/System32/Wbem"
                  "C:/Windows/System32/WindowsPowerShell/v1.0/"
                  "C:/Program Files/WIDCOMM/Bluetooth Software/"
                  "C:/Program Files/WIDCOMM/Bluetooth Software/syswow64"
                  "C:/Program Files/Intel/WiFi/bin/"
                  "C:/Program Files/Common Files/Intel/WirelessCommon/"
                  "C:/Program Files (x86)/QuickTime/QTSystem/"
                  "C:/Program Files (x86)/Common Files/Roxio
Shared/DLLShared/"
                  "C:/Program Files (x86)/Common Files/Roxio
Shared/OEM/DLLShared/"
                  "C:/Program Files (x86)/Common Files/Roxio
Shared/OEM/DLLShared/"
                  "C:/Program Files (x86)/Common Files/Roxio
Shared/OEM/12.0/DLLShared/"
                  "C:/Program Files (x86)/Roxio/OEM/AudioCore/"
                  "C:/Users/kmodi/.yari/bin"
                  "C:/Python27"
                  "C:/Program Files/MiKTeX 2.9/miktex/bin/x64/"
                  "C:/Program Files/MATLAB/R2013a/runtime/win64"
                  "C:/Program Files/MATLAB/R2013a/bin"
                  "C:/Program Files (x86)/Intel/OpenCL SDK/2.0/bin/x86"
                  "C:/Program Files (x86)/Intel/OpenCL SDK/2.0/bin/x64"
                  "C:/Users/k"
                  "C:/Program Files/Git/cmd"
                  "C:/Users/kmodi/.yari/bin"
                  "C:/Users/kmodi/.yari/ruby-1.9.3-p194-i386-mingw32/bin"
                  "C:/Users/kmodi/AppData/Local/bin"
                  "."
                  "c:/Users/kmodi/Dropbox/Portable
Software/emacs/libexec/emacs/25.0.93/x86_64-w64-mingw32"))

(setenv "PATH" "C:\\Users\\kmodi\\Dropbox\\Portable
Software\\ezwinports\\bin;C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Program
Files (x86)\\NVIDIA
Corporation\\PhysX\\Common;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program
Files\\WIDCOMM\\Bluetooth Software\\;C:\\Program Files\\WIDCOMM\\Bluetooth
Software\\syswow64;C:\\Program Files\\Intel\\WiFi\\bin\\;C:\\Program
Files\\Common Files\\Intel\\WirelessCommon\\;C:\\Program Files
(x86)\\QuickTime\\QTSystem\\;C:\\Program Files (x86)\\Common Files\\Roxio
Shared\\DLLShared\\;C:\\Program Files (x86)\\Common Files\\Roxio
Shared\\OEM\\DLLShared\\;C:\\Program Files (x86)\\Common Files\\Roxio
Shared\\OEM\\DLLShared\\;C:\\Program Files (x86)\\Common Files\\Roxio
Shared\\OEM\\12.0\\DLLShared\\;C:\\Program Files
(x86)\\Roxio\\OEM\\AudioCore\\;C:\\Users\\kmodi\\.yari\\bin;C:\\Python27;C:\\Program
Files\\MiKTeX 2.9\\miktex\\bin\\x64\\;C:\\Program
Files\\MATLAB\\R2013a\\runtime\\win64;C:\\Program
Files\\MATLAB\\R2013a\\bin;C:\\Program Files (x86)\\Intel\\OpenCL
SDK\\2.0\\bin\\x86;C:\\Program Files (x86)\\Intel\\OpenCL
SDK\\2.0\\bin\\x64;C:\\Users\\k;C:\\Program
Files\\Git\\cmd;C:\\Users\\kmodi\\.yari\\bin;C:\\Users\\kmodi\\.yari\\ruby-1.9.3-p194-i386-mingw32\\bin;C:\\Users\\kmodi\\AppData\\Local\\bin;.;")

Now I get

"c:/Users/kmodi/Dropbox/Portable Software/ezwinports/bin/find.exe"

when I do (executable-find "find"), and

"c:/Users/kmodi/Dropbox/Portable Software/ezwinports/bin/grep.exe"

when I do (executable-find "grep").

But even now, the A command (dired-do-find-regexp) in dired does not work.

Here's how I verified it to not work:

(1) I downloaded http://git.savannah.gnu.org/cgit/emacs.git/plain/etc/NEWS as
NEWS.txt to a folder in Windows.
(2) In emacs -Q with the above fixes to exec-path and PATH env var, with
find.exe and grep.exe being the correct one, I use C-x d to open dired in
the folder containing NEWS.exe
(3) I mark NEWS.txt using `m' key
(4) Then I do `A' and search for "Emacs"

All I get is "No matches for: Emacs"
(whereas the same steps to search "Emacs" in NEWS.txt work as expected in
RHEL)

- So, what could have gone wrong in this?
- What debug info can I provide? The find.exe and grep.exe look correct. Do
I need to install anything else from ezwinports?

(Also I shouldn't have needed to shuffle the exec-path and PATH as above to
point to the correct find and grep executables.)

In GNU Emacs 25.0.93.2 (x86_64-w64-mingw32)
 of 2016-04-23 built on ..
Windowing system distributor 'Microsoft Corp.', version 6.1.7601
Configured using:
 'configure --prefix=/tmp/emacs --without-imagemagick
 --enable-checking=yes,glyphs --enable-check-lisp-object-type
 'CFLAGS=-Og -gdwarf-4 -g3''

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND DBUS NOTIFY ACL GNUTLS LIBXML2 ZLIB
TOOLKIT_SCROLL_BARS

Important settings:
  value of $LANG: ENU
  locale-coding-system: cp1252

Major mode: Messages

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Recent messages:
user-error: Minibuffer window is not active
Mark set [5 times]
"C:\\Users\\kmodi\\Dropbox\\Portable
Software\\ezwinports\\bin;C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Program
Files (x86)\\NVIDIA
Corporation\\PhysX\\Common;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program
Files\\WIDCOMM\\Bluetooth Software\\;C:\\Program Files\\WIDCOMM\\Bluetooth
Software\\syswow64;C:\\Program Files\\Intel\\WiFi\\bin\\;C:\\Program
Files\\Common Files\\Intel\\WirelessCommon\\;C:\\Program Files
(x86)\\QuickTime\\QTSystem\\;C:\\Program Files (x86)\\Common Files\\Roxio
Shared\\DLLShared\\;C:\\Program Files (x86)\\Common Files\\Roxio
Shared\\OEM\\DLLShared\\;C:\\Program Files (x86)\\Common Files\\Roxio
Shared\\OEM\\DLLShared\\;C:\\Program Files (x86)\\Common Files\\Roxio
Shared\\OEM\\12.0\\DLLShared\\;C:\\Program Files
(x86)\\Roxio\\OEM\\AudioCore\\;C:\\Users\\kmodi\\.yari\\bin;C:\\Python27;C:\\Program
Files\\MiKTeX 2.9\\miktex\\bin\\x64\\;C:\\Program
Files\\MATLAB\\R2013a\\runtime\\win64;C:\\Program
Files\\MATLAB\\R2013a\\bin;C:\\Program Files (x86)\\Intel\\OpenCL
SDK\\2.0\\bin\\x86;C:\\Program Files (x86)\\Intel\\OpenCL
SDK\\2.0\\bin\\x64;C:\\Users\\k;C:\\Program
Files\\Git\\cmd;C:\\Users\\kmodi\\.yari\\bin;C:\\Users\\kmodi\\.yari\\ruby-1.9.3-p194-i386-mingw32\\bin;C:\\Users\\kmodi\\AppData\\Local\\bin;.;"
[2 times]
user-error: No matches for: icons
Quit
user-error: No matches for: Emacs
user-error: Beginning of history; no preceding item
"c:/Users/kmodi/Dropbox/Portable Software/ezwinports/bin/find.exe"
GNU Emacs 25.0.93.2 (x86_64-w64-mingw32) of 2016-04-23
Making completion list...

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message format-spec rfc822 mml mml-sec
password-cache epg epg-config gnus-util mm-decode mm-bodies mm-encode
mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047
rfc2045 ietf-drums mm-util mail-prsvr mail-utils thingatpt help-fns
find-dired semantic/fw mode-local find-func xref cl-seq project eieio
byte-opt bytecomp byte-compile cconv eieio-core cl-macs gv cl-extra
help-mode easymenu grep compile comint ansi-color ring misearch
multi-isearch dired-aux dired edmacro kmacro cl-loaddefs pcase cl-lib
time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type mwheel dos-w32 ls-lisp disp-table w32-win w32-vars
term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core frame cl-generic cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help
simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces
cus-face macroexp files text-properties overlay sha1 md5 base64 format
env code-pages mule custom widget hashtable-print-readable backquote
w32notify dbusbind w32 multi-tty make-network-process emacs)

Memory information:
((conses 16 115954 17326)
 (symbols 56 22177 0)
 (miscs 48 87 139)
 (strings 32 22933 5432)
 (string-bytes 1 705086)
 (vectors 16 15394)
 (vector-slots 8 475031 4303)
 (floats 8 230 198)
 (intervals 56 1290 331)
 (buffers 976 15))

-- 

-- 
Kaushal Modi