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/
☄