Index: libcfa/src/iostream.cfa
===================================================================
--- libcfa/src/iostream.cfa	(revision d57e349b59b2caa4153e307659633985bc70b2c4)
+++ libcfa/src/iostream.cfa	(revision 3da7c1972fd4bc269b66f207d6e0ceaa5a2d35d0)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Jun  9 20:54:05 2019
-// Update Count     : 804
+// Last Modified On : Mon Jun 10 18:06:16 2019
+// Update Count     : 809
 //
 
@@ -797,4 +797,10 @@
 } // ?|?
 
+forall( dtype istype | istream( istype ) )
+istype & ?|?( istype & is, _Istream_Char f ) {
+	fmt( is, "%*c" );									// argument variable unused
+	return is;
+} // ?|?
+
 #define InputFMTImpl( T, CODE ) \
 forall( dtype istype | istream( istype ) ) \
@@ -802,5 +808,5 @@
 	enum { size = 16 }; \
 	char fmtstr[size]; \
-	if ( f.wd == -1 || strcmp( CODE, "c" ) == 0 ) { /* ignore width with "c" */	\
+	if ( f.wd == -1 ) { \
 		snprintf( fmtstr, size, "%%%s%s", f.ignore ? "*" : "", CODE ); \
 	} else { \
@@ -812,5 +818,4 @@
 } // ?|?
 
-InputFMTImpl( char, "c" )
 InputFMTImpl( signed char, "hhi" )
 InputFMTImpl( unsigned char, "hhi" )
Index: libcfa/src/iostream.hfa
===================================================================
--- libcfa/src/iostream.hfa	(revision d57e349b59b2caa4153e307659633985bc70b2c4)
+++ libcfa/src/iostream.hfa	(revision 3da7c1972fd4bc269b66f207d6e0ceaa5a2d35d0)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Jun  9 22:46:17 2019
-// Update Count     : 315
+// Last Modified On : Mon Jun 10 18:05:13 2019
+// Update Count     : 320
 //
 
@@ -347,9 +347,17 @@
 static inline _Istream_Cstr excl( const char * scanset, _Istream_Cstr & fmt ) { fmt.scanset = scanset; fmt.flags.inex = true; return fmt; }
 static inline _Istream_Cstr cstr( char * s ) { return (_Istream_Cstr){ s, 0p, -1, { .all : 0 } }; }
-static inline _Istream_Cstr ignore( const char * s ) { return (_Istream_Cstr)@{ s, 0p, -1, { .flags.ignore : true } }; }
+static inline _Istream_Cstr ignore( const char * s ) { return (_Istream_Cstr)@{ 0p, 0p, -1, { .flags.ignore : true } }; }
 static inline _Istream_Cstr ignore( _Istream_Cstr & fmt ) { fmt.flags.ignore = true; return fmt; }
 static inline _Istream_Cstr wd( unsigned int w, char * s ) { return (_Istream_Cstr)@{ s, 0p, w, { .all : 0 } }; }
 static inline _Istream_Cstr wd( unsigned int w, _Istream_Cstr & fmt ) { fmt.wd = w; return fmt; }
-forall( dtype istype | istream( istype ) ) istype & ?|?( istype &, _Istream_Cstr );
+forall( dtype istype | istream( istype ) ) istype & ?|?( istype & is, _Istream_Cstr f );
+
+struct _Istream_Char {
+	bool ignore;										// do not change input argument
+}; // _Istream_Char
+
+static inline _Istream_Char ignore( const char c ) { return (_Istream_Char)@{ true }; }
+static inline _Istream_Char ignore( _Istream_Char & fmt ) { fmt.ignore = true; return fmt; }
+forall( dtype istype | istream( istype ) ) istype & ?|?( istype & is, _Istream_Char f );
 
 forall( otype T )
@@ -368,5 +376,4 @@
 } // ?|?
 
-InputFMTDecl( char )
 InputFMTDecl( signed char )
 InputFMTDecl( unsigned char )
Index: tests/.expect/manipulatorsInput.txt
===================================================================
--- tests/.expect/manipulatorsInput.txt	(revision d57e349b59b2caa4153e307659633985bc70b2c4)
+++ tests/.expect/manipulatorsInput.txt	(revision 3da7c1972fd4bc269b66f207d6e0ceaa5a2d35d0)
@@ -26,7 +26,5 @@
 13 wwwwwwww
 a
-b
-b
-b
+a
 -1
 15
Index: sts/.expect/manipulatorsOutput2.txt
===================================================================
--- tests/.expect/manipulatorsOutput2.txt	(revision d57e349b59b2caa4153e307659633985bc70b2c4)
+++ 	(revision )
@@ -1,32 +1,0 @@
-
-0b0 0b11011 0b11011 0b11011 0b11011
-0b11100101 0b1111111111100101 0b11111111111111111111111111100101 0b1111111111111111111111111111111111111111111111111111111111100101
-0 033 033 033 033
-0345 0177745 037777777745 01777777777777777777745
-0 0x1b 0x1b 0x1b 0x1b
-0xe5 0xffe5 0xffffffe5 0xffffffffffffffe5
-0x0p+0. 0x1.b8p+4 0x1.b8p+4 0xd.cp+1
--0x1.b8p+4 -0x1.b8p+4 -0xd.cp+1
-0.000000e+00 2.750000e+01 -2.750000e+01
-0B11011 0X1B 2.75E-09 0X1.B8P+4
-11011 33 1b
-0. 0 27. 27 27.5
-+27 -27 +27 -27 +27.5 -27.5
-  34  34 34
-  4.000000  4.000000 4.000000
-  ab  ab ab
-34567 34567 34567
-3456.000000 3456.000000 3456.000000
-abcde abcde abcde
- 034     0034 0000000034
-3456     3456       3456
-     0000000034
-27.500     27.5      28. 27.50000000
-27.000 27.500     27.5      28. 27.50000000
-27   27.000000  27.500000  027  27.500    
-234.567 234.57  234.6   235.
-234567. 2.3457e+05 2.346e+05 2.35e+05
-234567. 234567. 234567. 234567.
-  abcd     abcd abcd
-  abcd abcdefgh    abc
-0027  027 0027.500
Index: tests/.expect/manipulatorsOutput2.x64.txt
===================================================================
--- tests/.expect/manipulatorsOutput2.x64.txt	(revision 3da7c1972fd4bc269b66f207d6e0ceaa5a2d35d0)
+++ tests/.expect/manipulatorsOutput2.x64.txt	(revision 3da7c1972fd4bc269b66f207d6e0ceaa5a2d35d0)
@@ -0,0 +1,32 @@
+
+0b0 0b11011 0b11011 0b11011 0b11011
+0b11100101 0b1111111111100101 0b11111111111111111111111111100101 0b1111111111111111111111111111111111111111111111111111111111100101
+0 033 033 033 033
+0345 0177745 037777777745 01777777777777777777745
+0 0x1b 0x1b 0x1b 0x1b
+0xe5 0xffe5 0xffffffe5 0xffffffffffffffe5
+0x0p+0. 0x1.b8p+4 0x1.b8p+4 0xd.cp+1
+-0x1.b8p+4 -0x1.b8p+4 -0xd.cp+1
+0.000000e+00 2.750000e+01 -2.750000e+01
+0B11011 0X1B 2.75E-09 0X1.B8P+4
+11011 33 1b
+0. 0 27. 27 27.5
++27 -27 +27 -27 +27.5 -27.5
+  34  34 34
+  4.000000  4.000000 4.000000
+  ab  ab ab
+34567 34567 34567
+3456.000000 3456.000000 3456.000000
+abcde abcde abcde
+ 034     0034 0000000034
+3456     3456       3456
+     0000000034
+27.500     27.5      28. 27.50000000
+27.000 27.500     27.5      28. 27.50000000
+27   27.000000  27.500000  027  27.500    
+234.567 234.57  234.6   235.
+234567. 2.3457e+05 2.346e+05 2.35e+05
+234567. 234567. 234567. 234567.
+  abcd     abcd abcd
+  abcd abcdefgh    abc
+0027  027 0027.500
Index: tests/.expect/manipulatorsOutput2.x86.txt
===================================================================
--- tests/.expect/manipulatorsOutput2.x86.txt	(revision 3da7c1972fd4bc269b66f207d6e0ceaa5a2d35d0)
+++ tests/.expect/manipulatorsOutput2.x86.txt	(revision 3da7c1972fd4bc269b66f207d6e0ceaa5a2d35d0)
@@ -0,0 +1,32 @@
+
+0b0 0b11011 0b11011 0b11011 0b11011
+0b11100101 0b1111111111100101 0b11111111111111111111111111100101 0b11111111111111111111111111100101
+0 033 033 033 033
+0345 0177745 037777777745 037777777745
+0 0x1b 0x1b 0x1b 0x1b
+0xe5 0xffe5 0xffffffe5 0xffffffe5
+0x0p+0. 0x1.b8p+4 0x1.b8p+4 0xd.cp+1
+-0x1.b8p+4 -0x1.b8p+4 -0xd.cp+1
+0.000000e+00 2.750000e+01 -2.750000e+01
+0B11011 0X1B 2.75E-09 0X1.B8P+4
+11011 33 1b
+0. 0 27. 27 27.5
++27 -27 +27 -27 +27.5 -27.5
+  34  34 34
+  4.000000  4.000000 4.000000
+  ab  ab ab
+34567 34567 34567
+3456.000000 3456.000000 3456.000000
+abcde abcde abcde
+ 034     0034 0000000034
+3456     3456       3456
+     0000000034
+27.500     27.5      28. 27.50000000
+27.000 27.500     27.5      28. 27.50000000
+27   27.000000  27.500000  027  27.500    
+234.567 234.57  234.6   235.
+234567. 2.3457e+05 2.346e+05 2.35e+05
+234567. 234567. 234567. 234567.
+  abcd     abcd abcd
+  abcd abcdefgh    abc
+0027  027 0027.500
Index: tests/.in/manipulatorsInput.txt
===================================================================
--- tests/.in/manipulatorsInput.txt	(revision d57e349b59b2caa4153e307659633985bc70b2c4)
+++ tests/.in/manipulatorsInput.txt	(revision 3da7c1972fd4bc269b66f207d6e0ceaa5a2d35d0)
@@ -7,5 +7,5 @@
 abcyyy
 aaaaaaaaxxxxxxxxaabbccbbdddwwwbbbbbbbbwwwwwwwwaaaaaaaawwwwwwww
-abcd
+ab
 0xff 017 15-15
 0xff 017 15-15
Index: tests/manipulatorsInput.cfa
===================================================================
--- tests/manipulatorsInput.cfa	(revision d57e349b59b2caa4153e307659633985bc70b2c4)
+++ tests/manipulatorsInput.cfa	(revision 3da7c1972fd4bc269b66f207d6e0ceaa5a2d35d0)
@@ -7,6 +7,6 @@
 // Created On       : Sat Jun  8 17:58:54 2019
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Mon Jun 10 08:11:03 2019
-// Update Count     : 7
+// Last Modified On : Mon Jun 10 18:38:35 2019
+// Update Count     : 8
 // 
 
@@ -52,7 +52,5 @@
 		char c;
 		sin | c;							sout | c;
-		sin | wdi( 3, c );					sout | c;
 		sin | ignore( c );					sout | c;
-		sin | ignore( wdi( 3, c ) );		sout | c;
 
 		signed char sc;
Index: tests/sum.cfa
===================================================================
--- tests/sum.cfa	(revision d57e349b59b2caa4153e307659633985bc70b2c4)
+++ tests/sum.cfa	(revision 3da7c1972fd4bc269b66f207d6e0ceaa5a2d35d0)
@@ -11,6 +11,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun May 19 11:21:02 2019
-// Update Count     : 330
+// Last Modified On : Thu Jun  6 16:18:22 2019
+// Update Count     : 333
 //
 
@@ -111,5 +111,6 @@
 	};
 	GS(int) gs;
-	gs.x = anew( size );								// create array storage for field
+	// FIX ME, resolution problem with anew not picking up the LH type
+	gs.x = (typeof(gs.x))anew( size );					// create array storage for field
 	s = 0; v = low;
 	for ( int i = 0; i < size; i += 1, v += 1 ) {
