[net.bugs.4bsd] 4.[12]bsd csh && bug

ado@elsie.UUCP (Arthur David Olson) (04/02/86)

Index:	bin/csh/sh.proc.c Fix

Description:
	The output of
		jobs
	is wrong for processes that use && or  ||

Repeat-By:
	Typing the commands
		( sleep 3600 && who ) &
		jobs
	and noting the output:
		[1]  + Running              (  < ^A > ^A )

Fix:
	The changes below are to "sh.proc.c", in particular to the function
	"padd."  Changes are conditioned on "OLDVERSION".
	As usual, the trade secret [material deleted] posting.

		...
		padd(t)
			register struct command *t;
		{
			char **argp;

			if (t == 0)
				return;
			switch (t->t_dtyp) {

		#ifndef OLDVERSION
			case TAND:
			case TOR:
				padd(t->t_dcar);
				pads((t->t_dtyp == TAND) ? " && " : " || ");
				padd(t->t_dcdr);
				return;
		#endif /* !OLDVERSION */


			case TPAR:
		...
--
TOR is the name of some book publisher, isn't it?
Jobs used to be with Apple.
--
	UUCP: ..decvax!seismo!elsie!ado		ARPA: elsie!ado@seismo.ARPA
	DEC, VAX, Elsie & Ado are Digital, Borden & Shakespeare trademarks.