patch 8.1.0550: expression evaluation may repeat an error message

Problem:    Expression evaluation may repeat an error message. (Jason
            Franklin)
Solution:   Increment did_emsg and check for the value when giving an error
            for the echo command.
diff --git a/src/message.c b/src/message.c
index c2318bd..5a990ff 100644
--- a/src/message.c
+++ b/src/message.c
@@ -636,7 +636,7 @@
 	if (cause_errthrow(s, severe, &ignore) == TRUE)
 	{
 	    if (!ignore)
-		did_emsg = TRUE;
+		++did_emsg;
 	    return TRUE;
 	}
 
@@ -689,7 +689,7 @@
 	    beep_flush();		/* also includes flush_buffers() */
 	else
 	    flush_buffers(FLUSH_MINIMAL);  // flush internal buffers
-	did_emsg = TRUE;		   // flag for DoOneCmd()
+	++did_emsg;			   // flag for DoOneCmd()
 #ifdef FEAT_EVAL
 	did_uncaught_emsg = TRUE;
 #endif