Mercurial > vim
changeset 5521:1cdf51706774 v7.4.109
updated for version 7.4.109
Problem: ColorScheme autocommand matches with the current buffer name.
Solution: Match with the colorscheme name. (Christian Brabandt)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Thu, 28 Nov 2013 18:53:52 +0100 |
parents | 86861620ba96 |
children | aff13a011590 |
files | runtime/doc/autocmd.txt src/fileio.c src/syntax.c src/version.c |
diffstat | 4 files changed, 15 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -480,6 +480,12 @@ CmdwinLeave Before leaving the command |cmdwin-char| *ColorScheme* ColorScheme After loading a color scheme. |:colorscheme| + The pattern is matched against the + colorscheme name. <afile> can be used for the + name of the actual file where this option was + set, and <amatch> for the new colorscheme + name. + *CompleteDone* CompleteDone After Insert mode completion is done. Either
--- a/src/fileio.c +++ b/src/fileio.c @@ -9330,7 +9330,9 @@ apply_autocmds_group(event, fname, fname */ 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 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
--- 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;