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 }