Index: tests/concurrent/examples/quickSort.c
===================================================================
--- tests/concurrent/examples/quickSort.c	(revision 2a092d640cb7b13557e11e3a2f70f2d6e20115c8)
+++ tests/concurrent/examples/quickSort.c	(revision 9d362a0aa105cc54a0a3b9de3a600875b0ade8ae)
@@ -9,6 +9,6 @@
 // Created On       : Wed Dec  6 12:15:52 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Dec  4 18:00:27 2018
-// Update Count     : 167
+// Last Modified On : Sat Dec 22 08:44:27 2018
+// Update Count     : 168
 //
 
@@ -151,5 +151,5 @@
 				if ( counter < size - 1 && (counter + 1) % ValuesPerLine != 0 ) sortedfile | ' ';
 			} // for
-			sortedfile | nl;
+			sortedfile | nl | nl;
 
 			delete( values );
Index: tests/coroutine/fmtLines.c
===================================================================
--- tests/coroutine/fmtLines.c	(revision 2a092d640cb7b13557e11e3a2f70f2d6e20115c8)
+++ tests/coroutine/fmtLines.c	(revision 9d362a0aa105cc54a0a3b9de3a600875b0ade8ae)
@@ -10,6 +10,6 @@
 // Created On       : Sun Sep 17 21:56:15 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Dec 12 22:45:36 2018
-// Update Count     : 48
+// Last Modified On : Sat Dec 22 18:27:00 2018
+// Update Count     : 57
 //
 
@@ -24,9 +24,9 @@
 void main( Format & fmt ) with( fmt ) {
 	for () {											// for as many characters
-		for ( g; 5 ) {									// groups of 5 blocks
-			for ( b; 4 ) {								// blocks of 4 characters
+		for ( g = 0; g < 5; g += 1 ) {					// groups of 5 blocks
+			for ( b = 0; b < 4; b += 1 ) {				// blocks of 4 characters
 				for () {								// for newline characters
 					suspend();
-					if ( ch != '\n' ) break;			// ignore newline
+				  if ( ch != '\n' ) break;				// ignore newline
 				} // for
 				sout | ch;								// print character
Index: tests/fallthrough.cfa
===================================================================
--- tests/fallthrough.cfa	(revision 2a092d640cb7b13557e11e3a2f70f2d6e20115c8)
+++ tests/fallthrough.cfa	(revision 9d362a0aa105cc54a0a3b9de3a600875b0ade8ae)
@@ -10,6 +10,6 @@
 // Created On       : Wed Mar 14 10:06:25 2018
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Dec  4 21:36:14 2018
-// Update Count     : 17
+// Last Modified On : Thu Dec 20 22:02:38 2018
+// Update Count     : 20
 //
 
@@ -18,37 +18,37 @@
 void test(int choice) {
 	choose ( choice ) {
-		case 1:
-			sout | "case 1";
-			fallthru;
-		case 2:
-			sout | "case 2";
-			fallthru;
-			sout | "did not fallthru";
-			if ( 7 ) fallthru common2;
-			fallthru common1;
-		case 3:
-			sout | "case 3";
-			fallthru default;
-			fallthru common1;
-		common1:
-			sout | "common1";
+	  case 1:
+		sout | "case 1";
+		fallthru;
+	  case 2:
+		sout | "case 2";
+		fallthru;
+		sout | "did not fallthru";
+		if ( 7 ) fallthru common2;
+		fallthru common1;
+	  case 3:
+		sout | "case 3";
+		fallthru default;
+		fallthru common1;
+	  common1:
+		sout | "common1";
 		// break
-		case 4:
-			sout | "case 4";
-			fallthru common2;
-		case 5:
-			sout | "case 5";
-			fallthru common2;
-			fallthru default;
-		case 6:
-			sout | "case 6";
-			fallthru common2;
-		common2:
-			sout | "common2";
+	  case 4:
+		sout | "case 4";
+		fallthru common2;
+	  case 5:
+		sout | "case 5";
+		fallthru common2;
+		fallthru default;
+	  case 6:
+		sout | "case 6";
+		fallthru common2;
+	  common2:
+		sout | "common2";
 		// break
-		default:
-			sout | "default";
-			fallthru;
-	}
+	  default:
+		sout | "default";
+		fallthru;
+	} // choose
 
 	sout | nl;
@@ -93,23 +93,23 @@
 	fallthru default;
 	choose ( 3 ) {
-		case 2:
-			for () {
-				choose ( 2 ) {
-					case 1:
-						// ERROR: default is later, but in a different switch
-						fallthru default;
-						// ERROR: common3 is later, but not at the same level as a case clause
-						fallthru common3;
-				}
-				common3: ;
+	  case 2:
+		for () {
+			choose ( 2 ) {
+			  case 1:
+				// ERROR: default is later, but in a different switch
+				fallthru default;
+				// ERROR: common3 is later, but not at the same level as a case clause
+				fallthru common3;
 			}
-		default:
-		case 1:
-		common4:
-			// ERROR: attempt to jump up with fallthrough
-			if ( 7 ) fallthru common4;
-			// ERROR: attempt to jump up with fallthrough
-			fallthru default;
-	}
+		  common3: ;
+		} // for
+	  default:
+	  case 1:
+	  common4:
+		// ERROR: attempt to jump up with fallthrough
+		if ( 7 ) fallthru common4;
+		// ERROR: attempt to jump up with fallthrough
+		fallthru default;
+	} // choose
 #endif
 }
Index: tests/fstream_test.cfa
===================================================================
--- tests/fstream_test.cfa	(revision 2a092d640cb7b13557e11e3a2f70f2d6e20115c8)
+++ tests/fstream_test.cfa	(revision 9d362a0aa105cc54a0a3b9de3a600875b0ade8ae)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Dec  4 21:36:34 2018
-// Update Count     : 67
+// Last Modified On : Sat Dec 22 09:47:44 2018
+// Update Count     : 68
 //
 
@@ -24,5 +24,5 @@
 		 | (nombre > 0 ? "positif" : nombre == 0 ? "zéro" : "négatif");
 
-	sout | "Entrez trois nombres, s'il vous plaît: ";
+	sout | "Entrez trois nombres, s'il vous plaît:";
 	int i, j, k;
 	sin  | i | j | k;
Index: tests/gmp.cfa
===================================================================
--- tests/gmp.cfa	(revision 2a092d640cb7b13557e11e3a2f70f2d6e20115c8)
+++ tests/gmp.cfa	(revision 9d362a0aa105cc54a0a3b9de3a600875b0ade8ae)
@@ -10,6 +10,6 @@
 // Created On       : Tue Apr 19 08:55:51 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Dec  4 21:37:29 2018
-// Update Count     : 558
+// Last Modified On : Thu Dec 20 22:41:47 2018
+// Update Count     : 559
 //
 
@@ -76,10 +76,10 @@
 	sout | "x:" | x | "y:" | y;
 
-	sout;
+	sout | nl;
 
 	sin | x | y | z;
 	sout | x | y | z;
 
-	sout;
+	sout | nl;
 
 	sout | "Fibonacci Numbers";
@@ -94,5 +94,5 @@
 	} // for
 
-	sout;
+	sout | nl;
 
 	sout | "Factorial Numbers";
Index: tests/io1.cfa
===================================================================
--- tests/io1.cfa	(revision 2a092d640cb7b13557e11e3a2f70f2d6e20115c8)
+++ tests/io1.cfa	(revision 9d362a0aa105cc54a0a3b9de3a600875b0ade8ae)
@@ -10,6 +10,6 @@
 // Created On       : Wed Mar  2 16:56:02 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Dec 12 18:23:44 2018
-// Update Count     : 110
+// Last Modified On : Fri Dec 21 16:02:55 2018
+// Update Count     : 114
 //
 
@@ -22,42 +22,47 @@
 	sout | '1' | '2' | '3';
 	sout | 1 | "" | 2 | "" | 3;
-	sout;
+	sout | nl;
 
-	sout | "opening delimiters";
-	sout | "x (" | 1 | nonl;
-	sout | "x [" | 2 | nonl;
-	sout | "x {" | 3 | nonl;
-	sout | "x =" | 4 | nonl;
-	sout | "x $" | 5 | nonl;
-	sout | "x £" | 6 | nonl;
-	sout | "x ¥" | 7 | nonl;
-	sout | "x ¡" | 8 | nonl;
-	sout | "x ¿" | 9 | nonl;
+	sout | nlOff;
+	sout | "opening delimiters" | nl;
+	sout | "x (" | 1;
+	sout | "x [" | 2;
+	sout | "x {" | 3;
+	sout | "x =" | 4;
+	sout | "x $" | 5;
+	sout | "x £" | 6;
+	sout | "x ¥" | 7;
+	sout | "x ¡" | 8;
+	sout | "x ¿" | 9;
 	sout | "x «" | 10;
+	sout | nl | nl;
 
-	sout | "closing delimiters";
-	sout | 1 | ", x" | nonl;
-	sout | 2 | ". x" | nonl;
-	sout | 3 | "; x" | nonl;
-	sout | 4 | "! x" | nonl;
-	sout | 5 | "? x" | nonl;
-	sout | 6 | "% x" | nonl;
-	sout | 7 | "¢ x" | nonl;
-	sout | 8 | "» x" | nonl;
-	sout | 9 | ") x" | nonl;
-	sout | 10 | "] x" | nonl;
+	sout | "closing delimiters" | nl;
+	sout | 1 | ", x";
+	sout | 2 | ". x";
+	sout | 3 | "; x";
+	sout | 4 | "! x";
+	sout | 5 | "? x";
+	sout | 6 | "% x";
+	sout | 7 | "¢ x";
+	sout | 8 | "» x";
+	sout | 9 | ") x";
+	sout | 10 | "] x";
 	sout | 11 | "} x";
+	sout | nl | nl;
 
-	sout | "opening/closing delimiters";
-	sout | "x`" | 1 | "`x'" | 2 | nonl;
-	sout | "'x\"" | 3 | "\"x:" | 4 | nonl;
-	sout | ":x " | 5 | " x\t" | 6 | nonl;
-	sout | "\tx\f" | 7 | "\fx\v" | 8 | nonl;
-	sout | "\vx\n" | 9 | "\nx\r" | 10 | nonl;
+	sout | "opening/closing delimiters" | nl;
+	sout | "x`" | 1 | "`x'" | 2;
+	sout | "'x\"" | 3 | "\"x:" | 4;
+	sout | ":x " | 5 | " x\t" | 6;
+	sout | "\tx\f" | 7 | "\fx\v" | 8;
+	sout | "\vx\n" | 9 | "\nx\r" | 10;
 	sout | "\rx";
+	sout | nl | nl;
 
+	sout | nlOn;
 	sout | "override opening/closing delimiters";
 	sout | "x ( " | 1 | " ) x" | 2 | " , x" | 3 | " :x: " | 4;
-	sout;
+	sout | nl;
 }
 
Index: tests/io2.cfa
===================================================================
--- tests/io2.cfa	(revision 2a092d640cb7b13557e11e3a2f70f2d6e20115c8)
+++ tests/io2.cfa	(revision 9d362a0aa105cc54a0a3b9de3a600875b0ade8ae)
@@ -10,6 +10,6 @@
 // Created On       : Wed Mar  2 16:56:02 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Dec 12 16:19:15 2018
-// Update Count     : 110
+// Last Modified On : Fri Dec 21 08:20:14 2018
+// Update Count     : 112
 //
 
@@ -96,6 +96,6 @@
 	sout | sepOn | 1 | 2 | 3 | sepOn;					// no separator at start/end of line
 	sout | 1 | sepOff | 2 | 3;							// locally turn off implicit separator
-	sout | sepOn | sepOn | 1 | 2 | 3 | sepOn | sepOff | sepOn | '\n'; // no separator at start/end of line
-	sout | 1 | 2 | 3 | "\n\n" | sepOn;					// no separator at start of next line
+	sout | sepOn | sepOn | 1 | 2 | 3 | sepOn | sepOff | sepOn | '\n' | nonl; // no separator at start/end of line
+	sout | 1 | 2 | 3 | "\n\n" | sepOn | nonl;					// no separator at start of next line
 	sout | 1 | 2 | 3;
 	sout | nl;
@@ -133,4 +133,4 @@
 // Local Variables: //
 // tab-width: 4 //
-// compile-command: "cfa io2.cfa" //
+// compile-command: "cfa -DIN_DIR=".in/" io2.cfa" //
 // End: //
Index: tests/loopctrl.cfa
===================================================================
--- tests/loopctrl.cfa	(revision 2a092d640cb7b13557e11e3a2f70f2d6e20115c8)
+++ tests/loopctrl.cfa	(revision 9d362a0aa105cc54a0a3b9de3a600875b0ade8ae)
@@ -10,6 +10,6 @@
 // Created On       : Wed Aug  8 18:32:59 2018
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Dec 12 08:14:44 2018
-// Update Count     : 76
+// Last Modified On : Sat Dec 22 09:41:15 2018
+// Update Count     : 77
 // 
 
@@ -38,5 +38,5 @@
 	while () { sout | "empty"; break; }					sout | nl;
 	do { sout | "empty"; break; } while ();				sout | nl;
-	for () { sout | "empty"; break; }					sout | nl;
+	for () { sout | "empty"; break; }					sout | nl | nl;
 
 	for ( 0 ) { sout | "A"; }							sout | "zero" | nl;
Index: tests/pybin/tools.py
===================================================================
--- tests/pybin/tools.py	(revision 2a092d640cb7b13557e11e3a2f70f2d6e20115c8)
+++ tests/pybin/tools.py	(revision 9d362a0aa105cc54a0a3b9de3a600875b0ade8ae)
@@ -79,6 +79,7 @@
 def diff( lhs, rhs ):
 	# diff the output of the files
-	diff_cmd = ("diff --ignore-all-space --text "
-				"--ignore-blank-lines "
+	diff_cmd = ("diff --text "
+#				"--ignore-all-space "
+#				"--ignore-blank-lines "
 				"--old-group-format='\t\tmissing lines :\n"
 				"%%<' \\\n"
Index: tests/raii/dtor-early-exit.c
===================================================================
--- tests/raii/dtor-early-exit.c	(revision 2a092d640cb7b13557e11e3a2f70f2d6e20115c8)
+++ tests/raii/dtor-early-exit.c	(revision 9d362a0aa105cc54a0a3b9de3a600875b0ade8ae)
@@ -10,6 +10,6 @@
 // Created On       : Wed Aug 17 08:26:25 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Dec 11 22:05:24 2018
-// Update Count     : 9
+// Last Modified On : Fri Dec 21 08:45:19 2018
+// Update Count     : 10
 //
 
@@ -71,5 +71,5 @@
 		}
 	}
-	sout;
+	sout | nl;
 	for (int i = 0; i < 10; i++) {
 		switch(10) {
Index: tests/searchsort.cfa
===================================================================
--- tests/searchsort.cfa	(revision 2a092d640cb7b13557e11e3a2f70f2d6e20115c8)
+++ tests/searchsort.cfa	(revision 9d362a0aa105cc54a0a3b9de3a600875b0ade8ae)
@@ -10,6 +10,6 @@
 // Created On       : Thu Feb  4 18:17:50 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Dec  5 08:18:42 2018
-// Update Count     : 106
+// Last Modified On : Thu Dec 20 22:49:46 2018
+// Update Count     : 108
 //
 
@@ -30,5 +30,5 @@
 		sout | iarr[i] | ", ";
 	} // for
-	sout | nl;
+	sout | nl | nl;
 
 	// ascending sort/search by changing < to >
@@ -54,5 +54,5 @@
 		sout | size - i | ':' | iarr[posn] | ", ";
 	} // for
-	sout | nl;
+	sout | nl | nl;
 
 	// descending sort/search by changing < to >
@@ -84,5 +84,5 @@
 		} // for
 	}
-	sout | nl;
+	sout | nl | nl;
 
 	double darr[size];
@@ -106,5 +106,5 @@
 		sout | size - i + 0.5 | ':' | darr[posn] | ", ";
 	} // for
-	sout | nl;
+	sout | nl | nl;
 
 	struct S { int i, j; } sarr[size];
@@ -133,5 +133,5 @@
 		sout | temp | ':' | sarr[posn] | ", ";
 	} // for
-	sout | nl;
+	sout | nl | nl;
 	{
 		int getKey( const S & s ) { return s.j; }
@@ -149,5 +149,5 @@
 			sout | size - i + 1 | ':' | sarr[posn] | ", ";
 		} // for
-		sout | nl;
+		sout | nl | nl;
 	}
 } // main
Index: tests/swap.cfa
===================================================================
--- tests/swap.cfa	(revision 2a092d640cb7b13557e11e3a2f70f2d6e20115c8)
+++ tests/swap.cfa	(revision 9d362a0aa105cc54a0a3b9de3a600875b0ade8ae)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Dec 11 10:17:40 2018
-// Update Count     : 74
+// Last Modified On : Sat Dec 22 16:01:33 2018
+// Update Count     : 75
 //
 
@@ -85,4 +85,5 @@
 	struct S { int i, j; } s1 = { 1, 2 }, s2 = { 2, 1 };
 	ofstream & ?|?( ofstream & os, S s ) { return os | s.i | s.j; }
+	void ?|?( ofstream & os, S s ) { (ofstream)(os | s.i | s.j); if ( getANL( os ) ) nl( os ); }
 	sout | "struct S\t\t" | s1 | "," | s2 | "\t\tswap " | nonl;
 	swap( s1, s2 );
Index: tests/time.cfa
===================================================================
--- tests/time.cfa	(revision 2a092d640cb7b13557e11e3a2f70f2d6e20115c8)
+++ tests/time.cfa	(revision 9d362a0aa105cc54a0a3b9de3a600875b0ade8ae)
@@ -10,6 +10,6 @@
 // Created On       : Tue Mar 27 17:24:56 2018
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Dec 11 21:44:03 2018
-// Update Count     : 22
+// Last Modified On : Thu Dec 20 23:09:21 2018
+// Update Count     : 23
 //
 
@@ -30,4 +30,5 @@
 	sout | d1 == 7`s | d1 == d2 | d1 == 0;
 	sout | div( 7`s, 2`s );
+	sout | nl;
 
 	Time t = { 1970, 1, 2, 0, 0, 0, 10_000_000 };
@@ -46,4 +47,5 @@
 	Time t2 = { 2001, 7, 4, 0, 0, 1, 0 }, t3 = (timeval){ 994_219_201 };
 	sout | t2 | t2.tv | nl | t3 | t3.tv;
+	sout | nl;
 
 	// Clock Newfoundland = { -3.5`h }, PST = { -8`h };	// distance from GMT (UTC)
@@ -53,5 +55,5 @@
 	// 	 | "local nsec" | getTimeNsec()
 	// 	 | "PST" | PST();								// getTime short form
-	// sout;
+	// sout | nl;
 
 	// http://en.cppreference.com/w/cpp/chrono/duration/operator_arith4
