diff --git a/src/ex_getln.c b/src/ex_getln.c index 030be38ea..a7de0503e 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -34,7 +34,7 @@ struct cmdline_info int xp_context; /* type of expansion */ # ifdef FEAT_EVAL char_u *xp_arg; /* user-defined expansion arg */ - int input_fn; /* Invoked for input() function */ + int input_fn; /* when TRUE Invoked for input() function */ # endif }; @@ -1390,7 +1390,17 @@ getcmdline(firstc, count, indent) { c = gchar_cursor(); if (c != NUL) + { + if (c == firstc || vim_strchr((char_u *)( + p_magic ? "\\^$.*[" : "\\^$"), c) + != NULL) + { + /* put a backslash before special characters */ + stuffcharReadbuff(c); + c = '\\'; + } break; + } } goto cmdline_not_changed; } diff --git a/src/version.c b/src/version.c index 0c2dd6de8..eb55641f1 100644 --- a/src/version.c +++ b/src/version.c @@ -666,6 +666,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 165, /**/ 164, /**/