Mercurial > vim
comparison src/fileio.c @ 6935:4db70c94226b v7.4.786
patch 7.4.786
Problem: It is not possible for a plugin to adjust to a changed setting.
Solution: Add the OptionSet autocommand event. (Christian Brabandt)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Fri, 17 Jul 2015 17:38:22 +0200 |
parents | 62ba356c2d4e |
children | 4bf9538ff25e |
comparison
equal
deleted
inserted
replaced
6934:be7bd53ad376 | 6935:4db70c94226b |
---|---|
7697 {"InsertChange", EVENT_INSERTCHANGE}, | 7697 {"InsertChange", EVENT_INSERTCHANGE}, |
7698 {"InsertEnter", EVENT_INSERTENTER}, | 7698 {"InsertEnter", EVENT_INSERTENTER}, |
7699 {"InsertLeave", EVENT_INSERTLEAVE}, | 7699 {"InsertLeave", EVENT_INSERTLEAVE}, |
7700 {"InsertCharPre", EVENT_INSERTCHARPRE}, | 7700 {"InsertCharPre", EVENT_INSERTCHARPRE}, |
7701 {"MenuPopup", EVENT_MENUPOPUP}, | 7701 {"MenuPopup", EVENT_MENUPOPUP}, |
7702 {"OptionSet", EVENT_OPTIONSET}, | |
7702 {"QuickFixCmdPost", EVENT_QUICKFIXCMDPOST}, | 7703 {"QuickFixCmdPost", EVENT_QUICKFIXCMDPOST}, |
7703 {"QuickFixCmdPre", EVENT_QUICKFIXCMDPRE}, | 7704 {"QuickFixCmdPre", EVENT_QUICKFIXCMDPRE}, |
7704 {"QuitPre", EVENT_QUITPRE}, | 7705 {"QuitPre", EVENT_QUITPRE}, |
7705 {"RemoteReply", EVENT_REMOTEREPLY}, | 7706 {"RemoteReply", EVENT_REMOTEREPLY}, |
7706 {"SessionLoadPost", EVENT_SESSIONLOADPOST}, | 7707 {"SessionLoadPost", EVENT_SESSIONLOADPOST}, |
7734 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 7735 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
7735 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 7736 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
7736 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 7737 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
7737 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 7738 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
7738 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, | 7739 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, |
7739 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL | 7740 NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL |
7740 }; | 7741 }; |
7741 | 7742 |
7742 /* | 7743 /* |
7743 * struct used to keep status while executing autocommands for an event. | 7744 * struct used to keep status while executing autocommands for an event. |
7744 */ | 7745 */ |
9319 * Make a copy to avoid that changing a buffer name or directory makes it | 9320 * Make a copy to avoid that changing a buffer name or directory makes it |
9320 * invalid. | 9321 * invalid. |
9321 */ | 9322 */ |
9322 if (fname_io == NULL) | 9323 if (fname_io == NULL) |
9323 { | 9324 { |
9324 if (event == EVENT_COLORSCHEME) | 9325 if (event == EVENT_COLORSCHEME || event == EVENT_OPTIONSET) |
9325 autocmd_fname = NULL; | 9326 autocmd_fname = NULL; |
9326 else if (fname != NULL && *fname != NUL) | 9327 else if (fname != NULL && *fname != NUL) |
9327 autocmd_fname = fname; | 9328 autocmd_fname = fname; |
9328 else if (buf != NULL) | 9329 else if (buf != NULL) |
9329 autocmd_fname = buf->b_ffname; | 9330 autocmd_fname = buf->b_ffname; |
9383 || event == EVENT_FUNCUNDEFINED | 9384 || event == EVENT_FUNCUNDEFINED |
9384 || event == EVENT_REMOTEREPLY | 9385 || event == EVENT_REMOTEREPLY |
9385 || event == EVENT_SPELLFILEMISSING | 9386 || event == EVENT_SPELLFILEMISSING |
9386 || event == EVENT_QUICKFIXCMDPRE | 9387 || event == EVENT_QUICKFIXCMDPRE |
9387 || event == EVENT_COLORSCHEME | 9388 || event == EVENT_COLORSCHEME |
9389 || event == EVENT_OPTIONSET | |
9388 || event == EVENT_QUICKFIXCMDPOST) | 9390 || event == EVENT_QUICKFIXCMDPOST) |
9389 fname = vim_strsave(fname); | 9391 fname = vim_strsave(fname); |
9390 else | 9392 else |
9391 fname = FullName_save(fname, FALSE); | 9393 fname = FullName_save(fname, FALSE); |
9392 } | 9394 } |