csh/tcsh: odd %~ prompt variable behaviour

Jeremy Chadwick jdc at koitsu.org
Wed Feb 6 01:10:09 UTC 2013


(Please keep me CC'd as I'm not subscribed to the list)


System is base/stable/9, r245697.  tcsh version is 6.18.01:

$ sudo -i
root at icarus:~ # sfdjsdj
sfdjsdj: Command not found.
root at icarus:~ # cd ~root
root at icarus:~ # dsjfdsfdsf
dsjfdsfdsf: Command not found.
root at icarus:~ # cd ~jdc
root at icarus:~jdc # sdjfdjkfjdsk
sdjfdjkfjdsk: Command not found.
root at icarus:/home/jdc #             <---- notice sudden prompt change
root at icarus:/home/jdc # cd ~root
root at icarus:~ # dsfjjdskdfs
dsfjjdskdfs: Command not found.
root at icarus:~ # logout

This only happens when an invalid command is issued (e.g. had I used
"ls" instead of "blah" the prompt would not have changed).

$prompt is the standard /root/.cshrc (r244005) value:

        set prompt = "%N@%m:%~ %# "

I cannot reproduce this problem on Debian 6.0.1 with tcsh 6.17.02:

$ ssh jdc at 192.168.1.161
Linux debian 2.6.32-5-686 #1 SMP Sun Sep 23 09:49:36 UTC 2012 i686

Last login: Tue Feb  3 19:22:19 2013 from icarus.home.lan
jdc at debian:~$ sudo -i
root at debian:~# /bin/tcsh
debian:~# set prompt = "%N@%m:%~ %# "
root at debian:~ # sdfsdf
sdfsdf: Command not found.
root at debian:~ # cd ~jdc
root at debian:~jdc # sdfssgsgjsj
sdfssgsgjsj: Command not found.
root at debian:~jdc # exit
root at debian:~# logout

The number of changes between 6.17.02 and 6.18.01 seem quite large
(looking at src/contrib/tcsh/Fixes).

Does anyone have a non-FreeBSD system with tcsh 6.18.01 available
to determine if this is a FreeBSD-centric issue or an actual issue with
tcsh that needs to be reported upstream?

Thanks.

-- 
| Jeremy Chadwick                                   jdc at koitsu.org |
| UNIX Systems Administrator                http://jdc.koitsu.org/ |
| Mountain View, CA, US                                            |
| Making life hard for others since 1977.             PGP 4BD6C0CB |



More information about the freebsd-stable mailing list