mirror of
https://github.com/vim/vim.git
synced 2025-09-27 04:14:06 -04:00
patch 8.2.3033: no error when using alpha delimiter with :global
Problem: No error when using alpha delimiter with :global. Solution: Check the delimiter like with :substitute. (closes #8415)
This commit is contained in:
@@ -3643,6 +3643,17 @@ skip_substitute(char_u *start, int delimiter)
|
||||
return p;
|
||||
}
|
||||
|
||||
static int
|
||||
check_regexp_delim(int c)
|
||||
{
|
||||
if (isalpha(c))
|
||||
{
|
||||
emsg(_("E146: Regular expressions can't be delimited by letters"));
|
||||
return FAIL;
|
||||
}
|
||||
return OK;
|
||||
}
|
||||
|
||||
/*
|
||||
* Perform a substitution from line eap->line1 to line eap->line2 using the
|
||||
* command pointed to by eap->arg which should be of the form:
|
||||
@@ -3705,11 +3716,9 @@ ex_substitute(exarg_T *eap)
|
||||
&& vim_strchr((char_u *)"0123456789cegriIp|\"", *cmd) == NULL)
|
||||
{
|
||||
// don't accept alphanumeric for separator
|
||||
if (isalpha(*cmd))
|
||||
{
|
||||
emsg(_("E146: Regular expressions can't be delimited by letters"));
|
||||
if (check_regexp_delim(*cmd) == FAIL)
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* undocumented vi feature:
|
||||
* "\/sub/" and "\?sub?" use last used search pattern (almost like
|
||||
@@ -4909,6 +4918,10 @@ ex_global(exarg_T *eap)
|
||||
emsg(_("E148: Regular expression missing from global"));
|
||||
return;
|
||||
}
|
||||
else if (check_regexp_delim(*cmd) == FAIL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
delim = *cmd; // get the delimiter
|
||||
|
Reference in New Issue
Block a user