2009-07-12

emacs on Windows dired don't known Z gunzip

On Jul 12, 12:29 pm, Eli Zaretskii wrote:
> > From: Xah Lee
> > 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/

No comments:

Post a Comment