delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/10/13/18:04:28

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
X-Authentication-Warning: dragon.dn.rsc.raytheon.com: agrimm owned process doing -bs
Date: Wed, 13 Oct 2004 15:58:02 -0600 (MDT)
From: Andrew Grimm <agrimm AT redwood DOT rsc DOT raytheon DOT com>
X-X-Sender: agrimm AT dragon
To: cygwin AT cygwin DOT com
cc: d_inabox AT yahoo DOT com
Subject: tcsh and chere-0.3-1
Message-ID: <Pine.GSO.4.44.0410131538001.21185-100000@dragon>
MIME-Version: 1.0
X-SPAM: 0.00

The new (very cool!) chere package doesn't work with tcsh, at least on my
system.  The problem is that "tcsh -l" doesn't work with any additional
arguments.  There is even a comment to that effect in the script:

tcsh )
        # Apparently -l only applies if it is the only argument
        # so this may not work
        SHELL_EXE="/bin/tcsh.exe"
        SHELL_CMD="-l -c \\\"cd '%L'; exec $SHELL_EXE\\\""

If I run this, the tcsh immediately bombs out, closing the shell window,
because tcsh exits when it sees the additional arguments.

There may not be a perfect solution because tcsh won't work with the
code pattern used for the other shells.  If you make the exec'd shell a
login shell it cd's to your home directory which defeats the purpose of
the package.  This hack works for me, it doesn't create a real login
shell but it fakes one fairly well:

        SHELL_CMD="-f -c \\\"if ( -f /etc/csh.login ) source
/etc/csh.login; if ( -f /etc/csh.cshrc ) source /etc/csh.cshrc; if ( -f
~/.tcshrc ) source ~/.tcshrc; if ( -f ~/.login ) source ~/.login; cd '%L';
exec $SHELL_EXE\\\""

A more complicated line could be created to handle more unusual tcsh
configurations but this approach works with the default setup.

-Andy

P.S.  Output of "chere -r" as requested on bug reports (with the above
      modification to line 244 of the chere script):

OS is CYGWIN_NT-5.0
chere version 0.3

--- ash keys ---

--- bash keys ---

--- cmd keys ---

--- pdksh keys ---

--- tcsh keys ---
Directory menu item
&Tcsh Here

Directory command
D:\cygwin\bin\rxvt.exe -e /bin/tcsh.exe -f -c "if ( -f /etc/csh.login )
source /etc/csh.login; if ( -f /etc/csh.cshrc ) source /etc/csh.cshrc; if
( -f ~/.tcshrc ) source ~/.tcshrc; if ( -f ~/.login ) source ~/.login; cd
'%L'; exec /bin/tcsh.exe"

Drive menu item
&Tcsh Here

Drive command
D:\cygwin\bin\rxvt.exe -e /bin/tcsh.exe -f -c "if ( -f /etc/csh.login )
source /etc/csh.login; if ( -f /etc/csh.cshrc ) source /etc/csh.cshrc; if
( -f ~/.tcshrc ) source ~/.tcshrc; if ( -f ~/.login ) source ~/.login; cd
'%L'; exec /bin/tcsh.exe"

Uninstall description
Cygwin Tcsh Prompt Here

Uninstall command
D:\cygwin\bin\sh -c "/bin/chere -u -s tcsh"


--- zsh keys ---

--- passwd keys ---



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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019