This is the mail archive of the cygwin@sources.redhat.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]

Re: New symlinks


At 12:28 PM 3/1/2001, Robert A McDougall wrote:
>On Wed, 28 Feb 2001 at 18:38:11 -0500 Christopher Faylor wrote:
>
> > For what gain?  So that users can create symlinks that could be used
> > from Windows?  I am wondering if the gain is worth the price.
>
>What he said!
>
>Apologies for butting in, but since users' needs are an issue here,
>maybe a mere user can comment.
>
>The new symlink system lets you (1) use Windows shortcuts as symbolic
>links in Cygwin (sc. with Cygwin-aware programs), and (2) create Windows
>shortcuts as symbolic links in Cygwin.  I'd like to suggest that (1) is
>more important than (2).
>
>The main motivation for user-land use of Cygwin is to overlay the
>Windows working environment with something better; e.g. to escape from
>Windows Explorer to bash + fileutils.  In that context, whether Explorer
>can recognize a Cygwin symbolic link is a secondary issue.
>
>Admittedly, it would sometimes be nice to let Cygwin make Windows
>shortcuts.  For example, it might be nice to put a symlink in
>`/usr/local/bin' and have a non-Cygwin-aware "make.exe" follow it.  So
>(2) is a secondary issue but not a non-issue.
>
>Obviously these are just one individual's priorities.  But maybe if you
>check it out, you'll find others with similar.
>
>Anyhow, if you take the line that letting Cygwin-non-aware programs use
>Cygwin-created links is nice-to-have but not essential, that suggests
>that it's not worth going to great lengths to handle `.lnk' extensions
>gracefully -- or raising a lot of questions of the form "But what 
>happens if I do X?"
>
>I'd suggest that something like this would be sufficiently user-
>friendly (for the kind of users who want Cygwin in the first place):  
>
>*   Let Cygwin recognize Windows shortcuts as symbolic links.
>
>*   Let Cygwin optionally create symbolic links as Windows shortcuts,
>     e.g. "ln foo bar" makes an old-style symbolic link,
>     "ln --uwin foo bar" makes a Windows shortcut.
>
>*   Don't require Cygwin to hide or covertly add the `.lnk' extension.
>     So to follow a Windows shortcut "foo.lnk", you actually have to call
>     it "foo.lnk" when talking to your Cygwin-aware program.  Similarly,
>     to make a Windows shortcut that Cygwin-non-aware programs will
>     actually recognize, you have to give the `.lnk' extension in your
>     "ln" command; e.g. "ln --uwin foo bar" really does make `bar'; to
>     make `bar.lnk' you have to ask for it explicitly,
>     "ln --uwin foo bar.lnk".
>
>*   Users who would like Windows Explorer to handle Cygwin symbolic
>     links gracefully, may ask Microsoft to link the next release of
>     Explorer against the cygwin DLL; or request the source code so they
>     can hack it themselves :).
>
>It seems to me that this provides most of the benefits of the new
>symlinks, and avoids most of the specification hassles.


I also believe this is a (good) way to solve the problem of shortcuts in 
Cygwin.  I think it would be great to be able to use Windows shortcuts but
I'm less certain of the gain outweighing the pain when it comes to having 
Cygwin create shortcuts itself, by default at least.  

BTW, I think its great that Corinna's work has brought up this issue.  The
ability to use Windows shortcuts in Cygwin has been a recurring "request"
and it's wonderful that she's taken some time to address it.  Hopefully
she doesn't regret doing so now!;-)





Larry Hall                              lhall@rfk.com
RFK Partners, Inc.                      http://www.rfk.com
118 Washington Street                   (508) 893-9779 - RFK Office
Holliston, MA 01746                     (508) 893-9889 - FAX


--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple


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