patch 8.1.1681: insert stray "{" when listener gets buffer line

Problem:    Insert stray "{" when listener gets buffer line. (Paul Jolly)
Solution:   Flush the cached line after invoking listeners. (closes #4455)
diff --git a/src/memline.c b/src/memline.c
index 0e3bdb8..b9de06e 100644
--- a/src/memline.c
+++ b/src/memline.c
@@ -2836,8 +2836,10 @@
 
 #ifdef FEAT_EVAL
     // When inserting above recorded changes: flush the changes before changing
-    // the text.
+    // the text.  Then flush the cached line, it may become invalid.
     may_invoke_listeners(buf, lnum + 1, lnum + 1, 1);
+    if (curbuf->b_ml.ml_line_lnum != 0)
+	ml_flush_line(curbuf);
 #endif
 
 #ifdef FEAT_TEXT_PROP