[14010] in Athena Bugs
sun4 7.7U: the "resize" program on Suns and the "xresize" alias in $initdir/cshrc
daemon@ATHENA.MIT.EDU (William Chuang, MIT '92)
Tue Nov 21 13:04:31 1995
To: bugs@MIT.EDU
Date: Tue, 21 Nov 1995 13:04:18 EST
From: "William Chuang, MIT '92" <wchuang@MIT.EDU>
System name: gaston
Type and version: SPARC/5 7.7U (2 update(s) to same version)
Display type: cgthree
What were you trying to do?
Login to a private Sun Sparc workstation remotely,
and then use "xresize" to set my screen size for me.
What's wrong:
Xresize is an alias which does:
set noglob; eval `resize` || unset noglob
On other systems, the "resize" command explicitly
outputs a "set noglob", then various other output,
and finally an "unset noglob". On the Suns, the
/usr/athena/bin/resize does not include the set/unset
noglob commands.
This means that if the "eval `resize`" command is
performed successfully, its error status will be 0.
But the C-shell _won't_ execute the "unset noglob" if
the error status is 0. It only executes that command
if the error status is != 0 (i.e., the previous command
must fail for the shell to execute the command after an
|| statement).
So, though the resize will work, the globbing will be off.
What should have happened:
/usr/athena/bin/resize should either send:
set noglob
and
unset noglob
to stdout before and after any other output, or the
xresize alias should be "set noglob; eval `resize`; unset noglob",
or the xresize alias should explicitly use the Sun resize
which does output the set/unset noglob (as do resize's on
other platforms).
Obviously Athena's xresize alias is relying on the resize
program to output the unset noglob.
Please describe any relevant documentation references:
"man resize"
"man csh"
"man tset"
Trying sample commands like "cat this || echo that" where
the file "this" either does or does not exist.