http://unxutils.sourceforge.net/ is good. Also see the unix binaries that come with the windows version of the Git client.

just make sure, as noted above, that where ever you place these binaries, the paths are in you PATH environmental variable.

-Will

On Sun, Jul 12, 2009 at 7:58 PM, Xah Lee <xahlee@gmail.com> wrote:
On Jul 12, 12:29 pm, Eli Zaretskii <e...@gnu.org> wrote:
> > From: Xah Lee <xah...@gmail.com>
> > Date: Sat, 11 Jul 2009 22:14:33 -0700 (PDT)
>
> > when using emacsW32, in dired, i press Z to uncompress a file, but i
> > got this error:
>
> > apply: Searching for program: no such file or directory, gunzip
>
> > any idea how to fix that?
>
> Make sure gzip.exe is in some directory mentioned in exec-path (inside
> Emacs) or in Path (outside Emacs).
>
> > I have cygwin installed. “which gunzip” shows “/usr/bin/gunzip”.
>
> There's no such thing as "/usr/bin/gunzip" on Windows: every absolute
> file name must begin with a drive letter or two slashes.  Cygwin hides
> the drive letter (and possibly also a few leading directories) to
> pretend there's a Posix-standard directory tree on your machine, but
> that's an illusion that only Cygwin programs can share.  EmacsW32,
> being a native Windows program, cannot.
>
> > Manually gunning gunzip or gzip -d with shell-command works fine.
>
> Probably because your shell is set to the Cygwin shell.  But Z invokes
> gzip via call-process, which bypasses the shell, so you need to play
> by the Windows rules.

thanks a lot. very informative.

after looking into this with your help, i think my problem is about
emacs unable to execute unix shell script.

pressing Z in dired to compress a file is no problem. The problem is
with uncompressing. The gunzip is located at

c:/cygwin/bin/gunzip

however, it is just a shell script, the content is:

#!/bin/sh
PATH=${GZIP_BINDIR-'/usr/bin'}:$PATH
exec gzip -d "$@"

So, it seems to me, dired of emacs on Windows is unable execute this
unix shell script as is...

any suggestion on getting emacs to call gzip -d directly?

at this point, a easy practical solution is just to define the key Z
in dired and hook it to my own function that parse file name to
determine to compress or uncompress than call shell-command with
gzip... modding dired elisp file seems will take much longer ...

thanks for any thoughts.

 Xah
http://xahlee.org/