Index: tests/concurrent/coroutineYield.c
===================================================================
--- tests/concurrent/coroutineYield.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/coroutineYield.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -27,9 +27,9 @@
 	while(true) {
 		#if !defined(TEST_FOREVER)
-			sout | "Coroutine 1" | endl;
+			sout | "Coroutine 1";
 		#endif
 		yield();
 		#if !defined(TEST_FOREVER)
-			sout | "Coroutine 2" | endl;
+			sout | "Coroutine 2";
 		#endif
 		suspend();
@@ -42,9 +42,9 @@
 	for(int i = 0; TEST(i < N); i++) {
 		#if !defined(TEST_FOREVER)
-			sout | "Thread 1" | endl;
+			sout | "Thread 1";
 		#endif
 		resume(c);
 		#if !defined(TEST_FOREVER)
-			sout | "Thread 2" | endl;
+			sout | "Thread 2";
 		#endif
 		yield();
Index: tests/concurrent/examples/boundedBufferEXT.c
===================================================================
--- tests/concurrent/examples/boundedBufferEXT.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/examples/boundedBufferEXT.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -8,6 +8,6 @@
 // Created On       : Wed Apr 18 22:52:12 2018
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Aug 16 08:17:03 2018
-// Update Count     : 8
+// Last Modified On : Tue Dec 11 21:55:02 2018
+// Update Count     : 9
 //
 
@@ -115,5 +115,5 @@
 		sum += sums[i];
 	} // for
-	sout | "total:" | sum | endl;
+	sout | "total:" | sum;
 }
 
Index: tests/concurrent/examples/boundedBufferINT.c
===================================================================
--- tests/concurrent/examples/boundedBufferINT.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/examples/boundedBufferINT.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -8,6 +8,6 @@
 // Created On       : Mon Oct 30 12:45:13 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Aug 16 08:17:58 2018
-// Update Count     : 83
+// Last Modified On : Tue Dec 11 21:55:45 2018
+// Update Count     : 84
 //
 
@@ -116,5 +116,5 @@
 		sum += sums[i];
 	} // for
-	sout | "total:" | sum | endl;
+	sout | "total:" | sum;
 }
 
Index: tests/concurrent/examples/datingService.c
===================================================================
--- tests/concurrent/examples/datingService.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/examples/datingService.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -8,6 +8,6 @@
 // Created On       : Mon Oct 30 12:56:20 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun May 27 09:05:18 2018
-// Update Count     : 26
+// Last Modified On : Tue Dec 11 21:55:34 2018
+// Update Count     : 28
 //
 
@@ -58,5 +58,5 @@
 	yield( random( 100 ) );								// don't all start at the same time
 	unsigned int partner = girl( TheExchange, id, ccode );
-	sout | "Girl:" | id | "is dating Boy at" | partner | "with ccode" | ccode | endl;
+	sout | "Girl:" | id | "is dating Boy at" | partner | "with ccode" | ccode;
 	girlck[id] = partner;
 } // Girl main
@@ -69,5 +69,5 @@
 
 thread Boy {
-	DatingService &TheExchange;
+	DatingService & TheExchange;
 	unsigned int id, ccode;
 }; // Boy
@@ -76,5 +76,5 @@
 	yield( random( 100 ) );								// don't all start at the same time
 	unsigned int partner = boy( TheExchange, id, ccode );
-	sout | " Boy:" | id | "is dating Girl" | partner | "with ccode" | ccode | endl;
+	sout | " Boy:" | id | "is dating Girl" | partner | "with ccode" | ccode;
 	boyck[id] = partner;
 } // Boy main
Index: tests/concurrent/examples/matrixSum.c
===================================================================
--- tests/concurrent/examples/matrixSum.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/examples/matrixSum.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -11,6 +11,6 @@
 // Created On       : Mon Oct  9 08:29:28 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Nov  6 17:51:32 2018
-// Update Count     : 14
+// Last Modified On : Tue Dec 11 21:54:55 2018
+// Update Count     : 15
 //
 
@@ -54,5 +54,5 @@
 		total += subtotals[r];							// total subtotals
 	} // for
-	sout | total | endl;
+	sout | total;
 }
 
Index: tests/concurrent/examples/quickSort.c
===================================================================
--- tests/concurrent/examples/quickSort.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/examples/quickSort.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -9,6 +9,6 @@
 // Created On       : Wed Dec  6 12:15:52 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Aug 16 08:17:41 2018
-// Update Count     : 163
+// Last Modified On : Tue Dec  4 18:00:27 2018
+// Update Count     : 167
 //
 
@@ -88,5 +88,5 @@
 
 void usage( char * argv[] ) {
-	sout | "Usage:" | argv[0] | "( -s unsorted-file [ sorted-file ] | -t size (>= 0) [ depth (>= 0) ] )" | endl;
+	sout | "Usage:" | argv[0] | "( -s unsorted-file [ sorted-file ] | -t size (>= 0) [ depth (>= 0) ] )";
 	exit( EXIT_FAILURE );								// TERMINATE!
 } // usage
@@ -114,5 +114,5 @@
 				&sortedfile = new( (const char *)argv[2] ); // open the output file
 				if ( fail( sortedfile ) ) {
-					serr | "Error! Could not open sorted output file \"" | argv[2] | "\"" | endl;
+					serr | "Error! Could not open sorted output file \"" | argv[2] | "\"";
 					usage( argv );
 				} // if
@@ -121,5 +121,5 @@
 				&unsortedfile = new( (const char *)argv[1] ); // open the input file
 				if ( fail( unsortedfile ) ) {
-					serr | "Error! Could not open unsorted input file \"" | argv[1] | "\"" | endl;
+					serr | "Error! Could not open unsorted input file \"" | argv[1] | "\"";
 					usage( argv );
 				} // if
@@ -127,4 +127,5 @@
 		} // if
 	} // if
+	sortedfile | nlOff;									// turn off auto newline
 
 	enum { ValuesPerLine = 22 };						// number of values printed per line
@@ -137,18 +138,18 @@
 			for ( int counter = 0; counter < size; counter += 1 ) { // read unsorted numbers
 				unsortedfile | values[counter];
-				if ( counter != 0 && counter % ValuesPerLine == 0 ) sortedfile | endl | "  ";
+				if ( counter != 0 && counter % ValuesPerLine == 0 ) sortedfile | nl | "  ";
 				sortedfile | values[counter];
 				if ( counter < size - 1 && (counter + 1) % ValuesPerLine != 0 ) sortedfile | ' ';
 			} // for
-			sortedfile | endl;
+			sortedfile | nl;
 			if ( size > 0 ) {							// values to sort ?
 				Quicksort QS = { values, size - 1, 0 }; // sort values
 			} // wait until sort tasks terminate
 			for ( int counter = 0; counter < size; counter += 1 ) { // print sorted list
-				if ( counter != 0 && counter % ValuesPerLine == 0 ) sortedfile | endl | "  ";
+				if ( counter != 0 && counter % ValuesPerLine == 0 ) sortedfile | nl | "  ";
 				sortedfile | values[counter];
 				if ( counter < size - 1 && (counter + 1) % ValuesPerLine != 0 ) sortedfile | ' ';
 			} // for
-			sortedfile | endl | endl;
+			sortedfile | nl;
 
 			delete( values );
Index: tests/concurrent/monitor.c
===================================================================
--- tests/concurrent/monitor.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/monitor.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -40,4 +40,4 @@
 		MyThread f[4];
 	}
-	sout | global.value | endl;
+	sout | global.value;
 }
Index: tests/concurrent/multi-monitor.c
===================================================================
--- tests/concurrent/multi-monitor.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/multi-monitor.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -52,4 +52,4 @@
 		}
 	}
-	sout | global12 | global23 | global13 | endl;
+	sout | global12 | global23 | global13;
 }
Index: tests/concurrent/signal/block.c
===================================================================
--- tests/concurrent/signal/block.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/signal/block.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -57,5 +57,5 @@
 
 	if(a.last_thread != a.last_signaller || b.last_thread != b.last_signaller ) {
-		sout | "ERROR Barging detected, expected" | a.last_signaller | b.last_signaller | "got" | a.last_thread | b.last_thread | endl;
+		sout | "ERROR Barging detected, expected" | a.last_signaller | b.last_signaller | "got" | a.last_thread | b.last_thread;
 		abort();
 	}
@@ -85,5 +85,5 @@
 
 		if( ! signal_block( cond ) ) {
-			sout | "ERROR expected to be able to signal" | endl;
+			sout | "ERROR expected to be able to signal";
 			abort();
 		}
@@ -92,5 +92,5 @@
 
 		if(a.last_thread != next || b.last_thread != next) {
-			sout | "ERROR Barging detected, expected" | next | "got" | a.last_thread | b.last_thread | endl;
+			sout | "ERROR Barging detected, expected" | next | "got" | a.last_thread | b.last_thread;
 			abort();
 		}
@@ -130,9 +130,9 @@
 		Signaller s[4];
 		Barger b[13];
-		sout | "Starting waiters" | endl;
+		sout | "Starting waiters";
 		{
 			Waiter w[3];
 		}
-		sout | "Waiters done" | endl;
+		sout | "Waiters done";
 		done = true;
 	}
Index: tests/concurrent/signal/disjoint.c
===================================================================
--- tests/concurrent/signal/disjoint.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/signal/disjoint.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -66,10 +66,10 @@
 	wait( cond );
 	if( d.state != SIGNAL ) {
-		sout | "ERROR barging!" | endl;
+		sout | "ERROR barging!";
 	}
 
 	#if !defined(TEST_FOREVER)
 		d.counter++;
-		if( (d.counter % 1000) == 0 ) sout | d.counter | endl;
+		if( (d.counter % 1000) == 0 ) sout | d.counter;
 	#endif
 
@@ -99,5 +99,5 @@
 	bool running = TEST(data.counter < N) && data.counter > 0;
 	if( data.state != SIGNAL && running ) {
-		sout | "ERROR Eager signal" | data.state | endl;
+		sout | "ERROR Eager signal" | data.state;
 	}
 }
@@ -124,5 +124,5 @@
 			Waiter w[4];
 		}
-		sout | "All waiter done" | endl;
+		sout | "All waiter done";
 		all_done = true;
 	}
Index: tests/concurrent/signal/wait.c
===================================================================
--- tests/concurrent/signal/wait.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/signal/wait.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -83,5 +83,5 @@
 				break;
 			default:
-				sout | "Something went wrong" | endl;
+				sout | "Something went wrong";
 				abort();
 		}
@@ -140,5 +140,5 @@
 	waiter_left = 4;
 	processor p[2];
-	sout | "Starting" | endl;
+	sout | "Starting";
 	{
 		Signaler  e;
@@ -150,4 +150,4 @@
 		}
 	}
-	sout | "Done" | endl;
+	sout | "Done";
 }
Index: tests/concurrent/thread.c
===================================================================
--- tests/concurrent/thread.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/thread.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -12,5 +12,5 @@
 void main(First& this) {
 	for(int i = 0; i < 10; i++) {
-		sout | "First : Suspend No." | i + 1 | endl;
+		sout | "First : Suspend No." | i + 1;
 		yield();
 	}
@@ -21,5 +21,5 @@
 	P(*this.lock);
 	for(int i = 0; i < 10; i++) {
-		sout | "Second : Suspend No." | i + 1 | endl;
+		sout | "Second : Suspend No." | i + 1;
 		yield();
 	}
@@ -29,5 +29,5 @@
 int main(int argc, char* argv[]) {
 	semaphore lock = { 0 };
-	sout | "User main begin" | endl;
+	sout | "User main begin";
 	{
 		processor p;
@@ -37,4 +37,4 @@
 		}
 	}
-	sout | "User main end" | endl;
+	sout | "User main end";
 }
Index: tests/concurrent/waitfor/barge.c
===================================================================
--- tests/concurrent/waitfor/barge.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/waitfor/barge.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -48,5 +48,5 @@
 	yield(random( 10 ));
 	if( this.state != WAITFOR && !this.done && this.started ) {
-		serr | "Barging before caller detected" | endl;
+		serr | "Barging before caller detected";
 	}
 
@@ -66,9 +66,9 @@
 		this.state = WAITFOR;
 		waitfor(do_call, this) {
-			sout | i | endl;
+			sout | i;
 		}
 
 		if( this.state != CALL ) {
-			serr | "Barging after caller detected" | endl;
+			serr | "Barging after caller detected";
 		}
 	}
@@ -83,5 +83,5 @@
 
 int main() {
-	sout | "Starting" | endl;
+	sout | "Starting";
 	{
 		barger_t bargers[17];
@@ -89,4 +89,4 @@
 		waiter_t waiters;
 	}
-	sout | "Stopping" | endl;
+	sout | "Stopping";
 }
Index: tests/concurrent/waitfor/dtor.c
===================================================================
--- tests/concurrent/waitfor/dtor.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/waitfor/dtor.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -29,8 +29,8 @@
 	switch(state) {
 		case CTOR  : break;
-		case MAIN  : if( this.state != CTOR  ) { serr | "ERROR Expected state to be CTOR"  | endl; abort(); } this.state = state; break;
-		case AFTER : if( this.state != MAIN  ) { serr | "ERROR Expected state to be MAIN"  | endl; abort(); } this.state = state; break;
-		case END   : if( this.state != AFTER ) { serr | "ERROR Expected state to be AFTER" | endl; abort(); } this.state = state; break;
-		case DTOR  : if( this.state != END   ) { serr | "ERROR Expected state to be END"   | endl; abort(); } this.state = state; break;
+		case MAIN  : if( this.state != CTOR  ) { serr | "ERROR Expected state to be CTOR" ; abort(); } this.state = state; break;
+		case AFTER : if( this.state != MAIN  ) { serr | "ERROR Expected state to be MAIN" ; abort(); } this.state = state; break;
+		case END   : if( this.state != AFTER ) { serr | "ERROR Expected state to be AFTER"; abort(); } this.state = state; break;
+		case DTOR  : if( this.state != END   ) { serr | "ERROR Expected state to be END"  ; abort(); } this.state = state; break;
 	}
 }
@@ -54,5 +54,5 @@
 
 int main() {
-	sout | "Starting" | endl;
+	sout | "Starting";
 	processor p;
 	for( int i = 0; i < N; i++ ){
@@ -60,4 +60,4 @@
 		yield( random( 100 ) );
 	}
-	sout | "Stopping" | endl;
+	sout | "Stopping";
 }
Index: tests/concurrent/waitfor/else.c
===================================================================
--- tests/concurrent/waitfor/else.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/waitfor/else.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -12,33 +12,33 @@
 void test( M & mutex m ) {
 	int i = 0;
-	sout | "Starting" | endl;
+	sout | "Starting";
 
 	when( false ) waitfor( notcalled, m );
 
-	sout | "Step" | i++ | endl;
+	sout | "Step" | i++;
 
 	waitfor( notcalled, m ); or else {
-		sout | "else called" | endl;
+		sout | "else called";
 	}
 
-	sout | "Step" | i++ | endl;
+	sout | "Step" | i++;
 
 	when( true ) waitfor( notcalled, m ); or when( true ) else {
-		sout | "else called" | endl;
+		sout | "else called";
 	}
 
-	sout | "Step" | i++ | endl;
+	sout | "Step" | i++;
 
 	when( false ) waitfor( notcalled, m ); or when( true ) else {
-		sout | "else called" | endl;
+		sout | "else called";
 	}
 
-	sout | "Step" | i++ | endl;
+	sout | "Step" | i++;
 
 	when( false ) waitfor( notcalled, m ); or when( false ) else {
-		sout | "else called" | endl;
+		sout | "else called";
 	}
 
-	sout | "Done" | endl;
+	sout | "Done";
 }
 
Index: tests/concurrent/waitfor/recurse.c
===================================================================
--- tests/concurrent/waitfor/recurse.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/waitfor/recurse.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -95,5 +95,5 @@
 	rand_yield();
 
-	sout | "1st" | endl;
+	sout | "1st" | nl;
 
 	return this.counter < N ? (state_t)this.actions[idx] : (state_t)STOP;
@@ -123,5 +123,5 @@
 			case THIRD  : while( !global.ready ) { yield(); } this.state = call3( global, this.idx ); break;
 			case LAST   : while( !global.ready ) { yield(); } this.state = call4( global, this.idx ); break;
-			case STOP   : serr | "This should not happen" | endl;
+			case STOP   : serr | "This should not happen" | nl;
 		}
 	}
@@ -132,5 +132,6 @@
 int main() {
 	srandom( time(NULL) );
-	sout | "Starting" | endl;
+	sout | nlOff;					// turn off auto newline
+	sout | "Starting" | nl;
 	{
 		waiter_t waiters[4] = {
@@ -142,4 +143,4 @@
 		the_threads = waiters;
 	}
-	sout | "Stopping" | endl;
+	sout | "Stopping" | nl;
 }
Index: tests/concurrent/waitfor/simple.c
===================================================================
--- tests/concurrent/waitfor/simple.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/waitfor/simple.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -31,8 +31,8 @@
 
 void do_wait( global_t * mutex a ) {
-	sout | "Waiting to accept" | endl;
+	sout | "Waiting to accept";
 	yield( random( 10 ) );
 
-	sout | "Accepting" | endl;
+	sout | "Accepting";
 
 	__acceptable_t acceptable;
@@ -43,5 +43,5 @@
 	__waitfor_internal( 1, &acceptable );
 
-	sout | "Accepted" | endl;
+	sout | "Accepted";
 	yield( random( 10 ) );
 }
@@ -50,5 +50,5 @@
 	for( int i = 0; i < N; i++ ) {
 		do_wait( &globalA );
-		sout | i | endl;
+		sout | i;
 	}
 
@@ -76,5 +76,5 @@
 	srandom( time( NULL ) );
 	printf("%p\n", &globalA);
-	sout | "Starting" | endl;
+	sout | "Starting";
 	{
 		Acceptor r;
@@ -82,4 +82,4 @@
 
 	}
-	sout | "Done" | endl;
+	sout | "Done";
 }
Index: tests/concurrent/waitfor/statment.c
===================================================================
--- tests/concurrent/waitfor/statment.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/waitfor/statment.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -84,5 +84,5 @@
 		case 7: return call7( m );
 		default :
-			serr | "Incorrect index" | index | endl;
+			serr | "Incorrect index" | index;
 			abort();
 	}
@@ -102,11 +102,11 @@
 	while( !done ) {
 		   waitfor( get_index, this );
-		or waitfor( call1, this ) { sout | "Statement" | endl; if( this.last_val != 1 ) { serr | "Incorrect index: expected" | 1 | "got" | this.last_val | endl; } }
-		or waitfor( call2, this ) { sout | "Statement" | endl; if( this.last_val != 2 ) { serr | "Incorrect index: expected" | 2 | "got" | this.last_val | endl; } }
-		or waitfor( call3, this ) { sout | "Statement" | endl; if( this.last_val != 3 ) { serr | "Incorrect index: expected" | 3 | "got" | this.last_val | endl; } }
-		or waitfor( call4, this ) { sout | "Statement" | endl; if( this.last_val != 4 ) { serr | "Incorrect index: expected" | 4 | "got" | this.last_val | endl; } }
-		or waitfor( call5, this ) { sout | "Statement" | endl; if( this.last_val != 5 ) { serr | "Incorrect index: expected" | 5 | "got" | this.last_val | endl; } }
-		or waitfor( call6, this ) { sout | "Statement" | endl; if( this.last_val != 6 ) { serr | "Incorrect index: expected" | 6 | "got" | this.last_val | endl; } }
-		or waitfor( call7, this ) { sout | "Statement" | endl; if( this.last_val != 7 ) { serr | "Incorrect index: expected" | 7 | "got" | this.last_val | endl; } }
+		or waitfor( call1, this ) { sout | "Statement"; if( this.last_val != 1 ) { serr | "Incorrect index: expected" | 1 | "got" | this.last_val; } }
+		or waitfor( call2, this ) { sout | "Statement"; if( this.last_val != 2 ) { serr | "Incorrect index: expected" | 2 | "got" | this.last_val; } }
+		or waitfor( call3, this ) { sout | "Statement"; if( this.last_val != 3 ) { serr | "Incorrect index: expected" | 3 | "got" | this.last_val; } }
+		or waitfor( call4, this ) { sout | "Statement"; if( this.last_val != 4 ) { serr | "Incorrect index: expected" | 4 | "got" | this.last_val; } }
+		or waitfor( call5, this ) { sout | "Statement"; if( this.last_val != 5 ) { serr | "Incorrect index: expected" | 5 | "got" | this.last_val; } }
+		or waitfor( call6, this ) { sout | "Statement"; if( this.last_val != 6 ) { serr | "Incorrect index: expected" | 6 | "got" | this.last_val; } }
+		or waitfor( call7, this ) { sout | "Statement"; if( this.last_val != 7 ) { serr | "Incorrect index: expected" | 7 | "got" | this.last_val; } }
 
 		done = true;
@@ -128,9 +128,9 @@
 int main() {
 	processor p[2];
-	sout | "Starting" | endl;
+	sout | "Starting";
 	{
 		caller c[7];
 		waiter w;
 	}
-	sout | "Stopping" | endl;
+	sout | "Stopping";
 }
Index: tests/concurrent/waitfor/when.c
===================================================================
--- tests/concurrent/waitfor/when.c	(revision dc8511c89e456024f8e634c472b1ebc5d96cc56e)
+++ tests/concurrent/waitfor/when.c	(revision ca0f5e34f0da502b342fc248ef03315c316838aa)
@@ -58,12 +58,12 @@
 void arbiter( global_t & mutex this ) {
 	for( int i = 0; i < N; i++ ) {
-		   when( this.last_call == 6 ) waitfor( call1, this ) { if( this.last_call != 1) { serr | "Expected last_call to be 1 got" | this.last_call | endl; } }
-		or when( this.last_call == 1 ) waitfor( call2, this ) { if( this.last_call != 2) { serr | "Expected last_call to be 2 got" | this.last_call | endl; } }
-		or when( this.last_call == 2 ) waitfor( call3, this ) { if( this.last_call != 3) { serr | "Expected last_call to be 3 got" | this.last_call | endl; } }
-		or when( this.last_call == 3 ) waitfor( call4, this ) { if( this.last_call != 4) { serr | "Expected last_call to be 4 got" | this.last_call | endl; } }
-		or when( this.last_call == 4 ) waitfor( call5, this ) { if( this.last_call != 5) { serr | "Expected last_call to be 5 got" | this.last_call | endl; } }
-		or when( this.last_call == 5 ) waitfor( call6, this ) { if( this.last_call != 6) { serr | "Expected last_call to be 6 got" | this.last_call | endl; } }
+		   when( this.last_call == 6 ) waitfor( call1, this ) { if( this.last_call != 1) { serr | "Expected last_call to be 1 got" | this.last_call; } }
+		or when( this.last_call == 1 ) waitfor( call2, this ) { if( this.last_call != 2) { serr | "Expected last_call to be 2 got" | this.last_call; } }
+		or when( this.last_call == 2 ) waitfor( call3, this ) { if( this.last_call != 3) { serr | "Expected last_call to be 3 got" | this.last_call; } }
+		or when( this.last_call == 3 ) waitfor( call4, this ) { if( this.last_call != 4) { serr | "Expected last_call to be 4 got" | this.last_call; } }
+		or when( this.last_call == 4 ) waitfor( call5, this ) { if( this.last_call != 5) { serr | "Expected last_call to be 5 got" | this.last_call; } }
+		or when( this.last_call == 5 ) waitfor( call6, this ) { if( this.last_call != 6) { serr | "Expected last_call to be 6 got" | this.last_call; } }
 
-		sout | this.last_call | endl;
+		sout | this.last_call;
 	}
 
@@ -78,5 +78,5 @@
 int main() {
 	srandom( time(NULL) );
-	sout | "Starting" | endl;
+	sout | "Starting";
 	{
 		arbiter_t arbiter;
@@ -84,4 +84,4 @@
 
 	}
-	sout | "Stopping" | endl;
+	sout | "Stopping";
 }
