ln and mkshortcut inconsistent in handling of .exe extension

Matt Swift swift@alum.mit.edu
Mon Sep 29 19:38:00 GMT 2003


The following shell transcript demonstrates that `ln' does not handle
the .exe extension gracefully, like mkshortcut does.

I believe graceful behavior would require the following changes:

  1) `ln' would not give the two errors below when trying to create
     "hardlink-to-base" and "hardlink-to-base.exe": the target
     ("program") should silently have the .exe extension added.  I do
     not know whether there should be a warning in this case, or
     whether the .exe extension should be added to the link-name,
     perhaps with a warning.

  2) The files "symlink-to-base" "symlink-to-base.exe" should have the
     .exe extension silently added to the Windows shortcut target: at
     present, the files are not valid Windows shortcuts (they appear
     to Windows Explorer as a shortcut, but have an empty "Target"
     which can not be altered in the usual way; the Comment field is
     correct).  This behavior would match `mkshortcut''s, which adds
     the .exe extension to the Target when it is not supplied on the
     command-line (what appeared on the command-line appears verbatim
     in the Comment field, however).



    [vav] test> ls -l
    total 909
    -rwxr-xr-x    1 swift    Administ   930304 Sep 29 13:05 program.exe
    [vav] test> ln -s program symlink-to-base
    [vav] test> ln -s program.exe symlink-to-full
    [vav] test> ln -s program symlink-to-base.exe
    [vav] test> ln -s program.exe symlink-to-full.exe

    [vav] test> ln program hardlink-to-base
    ln: creating hard link `hardlink-to-base' to `program': No such file or directory
    [vav] test> ln program.exe hardlink-to-full
    [vav] test> ln program hardlink-to-base.exe
    ln: creating hard link `hardlink-to-base.exe' to `program': No such file or directory
    [vav] test> ln program.exe hardlink-to-full.exe

    [vav] test> mkshortcut program
    [vav] test> mkshortcut program.exe

    [vav] test> ls -l
    total 2729
    -rwxr-xr-x    3 swift    Administ   930304 Sep 29 13:05 hardlink-to-full
    -rwxr-xr-x    3 swift    Administ   930304 Sep 29 13:05 hardlink-to-full.exe
    -rwxr-xr-x    3 swift    Administ   930304 Sep 29 13:05 program.exe
    -rwxrwxr-x    1 swift    Administ      661 Sep 29 13:38 program.exe.lnk
    -rwxrwxr-x    1 swift    Administ      433 Sep 29 13:37 program.lnk
    lrwxrwxrwx    1 swift    Administ       94 Sep 29 13:36 symlink-to-base -> program
    lrwxrwxrwx    1 swift    Administ       94 Sep 29 13:36 symlink-to-base.exe -> program
    lrwxrwxrwx    1 swift    Administ      102 Sep 29 13:36 symlink-to-full -> program.exe
    lrwxrwxrwx    1 swift    Administ      102 Sep 29 13:36 symlink-to-full.exe -> program.exe
    [vav] test> 

    [vav] test> hostname; uname -a
    vav
    CYGWIN_NT-5.1 vav 1.5.5(0.94/3/2) 2003-09-20 16:31 i686 unknown unknown Cygwin
    [vav] test> type ln
    ln is hashed (/usr/bin/ln)
    [vav] test> cygcheck -f /usr/bin/ln
    fileutils-4.1-2
    [vav] test> cygcheck -c fileutils
    Cygwin Package Information
    Package              Version        Status
    fileutils            4.1-2          OK

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list