more startup time - (nf)

Spencer W. Thomas thomas at utah-gr.UUCP
Fri Feb 10 09:10:27 AEST 1984


Well, Rob Warnock poked my curiousity button.  Why does it work for him
and not for me?  I didn't just randomly stick an extra 'set noglob' in
front of my 'eval `tset -s`' for paranoia, I put it there because a tset
failed on me without it.  SO, I did some experimentation.  We are
running 4.2 csh, but this did the same in 4.1, as far as I know.  Try
the following experiment:
	% unset noglob
	% echo `echo "'['"`
Notice how you get NOTHING echoed?  Now, try
	% set noglob
	% echo `echo "'['"`
	% unset noglob
Worked this time, didn't it?  Now, try
	% eval `echo echo "'['"`
Still get nothing (as expected from case 1 above).  But
	% eval `echo set noglob \; echo "'['"`
doesn't either (but does leave noglob set!  If you say !!, you'll get
the right output).  Now, the problem with tset is that some (any ANSI)
terminals have lots of [s in their termcap entry.  The string spit out
by tset looks like (ignoring unimportant stuff)
	set noglob ; setenv TERMCAP 'lots of stuff'; unset noglob
With the 'lots of stuff' disappearing because of the [ bug (and the
semicolon going with it!) the setenv command is
	setenv TERMCAP unset noglob
which fails (too many arguments).  Thus, not only is your TERMCAP not
set, but your shell is left in noglob state.  Not good.  Moral is until
the bug is fixed, put that unset noglob in.  You never know when you'll
be on a VT100 :-(.

=Spencer



More information about the Comp.unix.wizards mailing list