forked from aniani/vim
patch 8.0.0623: error for invalid regexp is not very informative
Problem: The message "Invalid range" is used for multiple errors. Solution: Add two more specific error messages. (Itchyny, Ken Hamada)
This commit is contained in:
@@ -358,6 +358,8 @@ static char_u *regprop(char_u *);
|
||||
static int re_mult_next(char *what);
|
||||
|
||||
static char_u e_missingbracket[] = N_("E769: Missing ] after %s[");
|
||||
static char_u e_reverse_range[] = N_("E944: Reverse range in character class");
|
||||
static char_u e_large_class[] = N_("E945: Range too large in character class");
|
||||
static char_u e_unmatchedpp[] = N_("E53: Unmatched %s%%(");
|
||||
static char_u e_unmatchedp[] = N_("E54: Unmatched %s(");
|
||||
static char_u e_unmatchedpar[] = N_("E55: Unmatched %s)");
|
||||
@@ -2426,14 +2428,14 @@ collection:
|
||||
endc = coll_get_char();
|
||||
|
||||
if (startc > endc)
|
||||
EMSG_RET_NULL(_(e_invrange));
|
||||
EMSG_RET_NULL(_(e_reverse_range));
|
||||
#ifdef FEAT_MBYTE
|
||||
if (has_mbyte && ((*mb_char2len)(startc) > 1
|
||||
|| (*mb_char2len)(endc) > 1))
|
||||
{
|
||||
/* Limit to a range of 256 chars */
|
||||
/* Limit to a range of 256 chars. */
|
||||
if (endc > startc + 256)
|
||||
EMSG_RET_NULL(_(e_invrange));
|
||||
EMSG_RET_NULL(_(e_large_class));
|
||||
while (++startc <= endc)
|
||||
regmbc(startc);
|
||||
}
|
||||
|
Reference in New Issue
Block a user