Index: tests/collections/.expect/string-istream-manip.txt
===================================================================
--- tests/collections/.expect/string-istream-manip.txt	(revision f2898df1db5cd1f1673c3aaa39bc475f81adb6e2)
+++ tests/collections/.expect/string-istream-manip.txt	(revision 8a33777063862817f6f9b06eedc39d326a95ca25)
@@ -68,5 +68,5 @@
 12 wwwwwwww
 13 wwwwwwww
-14 cccc
+14 
 15 
 1 yyyyyyyyyyyyyyyyyyyy
@@ -83,4 +83,4 @@
 12 wwwwwwww
 13 wwwwwwww
-14 cccc
+14 
 15 
Index: tests/collections/.in/string-istream-manip.txt
===================================================================
--- tests/collections/.in/string-istream-manip.txt	(revision f2898df1db5cd1f1673c3aaa39bc475f81adb6e2)
+++ tests/collections/.in/string-istream-manip.txt	(revision 8a33777063862817f6f9b06eedc39d326a95ca25)
@@ -36,6 +36,6 @@
 abcxxx
 abcyyy
-aaaaaaaaxxxxxxxxaabbccbbdddwwwbbbbbbbbwwwwwwwwaaaaaaaawwwwwwww
-uuuuuccccuuuuu
+aaaaaaaaxxxxxxxxaabbccbbdddwwwbbbbbbbbwwwwwwwwaaaaaaaawwwwwwwwaaaaaaaawwwwwwww
+uuuuu
 abc 
 cccccb 
@@ -43,4 +43,4 @@
 abcxxx
 abcyyy
-aaaaaaaaxxxxxxxxaabbccbbdddwwwbbbbbbbbwwwwwwwwaaaaaaaawwwwwwww
-uuuuuccccuuuuu
+aaaaaaaaxxxxxxxxaabbccbbdddwwwbbbbbbbbwwwwwwwwaaaaaaaawwwwwwwwaaaaaaaawwwwwwww
+uuuuu
Index: tests/collections/string-istream-manip.cfa
===================================================================
--- tests/collections/string-istream-manip.cfa	(revision f2898df1db5cd1f1673c3aaa39bc475f81adb6e2)
+++ tests/collections/string-istream-manip.cfa	(revision 8a33777063862817f6f9b06eedc39d326a95ca25)
@@ -165,4 +165,5 @@
         sin | ignore( incl( "abc", wdi( 8, s ) ) );     sout | "12" | s;
         sin | ignore( excl( "abc", wdi( 8, s ) ) );     sout | "13" | s;
+		sin | "\n";
 
 		s = "q";
@@ -191,4 +192,5 @@
         sin | ignore( incl( "abc", wdi( 8, s ) ) );     sout | "12" | s;
         sin | ignore( excl( "abc", wdi( 8, s ) ) );     sout | "13" | s;
+		sin | "\n";
 
 		s = "q";
Index: tests/io/.expect/manipulatorsInput.arm64.txt
===================================================================
--- tests/io/.expect/manipulatorsInput.arm64.txt	(revision f2898df1db5cd1f1673c3aaa39bc475f81adb6e2)
+++ tests/io/.expect/manipulatorsInput.arm64.txt	(revision 8a33777063862817f6f9b06eedc39d326a95ca25)
@@ -18,5 +18,5 @@
 12 wwwwwwww
 13 wwwwwwww
-14 rc=1, cccc
+14 rc=0, q
 15 rc=0, q
 16 get this line
@@ -41,5 +41,5 @@
 12
 13
-14 cccc
+14
 15
 16 get this line
Index: tests/io/.expect/manipulatorsInput.x64.txt
===================================================================
--- tests/io/.expect/manipulatorsInput.x64.txt	(revision f2898df1db5cd1f1673c3aaa39bc475f81adb6e2)
+++ tests/io/.expect/manipulatorsInput.x64.txt	(revision 8a33777063862817f6f9b06eedc39d326a95ca25)
@@ -18,5 +18,5 @@
 12 wwwwwwww
 13 wwwwwwww
-14 rc=1, cccc
+14 rc=0, q
 15 rc=0, q
 16 get this line
@@ -41,5 +41,5 @@
 12
 13
-14 cccc
+14
 15
 16 get this line
Index: tests/io/.expect/manipulatorsInput.x86.txt
===================================================================
--- tests/io/.expect/manipulatorsInput.x86.txt	(revision f2898df1db5cd1f1673c3aaa39bc475f81adb6e2)
+++ tests/io/.expect/manipulatorsInput.x86.txt	(revision 8a33777063862817f6f9b06eedc39d326a95ca25)
@@ -18,5 +18,5 @@
 12 wwwwwwww
 13 wwwwwwww
-14 rc=1, cccc
+14 rc=0, q
 15 rc=0, q
 16 get this line
@@ -41,5 +41,5 @@
 12
 13
-14 cccc
+14
 15
 16 get this line
Index: tests/io/.in/manipulatorsInput.txt
===================================================================
--- tests/io/.in/manipulatorsInput.txt	(revision f2898df1db5cd1f1673c3aaa39bc475f81adb6e2)
+++ tests/io/.in/manipulatorsInput.txt	(revision 8a33777063862817f6f9b06eedc39d326a95ca25)
@@ -8,6 +8,6 @@
 abcxxx
 abcyyy
-aaaaaaaaxxxxxxxxaabbccbbdddwwwbbbbbbbbwwwwwwwwaaaaaaaawwwwwwww
-uuuuuccccuuuuu
+aaaaaaaaxxxxxxxxaabbccbbdddwwwbbbbbbbbwwwwwwwwaaaaaaaawwwwwwwwaaaaaaaawwwwwwww
+uuuuu
 get this line
 @# this line 1)-{}%
@@ -23,6 +23,6 @@
 abcxxx
 abcyyy
-aaaaaaaaxxxxxxxxaabbccbbdddwwwbbbbbbbbwwwwwwwwaaaaaaaawwwwwwww
-uuuuuccccuuuuu
+aaaaaaaaxxxxxxxxaabbccbbdddwwwbbbbbbbbwwwwwwwwaaaaaaaawwwwwwwwaaaaaaaawwwwwwww
+uuuuu
 get this line
 @# this line 1)-{}%
Index: tests/io/manipulatorsInput.cfa
===================================================================
--- tests/io/manipulatorsInput.cfa	(revision f2898df1db5cd1f1673c3aaa39bc475f81adb6e2)
+++ tests/io/manipulatorsInput.cfa	(revision 8a33777063862817f6f9b06eedc39d326a95ca25)
@@ -55,39 +55,40 @@
 	}
 	{
-		char s[] = "yyyyyyyyyyyyyyyyyyyy";
+		char s[] = "yyyyyyyyyyyyyyyyyyyy";                                                     // Input characters consumed:
 		const char sk_fmt[] = "%*[abc]";
-		scanf( "abc " ); scanf( sk_fmt ); for ( 5 ) scanf( "%*c" ); printf( "1 %s\n", s );
-		scanf( "%s", s );								printf( "2 %s\n", s );
-		scanf( "%*s" );									printf( "3 %s\n", s );
-		scanf( "%8s", s );								printf( "4 %s\n", s );
-		scanf( "%*8s" );								printf( "5 %s\n", s );
-
-		scanf( "%[abc]", s );							printf( "6 %s\n", s );
-		scanf( "%[^abc]", s );							printf( "7 %s\n", s );
-		scanf( "%*[abc]" );								printf( "8 %s\n", s );
-		scanf( "%*[^abc]" );							printf( "9 %s\n", s );
-		scanf( "%8[abc]", s );							printf( "10 %s\n", s );
-		scanf( "%8[^abc]", s );							printf( "11 %s\n", s );
-		scanf( "%*8[abc]" );							printf( "12 %s\n", s );
-		scanf( "%*8[^abc]" );							printf( "13 %s\n", s );
+		scanf( "abc " ); scanf( sk_fmt ); for ( 5 ) scanf( "%*c" ); printf( "1 %s\n", s );     // |abc |\ncccccb| \nxx\n|
+		scanf( "%s", s );								printf( "2 %s\n", s );                 // |abcxxx|
+		scanf( "%*s" );									printf( "3 %s\n", s );                 // |\nabcyyy|
+		scanf( "%8s", s );								printf( "4 %s\n", s );                 // |\naaaaaaaa|
+		scanf( "%*8s" );								printf( "5 %s\n", s );                 // |xxxxxxxx|
+
+		scanf( "%[abc]", s );							printf( "6 %s\n", s );                 // |aabbccbb|
+		scanf( "%[^abc]", s );							printf( "7 %s\n", s );                 // |dddwww|
+		scanf( "%*[abc]" );								printf( "8 %s\n", s );                 // |bbbbbbbb|
+		scanf( "%*[^abc]" );							printf( "9 %s\n", s );                 // |wwwwwwww|
+		scanf( "%8[abc]", s );							printf( "10 %s\n", s );                // |aaaaaaaa|
+		scanf( "%8[^abc]", s );							printf( "11 %s\n", s );                // |wwwwwwww|
+		scanf( "%*8[abc]" );							printf( "12 %s\n", s );                // |aaaaaaaa|
+		scanf( "%*8[^abc]" );							printf( "13 %s\n", s );                // |wwwwwwww|
+		scanf( "\n" );									// must start next line                // |\n|
 
 		int rc;
 		s[0] = 'q'; s[1] = '\0'; rc = 99;
-		rc = scanf( "%[abc]", s );						printf( "14 rc=%d, %s\n", rc, s );
+		rc = scanf( "%[abc]", s );						printf( "14 rc=%d, %s\n", rc, s );     // ||
 		s[0] = 'q'; s[1] = '\0'; rc = 99;
-		rc = scanf( "%[^u]", s );						printf( "15 rc=%d, %s\n", rc, s );
-		scanf( "%*[u]\n" );
-		scanf( "%[^\n]\n", s );							printf( "16 %s\n", s );
-		scanf( "%[^%%]%%\n", s );						printf( "17 %s\n", s );
-
-		scanf( "%*[ \f\n\r\t\v]" );						// ignore whitespace
-		scanf( "\"%[^\"]\"", s );						printf( "18 %s\n", s );
-		scanf( "%*[ \f\n\r\t\v]" );						// ignore whitespace
-		scanf( "'%[^']'", s );							printf( "19 %s\n", s );
-		scanf( "%*[ \f\n\r\t\v]" );						// ignore whitespace
-		scanf( "{%[^}]}", s );							printf( "20 %s\n", s );
-		scanf( "%*[ \f\n\r\t\v]" );						// ignore whitespace
-		scanf( "X%[^Y]Y", s );							printf( "21 %s\n", s );
-		scanf( "\n" );									// must start next line
+		rc = scanf( "%[^u]", s );						printf( "15 rc=%d, %s\n", rc, s );     // ||
+		scanf( "%*[u]\n" );                                                                    // |uuuuu\n|
+		scanf( "%[^\n]\n", s );							printf( "16 %s\n", s );                // |get this line\n|
+		scanf( "%[^%%]%%\n", s );						printf( "17 %s\n", s );                // |@# this line 1)-{}%\n|
+
+		scanf( "%*[ \f\n\r\t\v]" );						// ignore whitespace                   // ||
+		scanf( "\"%[^\"]\"", s );						printf( "18 %s\n", s );                // |"abc"|
+		scanf( "%*[ \f\n\r\t\v]" );						// ignore whitespace                   // |\n|
+		scanf( "'%[^']'", s );							printf( "19 %s\n", s );                // |'abc  '|
+		scanf( "%*[ \f\n\r\t\v]" );						// ignore whitespace                   // |\n|
+		scanf( "{%[^}]}", s );							printf( "20 %s\n", s );                // |{ d d\n\nd }|
+		scanf( "%*[ \f\n\r\t\v]" );						// ignore whitespace                   // |\n|
+		scanf( "X%[^Y]Y", s );							printf( "21 %s\n", s );                // |X		ZC44%Y|
+		scanf( "\n" );									// must start next line                // |\n|
 	}
 	{
@@ -108,4 +109,5 @@
 		sin | ignore( incl( "abc", wdi( sizeof(s), 8, s ) ) ); sout | "12" | s;
 		sin | ignore( excl( "abc", wdi( sizeof(s), 8, s ) ) ); sout | "13" | s;
+		sin | "\n";
 
 		s[0] = 'q'; s[1] = '\0';
