mirror of
https://github.com/vim/vim.git
synced 2025-09-29 04:34:16 -04:00
updated for version 7.3.438
Problem: There is no way to avoid ":doautoall" reading modelines. Solution: Add the <nomodeline> argument. Adjust documentation.
This commit is contained in:
@@ -1073,13 +1073,8 @@ option will not cause any commands to be executed.
|
|||||||
autocommands for that group. Note: if you use an
|
autocommands for that group. Note: if you use an
|
||||||
undefined group name, Vim gives you an error message.
|
undefined group name, Vim gives you an error message.
|
||||||
|
|
||||||
After applying the autocommands the modelines are
|
|
||||||
processed, so that their settings overrule the
|
|
||||||
settings from autocommands, like what happens when
|
|
||||||
editing a file.
|
|
||||||
|
|
||||||
*:doautoa* *:doautoall*
|
*:doautoa* *:doautoall*
|
||||||
:doautoa[ll] [group] {event} [fname]
|
:doautoa[ll] [<nomodeline>] [group] {event} [fname]
|
||||||
Like ":doautocmd", but apply the autocommands to each
|
Like ":doautocmd", but apply the autocommands to each
|
||||||
loaded buffer. Note that [fname] is used to select
|
loaded buffer. Note that [fname] is used to select
|
||||||
the autocommands, not the buffers to which they are
|
the autocommands, not the buffers to which they are
|
||||||
@@ -1090,6 +1085,12 @@ option will not cause any commands to be executed.
|
|||||||
This command is intended for autocommands that set
|
This command is intended for autocommands that set
|
||||||
options, change highlighting, and things like that.
|
options, change highlighting, and things like that.
|
||||||
|
|
||||||
|
After applying the autocommands the modelines are
|
||||||
|
processed, so that their settings overrule the
|
||||||
|
settings from autocommands, like what happens when
|
||||||
|
editing a file. This is skipped when the <nomodeline>
|
||||||
|
argument is present.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
10. Using autocommands *autocmd-use*
|
10. Using autocommands *autocmd-use*
|
||||||
|
|
||||||
|
20
src/fileio.c
20
src/fileio.c
@@ -8739,6 +8739,14 @@ ex_doautoall(eap)
|
|||||||
int retval;
|
int retval;
|
||||||
aco_save_T aco;
|
aco_save_T aco;
|
||||||
buf_T *buf;
|
buf_T *buf;
|
||||||
|
char_u *arg = eap->arg;
|
||||||
|
int call_do_modelines = TRUE;
|
||||||
|
|
||||||
|
if (STRNCMP(arg, "<nomodeline>", 12) == 0)
|
||||||
|
{
|
||||||
|
call_do_modelines = FALSE;
|
||||||
|
arg = skipwhite(arg + 12);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is a bit tricky: For some commands curwin->w_buffer needs to be
|
* This is a bit tricky: For some commands curwin->w_buffer needs to be
|
||||||
@@ -8755,11 +8763,15 @@ ex_doautoall(eap)
|
|||||||
aucmd_prepbuf(&aco, buf);
|
aucmd_prepbuf(&aco, buf);
|
||||||
|
|
||||||
/* execute the autocommands for this buffer */
|
/* execute the autocommands for this buffer */
|
||||||
retval = do_doautocmd(eap->arg, FALSE);
|
retval = do_doautocmd(arg, FALSE);
|
||||||
|
|
||||||
/* Execute the modeline settings, but don't set window-local
|
if (call_do_modelines)
|
||||||
* options if we are using the current window for another buffer. */
|
{
|
||||||
do_modelines(curwin == aucmd_win ? OPT_NOWIN : 0);
|
/* Execute the modeline settings, but don't set window-local
|
||||||
|
* options if we are using the current window for another
|
||||||
|
* buffer. */
|
||||||
|
do_modelines(curwin == aucmd_win ? OPT_NOWIN : 0);
|
||||||
|
}
|
||||||
|
|
||||||
/* restore the current window */
|
/* restore the current window */
|
||||||
aucmd_restbuf(&aco);
|
aucmd_restbuf(&aco);
|
||||||
|
@@ -714,6 +714,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
438,
|
||||||
/**/
|
/**/
|
||||||
437,
|
437,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user