summaryrefslogtreecommitdiff
path: root/src/ex_getln.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ex_getln.c')
-rw-r--r--src/ex_getln.c12
1 files changed, 11 insertions, 1 deletions
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;
}