Subject: Re: gzip.exe as symlink breaks NTEmacs's jka-compr.el
From: "Gerrit P. Haase" <[email-masked]>
To: "Robert Collins" <[email-masked]>
Cc: [email-masked]
Date: Mon, 15 Jul 2002 23:54:36 +0200

Hallo Robert,

Am Montag, 15. Juli 2002 um 07:39 schriebst du:

> Sounds to me like NTEmacs is broken, and should be able to interpret
> symlinks if it wants to interoperate with cygwin.

No, it is a bug in Windows.  You cannot run symlinks (of course a Windows
style symlink) out of a cmd shell.  I got problems once with awk.exe
which is a symlink to gawk.exe.  He reports this 'bug' in Windows2K
really clear and you guys flamed him for that?

Why not repackage at least gzip and make the two files in question at
least hardlinks instead of symlinks?

IIRC I stumbled over this Windows bug on W2K when building a native
Windows version of openssl which needs awk.  I guess it is no problem
on NT4 and maybe W2K is the only platform where it doesn't work .

> Heck, it could even link with cygwin and get that for free!

> Rob

> ----- Original Message -----
> From: "Matt Swift" <[email-masked]>
> To: <[email-masked]>
> Sent: Monday, July 15, 2002 3:36 PM
> Subject: 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/