From b95186fd36bae9716181bfdd203fb27f410e3c4f Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Thu, 28 Nov 2013 18:53:52 +0100 Subject: [PATCH] updated for version 7.4.109 Problem: ColorScheme autocommand matches with the current buffer name. Solution: Match with the colorscheme name. (Christian Brabandt) --- runtime/doc/autocmd.txt | 6 ++++++ src/fileio.c | 9 ++++++--- src/syntax.c | 2 +- src/version.c | 2 ++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index 3384051e2..0a9505315 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -480,6 +480,12 @@ CmdwinLeave Before leaving the command-line window. |cmdwin-char| *ColorScheme* ColorScheme After loading a color scheme. |:colorscheme| + The pattern is matched against the + colorscheme name. can be used for the + name of the actual file where this option was + set, and for the new colorscheme + name. + *CompleteDone* CompleteDone After Insert mode completion is done. Either diff --git a/src/fileio.c b/src/fileio.c index 1d030165a..cb22bd31d 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -9330,7 +9330,9 @@ apply_autocmds_group(event, fname, fname_io, force, group, buf, eap) */ if (fname_io == NULL) { - if (fname != NULL && *fname != NUL) + if (event == EVENT_COLORSCHEME) + autocmd_fname = NULL; + else if (fname != NULL && *fname != NUL) autocmd_fname = fname; else if (buf != NULL) autocmd_fname = buf->b_ffname; @@ -9383,14 +9385,15 @@ apply_autocmds_group(event, fname, fname_io, force, group, buf, eap) else { sfname = vim_strsave(fname); - /* Don't try expanding FileType, Syntax, FuncUndefined, WindowID or - * QuickFixCmd* */ + /* Don't try expanding FileType, Syntax, FuncUndefined, WindowID, + * ColorScheme or QuickFixCmd* */ if (event == EVENT_FILETYPE || event == EVENT_SYNTAX || event == EVENT_FUNCUNDEFINED || event == EVENT_REMOTEREPLY || event == EVENT_SPELLFILEMISSING || event == EVENT_QUICKFIXCMDPRE + || event == EVENT_COLORSCHEME || event == EVENT_QUICKFIXCMDPOST) fname = vim_strsave(fname); else diff --git a/src/syntax.c b/src/syntax.c index a8de63a6e..4352b9df8 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -7071,7 +7071,7 @@ load_colors(name) retval = source_runtime(buf, FALSE); vim_free(buf); #ifdef FEAT_AUTOCMD - apply_autocmds(EVENT_COLORSCHEME, NULL, NULL, FALSE, curbuf); + apply_autocmds(EVENT_COLORSCHEME, name, curbuf->b_fname, FALSE, curbuf); #endif } recursive = FALSE; diff --git a/src/version.c b/src/version.c index b982283aa..5975135f9 100644 --- a/src/version.c +++ b/src/version.c @@ -738,6 +738,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 109, /**/ 108, /**/ -- 2.50.1