mirror of
https://github.com/neovim/neovim.git
synced 2025-09-30 15:08:35 +00:00
vim-patch:7.4.637 #2126
Problem: Incorrectly read the number of buffer for which an autocommand should be registered. Solution: Reverse check for "<buffer=abuf>". (Lech Lorens) https://code.google.com/p/vim/source/detail?r=v7-4-637
This commit is contained in:

committed by
Justin M. Keyes

parent
dda914fd6a
commit
bdbbdb5888
@@ -5878,19 +5878,20 @@ static int do_autocmd_event(event_T event, char_u *pat, int nested, char_u *cmd,
|
|||||||
is_buflocal = FALSE;
|
is_buflocal = FALSE;
|
||||||
buflocal_nr = 0;
|
buflocal_nr = 0;
|
||||||
|
|
||||||
if (patlen >= 7 && STRNCMP(pat, "<buffer", 7) == 0
|
if (patlen >= 8 && STRNCMP(pat, "<buffer", 7) == 0
|
||||||
&& pat[patlen - 1] == '>') {
|
&& pat[patlen - 1] == '>') {
|
||||||
/* Error will be printed only for addition. printing and removing
|
/* "<buffer...>": Error will be printed only for addition.
|
||||||
* will proceed silently. */
|
* printing and removing will proceed silently. */
|
||||||
is_buflocal = TRUE;
|
is_buflocal = TRUE;
|
||||||
if (patlen == 8)
|
if (patlen == 8)
|
||||||
|
/* "<buffer>" */
|
||||||
buflocal_nr = curbuf->b_fnum;
|
buflocal_nr = curbuf->b_fnum;
|
||||||
else if (patlen > 9 && pat[7] == '=') {
|
else if (patlen > 9 && pat[7] == '=') {
|
||||||
/* <buffer=abuf> */
|
if (patlen == 13 && STRNICMP(pat, "<buffer=abuf>", 13) == 0)
|
||||||
if (patlen == 13 && STRNICMP(pat, "<buffer=abuf>", 13))
|
/* "<buffer=abuf>" */
|
||||||
buflocal_nr = autocmd_bufnr;
|
buflocal_nr = autocmd_bufnr;
|
||||||
/* <buffer=123> */
|
|
||||||
else if (skipdigits(pat + 8) == pat + patlen - 1)
|
else if (skipdigits(pat + 8) == pat + patlen - 1)
|
||||||
|
/* "<buffer=123>" */
|
||||||
buflocal_nr = atoi((char *)pat + 8);
|
buflocal_nr = atoi((char *)pat + 8);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -178,6 +178,44 @@ static char *(features[]) = {
|
|||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
static int included_patches[] = {
|
static int included_patches[] = {
|
||||||
|
//658,
|
||||||
|
//657,
|
||||||
|
//656,
|
||||||
|
//655,
|
||||||
|
//654,
|
||||||
|
//653,
|
||||||
|
//652,
|
||||||
|
//651,
|
||||||
|
//650,
|
||||||
|
//649,
|
||||||
|
//648,
|
||||||
|
//647,
|
||||||
|
//646,
|
||||||
|
//645,
|
||||||
|
//644,
|
||||||
|
//643,
|
||||||
|
//642,
|
||||||
|
//641,
|
||||||
|
//640,
|
||||||
|
//639,
|
||||||
|
//638,
|
||||||
|
637,
|
||||||
|
//636,
|
||||||
|
//635,
|
||||||
|
//634,
|
||||||
|
//633,
|
||||||
|
//632,
|
||||||
|
//631,
|
||||||
|
//630,
|
||||||
|
//629,
|
||||||
|
//628,
|
||||||
|
//627,
|
||||||
|
//626,
|
||||||
|
//625,
|
||||||
|
//624,
|
||||||
|
//623,
|
||||||
|
//622,
|
||||||
|
//621,
|
||||||
//620,
|
//620,
|
||||||
//619,
|
//619,
|
||||||
//618,
|
//618,
|
||||||
|
Reference in New Issue
Block a user