Index: src/Concurrency/Corun.cpp
===================================================================
--- src/Concurrency/Corun.cpp	(revision 83fd57dbde2b629bbcc22cdd6694eccab69dd48e)
+++ src/Concurrency/Corun.cpp	(revision 3e1cd17bcf7fa71f8d3d952f264d84a7aeae095d)
@@ -9,7 +9,7 @@
 // Author           : Colby Parsons
 // Created On       : Monday October 9 15:16:42 2023
-// Last Modified By : Colby Parsons
-// Last Modified On : Monday October 9 15:16:42 2023
-// Update Count     : 0
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Thu Dec 14 17:32:17 2023
+// Update Count     : 1
 //
 
@@ -57,8 +57,8 @@
     Stmt * postvisit( const CoforStmt * stmt ) {
         if ( !runnerBlockDecl || !coforRunnerDecl )
-            SemanticError( stmt->location, "To use cofor statements add #include <cofor.hfa>\n" );
+            SemanticError( stmt->location, "To use cofor statements add #include <cofor.hfa>" );
 
         if ( stmt->inits.size() != 1 )
-            SemanticError( stmt->location, "Cofor statements must have a single initializer in the loop control\n" );
+            SemanticError( stmt->location, "Cofor statements must have a single initializer in the loop control" );
 
         if ( !stmt->body )
@@ -77,9 +77,9 @@
         const DeclStmt * declStmtPtr = dynamic_cast<const DeclStmt *>(stmt->inits.at(0).get());
         if ( ! declStmtPtr )
-            SemanticError( stmt->location, "Cofor statement initializer is somehow not a decl statement?\n" );
+            SemanticError( stmt->location, "Cofor statement initializer is somehow not a decl statement?" );
 
         const Decl * declPtr = dynamic_cast<const Decl *>(declStmtPtr->decl.get());
         if ( ! declPtr )
-            SemanticError( stmt->location, "Cofor statement initializer is somehow not a decl?\n" );
+            SemanticError( stmt->location, "Cofor statement initializer is somehow not a decl?" );
 
         Type * initType = new TypeofType( new NameExpr( loc, declPtr->name ) );
@@ -246,5 +246,5 @@
     Stmt * postvisit( const CorunStmt * stmt ) {
         if ( !runnerBlockDecl || !coforRunnerDecl )
-            SemanticError( stmt->location, "To use corun statements add #include <cofor.hfa>\n" );
+            SemanticError( stmt->location, "To use corun statements add #include <cofor.hfa>" );
 
         if ( !stmt->stmt )
Index: src/Concurrency/Keywords.cpp
===================================================================
--- src/Concurrency/Keywords.cpp	(revision 83fd57dbde2b629bbcc22cdd6694eccab69dd48e)
+++ src/Concurrency/Keywords.cpp	(revision 3e1cd17bcf7fa71f8d3d952f264d84a7aeae095d)
@@ -9,7 +9,7 @@
 // Author           : Andrew Beach
 // Created On       : Tue Nov 16  9:53:00 2021
-// Last Modified By : Andrew Beach
-// Last Modified On : Fri Mar 11 10:40:00 2022
-// Update Count     : 2
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Thu Dec 14 18:02:25 2023
+// Update Count     : 6
 //
 
@@ -682,5 +682,5 @@
 
 	if ( 0 != decl->returns.size() ) {
-		SemanticError( decl->location, "Generator main must return void" );
+		SemanticError( decl->location, "Generator main must return void." );
 	}
 
@@ -789,5 +789,5 @@
 	case ast::SuspendStmt::Generator:
 		// Generator suspends must be directly in a generator.
-		if ( !in_generator ) SemanticError( stmt->location, "'suspend generator' must be used inside main of generator type." );
+		if ( !in_generator ) SemanticError( stmt->location, "\"suspend generator\" must be used inside main of generator type." );
 		return make_generator_suspend( stmt );
 	}
@@ -847,5 +847,5 @@
 
 	if ( !decl_suspend ) {
-		SemanticError( location, "suspend keyword applied to coroutines requires coroutines to be in scope, add #include <coroutine.hfa>\n" );
+		SemanticError( location, "suspend keyword applied to coroutines requires coroutines to be in scope, add #include <coroutine.hfa>." );
 	}
 	if ( stmt->then ) {
@@ -918,5 +918,5 @@
 			// If it is a monitor, then it is a monitor.
 			if( baseStruct->base->is_monitor() || baseStruct->base->is_thread() ) {
-				SemanticError( decl, "destructors for structures declared as \"monitor\" must use mutex parameters\n" );
+				SemanticError( decl, "destructors for structures declared as \"monitor\" must use mutex parameters " );
 			}
 		}
@@ -926,10 +926,10 @@
 	// Monitors can't be constructed with mutual exclusion.
 	if ( CodeGen::isConstructor( decl->name ) && is_first_argument_mutex ) {
-		SemanticError( decl, "constructors cannot have mutex parameters\n" );
+		SemanticError( decl, "constructors cannot have mutex parameters " );
 	}
 
 	// It makes no sense to have multiple mutex parameters for the destructor.
 	if ( isDtor && mutexArgs.size() != 1 ) {
-		SemanticError( decl, "destructors can only have 1 mutex argument\n" );
+		SemanticError( decl, "destructors can only have 1 mutex argument " );
 	}
 
@@ -945,5 +945,5 @@
 	// Check to if the required headers have been seen.
 	if ( !monitor_decl || !guard_decl || !dtor_guard_decl ) {
-		SemanticError( decl, "mutex keyword requires monitors to be in scope, add #include <monitor.hfa>\n" );
+		SemanticError( decl, "mutex keyword requires monitors to be in scope, add #include <monitor.hfa>." );
 	}
 
@@ -952,5 +952,5 @@
 	if ( isDtor && isThread( mutexArgs.front() ) ) {
 		if ( !thread_guard_decl ) {
-			SemanticError( decl, "thread destructor requires threads to be in scope, add #include <thread.hfa>\n" );
+			SemanticError( decl, "thread destructor requires threads to be in scope, add #include <thread.hfa>." );
 		}
 		newBody = addThreadDtorStatements( decl, body, mutexArgs );
@@ -987,5 +987,5 @@
 const ast::Stmt * MutexKeyword::postvisit( const ast::MutexStmt * stmt ) {
 	if ( !lock_guard_decl ) {
-		SemanticError( stmt->location, "mutex stmt requires a header, add #include <mutex_stmt.hfa>\n" );
+		SemanticError( stmt->location, "mutex stmt requires a header, add #include <mutex_stmt.hfa>." );
 	}
 	ast::CompoundStmt * body =
@@ -1547,5 +1547,5 @@
 	if ( !type->base->is_thread() ) return decl;
 	if ( !thread_decl || !thread_ctor_seen ) {
-		SemanticError( type->base->location, "thread keyword requires threads to be in scope, add #include <thread.hfa>" );
+		SemanticError( type->base->location, "thread keyword requires threads to be in scope, add #include <thread.hfa>." );
 	}
 	const ast::CompoundStmt * stmt = decl->stmts;
