This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

gzip.exe as symlink breaks NTEmacs's jka-compr.el


Cygwin package gzip 1.3.3 made the change (from 1.3.2) that /bin/gzip
is a symlink to /bin/gunzip instead of the other way around.  This
change breaks NTEmacs 20.7 and 21.1 on Win2k.  To reproduce, try
evaluating

    (call-process "gzip" nil '(t t) nil "--version")

and Emacs will either freeze until you issue multiple C-g's or Win2k
will popup an "illegal instruction" error dialog.

The common and useful package jka-compr.el (when loaded) by default
invokes `call-process' on "gzip" to uncompress as well as compress
files, rather than "gunzip".

You get similar errors if you invoke `call-process' on any of the
symlinks in /cygwin/bin (e.g., awk.exe -> gawk.exe).

Initial workaround:

        cp /bin/gunzip.exe /usr/local/bin/gzip.exe

(assuming /usr/local/bin is in the PATH (NTEmacs's `exec-path' before
/bin).  Could also change a jka-compr variable to use "gunzip" instead
of "gzip", but that seems less robust (other Emacs-Lisp code probably
calls "gzip" too).

I wasted more than an hour tracking down this bug (not a bug in Cygwin
per se, really, but a change that caused a bug with software very
commonly used with Cygwin).  I didn't look hard, but I found no
comment in the gzip 1.3.3 sources indicating why the change was made
in the symlinks.  Please don't change things that are not broken!



--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]