updated for version 7.0171
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 7c9ea14..a55b497 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -1098,6 +1098,15 @@
 			save_cmdline(&save_ccline);
 			c = get_expr_register();
 			restore_cmdline(&save_ccline);
+
+			/* When there was a serious error abort getting the
+			 * command line. */
+			if (aborting())
+			{
+			    gotesc = TRUE;  /* will free ccline.cmdbuff after
+					       putting it in history */
+			    goto returncmd; /* back to cmd mode */
+			}
 		    }
 		}
 #endif