[14010] in Athena Bugs

home help back first fref pref prev next nref lref last post

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.


home help back first fref pref prev next nref lref last post