patch 7.4.1470
Problem:    Coverity reports missing restore.
Solution:   Move json_encode() call up.
diff --git a/src/channel.c b/src/channel.c
index 08271ed..824da8a 100644
--- a/src/channel.c
+++ b/src/channel.c
@@ -1551,22 +1551,22 @@
     {
 	if (buffer != NULL)
 	{
-	    buf_T	*save_curbuf = curbuf;
-	    linenr_T	lnum = buffer->b_ml.ml_line_count;
-
-	    /* Append to the buffer */
-	    ch_logn(channel, "appending line %d to buffer", (int)lnum + 1);
-
-	    curbuf = buffer;
-	    u_sync(TRUE);
-	    /* ignore undo failure, undo is not very useful here */
-	    ignored = u_save(lnum, lnum + 1);
-
 	    if (msg == NULL)
 		/* JSON or JS mode: re-encode the message. */
 		msg = json_encode(listtv, ch_mode);
 	    if (msg != NULL)
 	    {
+		buf_T	    *save_curbuf = curbuf;
+		linenr_T    lnum = buffer->b_ml.ml_line_count;
+
+		/* Append to the buffer */
+		ch_logn(channel, "appending line %d to buffer", (int)lnum + 1);
+
+		curbuf = buffer;
+		u_sync(TRUE);
+		/* ignore undo failure, undo is not very useful here */
+		ignored = u_save(lnum, lnum + 1);
+
 		ml_append(lnum, msg, 0, FALSE);
 		appended_lines_mark(lnum, 1L);
 		curbuf = save_curbuf;
diff --git a/src/version.c b/src/version.c
index eef7eeb..66a86fb 100644
--- a/src/version.c
+++ b/src/version.c
@@ -744,6 +744,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1470,
+/**/
     1469,
 /**/
     1468,