Index: tests/io/.expect/manipulatorsInput-uchunk.txt
===================================================================
--- tests/io/.expect/manipulatorsInput-uchunk.txt	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.expect/manipulatorsInput-uchunk.txt	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,124 @@
+--- default.1 ---
+BGN "---"x
+END "---"x
+--- default.2 ---
+BGN "---"x
+GOT "123"x
+END "---"x
+--- default.3 ---
+BGN "---"x
+GOT "12345678"x
+END "---"x
+--- default.4 ---
+BGN "---"x
+END "---"x
+--- default.5 ---
+BGN "---"x
+GOT "123"x
+END "---"x
+--- default.6 ---
+BGN "---"x
+GOT "12345678"x
+END "---"x
+--- default.7 ---
+BGN "---"x
+GOT "1"x
+END "---"x
+--- default.8 ---
+BGN "---"x
+GOT "1123"x
+END "---"x
+--- default.9 ---
+BGN "---"x
+GOT "1"x
+END "---"x
+--- default.10 ---
+BGN "---"x
+GOT "1"x
+END "---"x
+--- default.11 ---
+BGN "---"x
+GOT "1"x
+GOT "123"x
+END "---"x
+--- default.12 ---
+BGN "---"x
+GOT "123"x
+GOT "12345678"x
+END "---"x
+--- default.13 ---
+BGN "---"x
+GOT "12345678"x
+GOT "1"x
+END "---"x
+--- default.14 ---
+BGN "---"x
+END "---"x
+--- getline.1 ---
+BGN "---"x
+END "---"x
+--- getline.2 ---
+BGN "---"x
+GOT "123"x
+END "---"x
+--- getline.3 ---
+BGN "---"x
+GOT "12345678"x
+END "---"x
+--- getline.4 ---
+BGN "---"x
+GOT ""x
+END "---"x
+--- getline.5 ---
+BGN "---"x
+GOT "123"x
+END "---"x
+--- getline.6 ---
+BGN "---"x
+GOT "12345678"x
+END "---"x
+--- getline.7 ---
+BGN "---"x
+GOT "1"x
+END "---"x
+--- getline.8 ---
+BGN "---"x
+GOT ""x
+GOT "123"x
+END "---"x
+--- getline.9 ---
+BGN "---"x
+GOT ""x
+GOT ""x
+GOT "1"x
+END "---"x
+--- getline.10 ---
+BGN "---"x
+GOT "1"x
+GOT ""x
+END "---"x
+--- getline.11 ---
+BGN "---"x
+GOT ""x
+GOT ""x
+GOT "1"x
+GOT "123 "x
+END "---"x
+--- getline.12 ---
+BGN "---"x
+GOT "123"x
+GOT ""x
+GOT "12345678"x
+GOT ""x
+END "---"x
+--- getline.13 ---
+BGN "---"x
+GOT ""x
+GOT "12345678"x
+GOT "1"x
+END "---"x
+--- getline.14 ---
+BGN "---"x
+GOT ""x
+GOT ""x
+END "---"x
Index: tests/io/.in/manipulatorsInput-uchunk.default.10.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.default.10.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.default.10.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+1  
Index: tests/io/.in/manipulatorsInput-uchunk.default.11.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.default.11.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.default.11.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+  1 123 
Index: tests/io/.in/manipulatorsInput-uchunk.default.12.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.default.12.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.default.12.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+123  12345678  
Index: tests/io/.in/manipulatorsInput-uchunk.default.13.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.default.13.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.default.13.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+ 12345678 1
Index: tests/io/.in/manipulatorsInput-uchunk.default.14.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.default.14.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.default.14.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+  
Index: tests/io/.in/manipulatorsInput-uchunk.default.2.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.default.2.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.default.2.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+123
Index: tests/io/.in/manipulatorsInput-uchunk.default.3.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.default.3.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.default.3.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+12345678
Index: tests/io/.in/manipulatorsInput-uchunk.default.4.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.default.4.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.default.4.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+ 
Index: tests/io/.in/manipulatorsInput-uchunk.default.5.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.default.5.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.default.5.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+123 
Index: tests/io/.in/manipulatorsInput-uchunk.default.6.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.default.6.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.default.6.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+12345678 
Index: tests/io/.in/manipulatorsInput-uchunk.default.7.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.default.7.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.default.7.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+1
Index: tests/io/.in/manipulatorsInput-uchunk.default.8.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.default.8.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.default.8.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+ 1123 
Index: tests/io/.in/manipulatorsInput-uchunk.default.9.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.default.9.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.default.9.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+  1
Index: tests/io/.in/manipulatorsInput-uchunk.getline.10.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.getline.10.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.getline.10.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,2 @@
+1
+
Index: tests/io/.in/manipulatorsInput-uchunk.getline.11.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.getline.11.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.getline.11.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,4 @@
+
+
+1
+123 
Index: tests/io/.in/manipulatorsInput-uchunk.getline.12.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.getline.12.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.getline.12.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,4 @@
+123
+
+12345678
+
Index: tests/io/.in/manipulatorsInput-uchunk.getline.13.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.getline.13.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.getline.13.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,3 @@
+
+12345678
+1
Index: tests/io/.in/manipulatorsInput-uchunk.getline.14.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.getline.14.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.getline.14.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,2 @@
+
+
Index: tests/io/.in/manipulatorsInput-uchunk.getline.2.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.getline.2.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.getline.2.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+123
Index: tests/io/.in/manipulatorsInput-uchunk.getline.3.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.getline.3.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.getline.3.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+12345678
Index: tests/io/.in/manipulatorsInput-uchunk.getline.4.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.getline.4.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.getline.4.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+
Index: tests/io/.in/manipulatorsInput-uchunk.getline.5.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.getline.5.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.getline.5.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+123
Index: tests/io/.in/manipulatorsInput-uchunk.getline.6.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.getline.6.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.getline.6.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+12345678
Index: tests/io/.in/manipulatorsInput-uchunk.getline.7.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.getline.7.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.getline.7.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,1 @@
+1
Index: tests/io/.in/manipulatorsInput-uchunk.getline.8.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.getline.8.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.getline.8.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,2 @@
+
+123
Index: tests/io/.in/manipulatorsInput-uchunk.getline.9.auxdata
===================================================================
--- tests/io/.in/manipulatorsInput-uchunk.getline.9.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/.in/manipulatorsInput-uchunk.getline.9.auxdata	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,3 @@
+
+
+1
Index: tests/io/manipulatorsInput-uchunk.cfa
===================================================================
--- tests/io/manipulatorsInput-uchunk.cfa	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/manipulatorsInput-uchunk.cfa	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,185 @@
+/*
+uchunk - user-visible chunking: how a user's input-consuming loop experiences a presence/absence of qualifying input
+         slight generalization of "eof handling"; we called many of these cases the "eof tests" while first devising them
+
+Coverage criteria include when an input-provided chunk exactly fills a user-provided buffer,
+because the double-boundary case of "this happens just before eof" is (white-box) uchunk-relevant.
+But cases of input-provided chunks exceeding the user's buffer live under
+manipulatorsInput#pre* and ../collections/string-io-istream-manip#pre*.
+
+Test design with subprocesses and auxiliary inputs is cargo-culted from
+configs/parseconfig, configs/usage and io/many_read.
+If you're here to cargo-cult, start there.
+
+*/
+
+#ifdef __cplusplus
+  #include <iostream>
+  #include <iomanip>
+  #include <cstring>
+  using namespace std;
+  #define TRYREAD(str)      tryread(sizeof(str)-1, str);
+  #define DETECT_EOF( ... ) __VA_ARGS__
+  #define POLL_EOF          if ( cin.fail() ) break;
+  #define ECHO(stg, str)    cout << #stg << " \"" << str << "\"" << str[sizeof(str)-1] << endl
+#elif defined __cforall
+  #include <fstream.hfa>
+  extern "C" {
+    char* strcpy(char*, const char*);
+  }
+  #define DETECT_EOF( ... ) \
+    try { \
+      __VA_ARGS__ \
+    } catch ( end_of_file * ) {}
+  #define TRYREAD(str)      try {                                             \
+                                  tryread(sizeof(str)-1, str);                \
+                            }                                                 \
+                            catch ( cstring_length* ) {                       \
+                                /* never expected; just harness robustness */ \
+                                sout | "cstring_length and " | nonl;          \
+                            }
+  #define POLL_EOF
+  #define ECHO(stg, str)    sout | #stg | " \"" | str | "\"" | str[sizeof(str)-1]
+#else
+  #error no
+#endif
+
+
+
+//
+// BEGIN: functions only used in child process
+//
+// Parent process does not use test.py-provided stdin.
+// Parent process uses test.py-provided IN_DIR, from which it explicitly opens files.
+// Each child process sees content from one such file on its stdin.
+// The functions in this section echo, from this distinct child stdin, to parent-bridged stdout.
+//
+
+void subcaseHarness( void (*tryread)(size_t, char*) ) {
+    char s[10];
+    DETECT_EOF (
+      for (bool first = true ;; ) {
+          strcpy(s, "---");  // every time: restore "---"x
+          s[9] = 'x';
+          if (first) {
+            ECHO(BGN, s);    // first time: show it
+            first = false;
+          }
+
+          TRYREAD(s)
+          POLL_EOF
+          ECHO(GOT, s);
+      }
+    )
+    ECHO(END, s);
+}
+
+void tryread_default(size_t sizeof_s, char *s) {
+  #ifdef __cplusplus
+    cin >> setw( sizeof_s ) >> s;
+  #else
+    sin | wdi( sizeof_s, s );
+  #endif
+}
+
+void tryread_getline(size_t sizeof_s, char *s) {
+  #ifdef __cplusplus
+    cin.getline(s, sizeof_s);
+  #else
+    sin | getline( wdi( sizeof_s, s ) );
+  #endif
+}
+
+//
+// END: functions only used in child process
+//
+
+
+extern "C" {
+	#include <sys/types.h>
+	#include <sys/stat.h>
+	#include <fcntl.h>
+	#include <unistd.h>
+}
+
+#ifdef SUBCASE_ISOLATION
+
+    #define x(s) s
+    #define TRYREAD_FUNCTION x(tryread_ ## x(SUBCASE_ISOLATION))
+
+    #define MK_TRYREAD_FUNCTION(x) tryread_ ## x
+
+    #define _MAKEDATA(n) tryread_ ## n
+    #define MAKEDATA(n) _MAKEDATA(n)
+
+    int main() {
+        subcaseHarness( MAKEDATA(SUBCASE_ISOLATION) );
+    }
+
+#else 
+    #define xstr(s) str(s)
+    #define str(s) #s
+
+    #include "../meta/fork+exec.hfa"
+
+    void forkJoinSubcase( void (*tryread)(size_t, char*), const char* subcase_name, const char* aux_in_fname ) {
+        printf("--- %s ---\n", subcase_name);
+        int aux_in_fd = open(aux_in_fname, 0);
+        if( aux_in_fd < 0 ) {
+            printf("Failed to open file: %s\n", aux_in_fname);
+            exit(1);
+        }
+        if ( pid_t child_pid = strict_fork() ) {
+            // in parent
+            do_wait(child_pid);
+        } else {
+            // in child
+            dup2(aux_in_fd, 0);  // make stdin pull from aux
+            subcaseHarness( tryread );
+            exit(0);
+        }
+    }
+
+    #define SUBCASE_( TRYREAD_FUNCTION, IN_FILE_SLUG ) forkJoinSubcase( TRYREAD_FUNCTION, (IN_FILE_SLUG), (xstr(IN_DIR) "manipulatorsInput-uchunk." IN_FILE_SLUG ".auxdata") )
+    #define SUBCASE( MANIP, IN_FILE_SUFFIX ) SUBCASE_( tryread_ ## MANIP, #MANIP "." #IN_FILE_SUFFIX )
+
+    int main() {
+
+        SUBCASE( default, 1 );
+        SUBCASE( default, 2 );
+        SUBCASE( default, 3 );
+        SUBCASE( default, 4 );
+        SUBCASE( default, 5 );
+        SUBCASE( default, 6 );
+        SUBCASE( default, 7 );
+        SUBCASE( default, 8 );
+        SUBCASE( default, 9 );
+        SUBCASE( default, 10 );
+        SUBCASE( default, 11 );
+        SUBCASE( default, 12 );
+        SUBCASE( default, 13 );
+        SUBCASE( default, 14 );
+
+        SUBCASE( getline, 1 );
+        SUBCASE( getline, 2 );
+        SUBCASE( getline, 3 );
+        SUBCASE( getline, 4 );
+        SUBCASE( getline, 5 );
+        SUBCASE( getline, 6 );
+        SUBCASE( getline, 7 );
+        SUBCASE( getline, 8 );
+        SUBCASE( getline, 9 );
+        SUBCASE( getline, 10 );
+        SUBCASE( getline, 11 );
+        SUBCASE( getline, 12 );
+        SUBCASE( getline, 13 );
+        SUBCASE( getline, 14 );
+
+        return 0;
+    }
+
+    // not used
+    static int true_main(const char * path, const char * env[]) { return 0; }
+
+
+#endif
Index: tests/io/manipulatorsInput-uchunk.extra.sh
===================================================================
--- tests/io/manipulatorsInput-uchunk.extra.sh	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
+++ tests/io/manipulatorsInput-uchunk.extra.sh	(revision efe697d7961e2d85c347384ad29592fc7d5af800)
@@ -0,0 +1,56 @@
+#!/usr/bin/env bash
+
+# A utility for manual ...
+# (a) validation: helping you agree that what's in .expect is right
+# (b) failure replay: helping you debug one subcase, without using parent--child processes
+
+# Usage:
+# mkdir ~/uchunk-temp
+# cd ~/uchunk-temp
+# rm *
+# ~/mywork/cfa-cc/tests/io/manipulatorsInput-uchunk.extra.sh
+# ls
+# diff -y all-noend.expect.txt all-noend.cpp-actual.txt | nl
+# ./uchunk-getline-cfa < ~/mywork/cfa-cc/tests/io/.in/manipulatorsInput-uchunk.getline.1.auxdata
+
+SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
+cfa=${cfa:-cfa}
+CXX=${CXX:-g++}
+
+set -v
+$CXX -x c++ $SCRIPT_DIR/manipulatorsInput-uchunk.cfa -DIN_DIR=$SCRIPT_DIR/.in/ -o uchunk-all-cpp
+$cfa        $SCRIPT_DIR/manipulatorsInput-uchunk.cfa -DIN_DIR=$SCRIPT_DIR/.in/ -o uchunk-all-cfa
+
+$CXX -x c++ $SCRIPT_DIR/manipulatorsInput-uchunk.cfa -DSUBCASE_ISOLATION=default -o uchunk-default-cpp
+$cfa        $SCRIPT_DIR/manipulatorsInput-uchunk.cfa -DSUBCASE_ISOLATION=default -o uchunk-default-cfa
+$CXX -x c++ $SCRIPT_DIR/manipulatorsInput-uchunk.cfa -DSUBCASE_ISOLATION=getline -o uchunk-getline-cpp
+$cfa        $SCRIPT_DIR/manipulatorsInput-uchunk.cfa -DSUBCASE_ISOLATION=getline -o uchunk-getline-cfa
+
+
+cp $SCRIPT_DIR/.expect/manipulatorsInput-uchunk.txt all.expect.txt
+./uchunk-all-cpp > all.cpp-actual.txt
+./uchunk-all-cfa > all.cfa-actual.txt
+
+sed 's/^END.*/END -/g' < all.expect.txt      > all-noend.expect.txt
+sed 's/^END.*/END -/g' < all.cpp-actual.txt  > all-noend.cpp-actual.txt
+sed 's/^END.*/END -/g' < all.cfa-actual.txt  > all-noend.cfa-actual.txt
+
+ls -v $SCRIPT_DIR/.in/manipulatorsInput-uchunk* | xargs -n 1 -I {} bash -c 'echo {}; printf \"; cat {}; echo \"' > all.in.txt
+
+diff -q all-noend.expect.txt all-noend.cpp-actual.txt
+diff -q all.expect.txt all.cfa-actual.txt
+diff -q all.cpp-actual.txt all.cfa-actual.txt  # noisy: shows getline's cfa--cpp END semantic difference
+diff -q all-noend.cpp-actual.txt all-noend.cfa-actual.txt
+
+ls
+
+set +v
+
+echo Done.  Further useful commands might include:
+echo cat all.in.txt
+echo diff -y all-noend.expect.txt all-noend.cpp-actual.txt '|' nl
+echo diff -y all.expect.txt all.cfa-actual.txt '|' nl
+echo diff -y all.cpp-actual.txt all.cfa-actual.txt '|' nl
+echo diff -y all-noend.cpp-actual.txt all-noend.cfa-actual.txt '|' nl
+echo './uchunk-getline-cfa <' $SCRIPT_DIR/.in/manipulatorsInput-uchunk.getline.1.auxdata
+echo './uchunk-default-cfa <' $SCRIPT_DIR/.in/manipulatorsInput-uchunk.default.1.auxdata
