updated for version 7.0-098
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 3378092..bb57a10 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -8422,6 +8422,15 @@
 	else
 	    EMSG2(_(e_invarg2), eap->arg);
     }
+
+    /* Make sure redirection is not off.  Can happen for cmdline completion
+     * that indirectly invokes a command to catch its output. */
+    if (redir_fd != NULL
+#ifdef FEAT_EVAL
+			  || redir_reg || redir_vname
+#endif
+							)
+	redir_off = FALSE;
 }
 
 /*
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 617c246..e006631 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -324,6 +324,9 @@
      */
     for (;;)
     {
+	redir_off = TRUE;	/* Don't redirect the typed command.
+				   Repeated, because a ":redir" inside
+				   completion may switch it on. */
 #ifdef USE_ON_FLY_SCROLL
 	dont_scroll = FALSE;	/* allow scrolling here */
 #endif
diff --git a/src/version.c b/src/version.c
index 6cb788c..acff8ab 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    98,
+/**/
     97,
 /**/
     96,