Index: libcfa/src/fstream.cfa
===================================================================
--- libcfa/src/fstream.cfa	(revision ef3ac4640bb5bfd60cd87c0a0e50251de36432af)
+++ libcfa/src/fstream.cfa	(revision f4511776e3624956eae41ab1c26f7ff2170560a5)
@@ -10,9 +10,9 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Apr 24 09:05:16 2021
-// Update Count     : 426
-//
-
-#include "fstream.hfa"
+// Last Modified On : Tue Apr 27 22:08:57 2021
+// Update Count     : 442
+//
+
+#include "fstream.hfa"									// also includes iostream.hfa
 
 #include <stdio.h>										// vfprintf, vfscanf
@@ -196,4 +196,14 @@
 ofstream & abort = abortFile;
 
+ofstream & nl( ofstream & os ) {
+	nl$( os );											// call basic_ostream nl
+	flush( os );
+	return os;
+	// (ofstream &)(os | '\n');
+	// setPrt$( os, false );							// turn off
+	// setNL$( os, true );
+	// flush( os );
+	// return sepOff( os );							// prepare for next line
+} // nl
 
 // *********************************** ifstream ***********************************
Index: libcfa/src/fstream.hfa
===================================================================
--- libcfa/src/fstream.hfa	(revision ef3ac4640bb5bfd60cd87c0a0e50251de36432af)
+++ libcfa/src/fstream.hfa	(revision f4511776e3624956eae41ab1c26f7ff2170560a5)
@@ -10,6 +10,6 @@
 // Created On       : Wed May 27 17:56:53 2015
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Apr 24 09:04:03 2021
-// Update Count     : 219
+// Last Modified On : Tue Apr 27 22:00:30 2021
+// Update Count     : 226
 //
 
@@ -71,5 +71,5 @@
 bool fail( ofstream & );
 int flush( ofstream & );
-void open( ofstream &, const char name[], const char mode[] );
+void open( ofstream &, const char name[], const char mode[] ); // FIX ME: use default = "w"
 void open( ofstream &, const char name[] );
 void close( ofstream & );
@@ -86,7 +86,12 @@
 
 void ?{}( ofstream & );
-void ?{}( ofstream &, const char name[], const char mode[] );
+void ?{}( ofstream &, const char name[], const char mode[] ); // FIX ME: use default = "w"
 void ?{}( ofstream &, const char name[] );
 void ^?{}( ofstream & );
+
+// private
+static inline ofstream & nl$( ofstream & os ) { return nl( os ); } // remember basic_ostream nl
+// public
+ofstream & nl( ofstream & os );							// override basic_ostream nl
 
 extern ofstream & sout, & stdout, & serr, & stderr;		// aliases
@@ -111,12 +116,14 @@
 bool getANL( ifstream & );
 void ends( ifstream & );
+int fmt( ifstream &, const char format[], ... ) __attribute__(( format(scanf, 2, 3) ));
+
 bool fail( ifstream & is );
 int eof( ifstream & is );
-void open( ifstream & is, const char name[], const char mode[] );
+void open( ifstream & is, const char name[], const char mode[] ); // FIX ME: use default = "r"
 void open( ifstream & is, const char name[] );
 void close( ifstream & is );
 ifstream & read( ifstream & is, char * data, size_t size );
 ifstream & ungetc( ifstream & is, char c );
-int fmt( ifstream &, const char format[], ... ) __attribute__(( format(scanf, 2, 3) ));
+
 void acquire( ifstream & is );
 void release( ifstream & is );
@@ -129,5 +136,5 @@
 
 void ?{}( ifstream & is );
-void ?{}( ifstream & is, const char name[], const char mode[] );
+void ?{}( ifstream & is, const char name[], const char mode[] ); // FIX ME: use default = "r"
 void ?{}( ifstream & is, const char name[] );
 void ^?{}( ifstream & is );
