Subject: Re: w32-symlinks for NT Emacs 21
From: egor duda <[email-masked]>
To: "Dr Francis J. Wright" <[email-masked]>
Cc: "Help Emacs Windows" <[email-masked]>, [email-masked]
Date: Tue, 9 Jul 2002 18:20:28 +0400

Hi!

Tuesday, 09 July, 2002 Dr Francis J. Wright [email-masked] wrote:

DFJW> The w32-symlinks package is now available from my web site
DFJW> http://centaur.maths.qmul.ac.uk/Emacs/.  It is an updated version of the
DFJW> support for Windows symbolic links that is in the version of ls-lisp
DFJW> available from my web site, which is now obsolete.  The rest of that version
DFJW> of ls-lisp is essentially what is distributed with Emacs 21.  If you run NT
DFJW> Emacs 21 and you also run any version of ls-lisp from my web site, then I
DFJW> suggest you remove that version of ls-lisp, revert to using the standard
DFJW> preloaded Emacs 21 version, and if you want symbolic link support then run
DFJW> w32-symlinks.

Don't change cygwin symlinks with anything other than cygwin tools!
Changing cygwin symlinks manually is error-prone and can lead to hard
to diagnose errors!

For instance, since 05-June-2001 cygwin symlinks on NTFS partitions
(both "old-style" and "shortcut-style" ones) store their destination
path in one of file's extended attributes, for speed. When/if you
update destination path of symlink with cygwin tools, cygwin1.dll
takes care of that information and updates it accordingly. But you
start to edit cygwin symlink manually, you end up in strange situation
when new versions of cygwin resolve symlink differently from older
versions of cygwin and your program.

To reiterate. The only proper way to handle cygwin's symlinks is via
cygwin tools or api. Doing otherwise is looking for hard-to-find
errors.

DFJW> w32-symlinks is primarily designed to hook into the Emacs 21 version of
DFJW> ls-lisp and allow dired to follow symbolic links.  Please note that this
DFJW> facility will work ONLY with the standard Emacs 21 version of ls-lisp and
DFJW> not with any earlier version.

DFJW> However, w32-symlinks also provides some support to make the dired S command
DFJW> (dired-do-symlink) work, which is independent of ls-lisp.  The dired advice
DFJW> used to follow symlinks also works in some cases if you run Cygwin ls
DFJW> instead of ls-lisp, and I plan to improve this support later.

DFJW> By default, w32-symlinks supports standard Microsoft and current Cygwin
DFJW> shortcut files.  If you want to use obsolete Cygwin symlink files then you
DFJW> need to customize the user option w32-symlinks appropriately.

DFJW> This is a preliminary release.  Please email me with any problems or
DFJW> suggestions.  I will include an option to hide the .lnk extension is a
DFJW> future version of ls-lisp.  (It requires some care to avoid breaking dired.)

Egor.            mailto:[email-masked] ICQ 5165414 FidoNet 2:5020/496.19

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