mirror of
https://github.com/vim/vim.git
synced 2025-09-30 04:44:14 -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
|
||||
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[ll] [group] {event} [fname]
|
||||
:doautoa[ll] [<nomodeline>] [group] {event} [fname]
|
||||
Like ":doautocmd", but apply the autocommands to each
|
||||
loaded buffer. Note that [fname] is used to select
|
||||
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
|
||||
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*
|
||||
|
||||
|
20
src/fileio.c
20
src/fileio.c
@@ -8739,6 +8739,14 @@ ex_doautoall(eap)
|
||||
int retval;
|
||||
aco_save_T aco;
|
||||
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
|
||||
@@ -8755,11 +8763,15 @@ ex_doautoall(eap)
|
||||
aucmd_prepbuf(&aco, buf);
|
||||
|
||||
/* 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
|
||||
* options if we are using the current window for another buffer. */
|
||||
do_modelines(curwin == aucmd_win ? OPT_NOWIN : 0);
|
||||
if (call_do_modelines)
|
||||
{
|
||||
/* 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 */
|
||||
aucmd_restbuf(&aco);
|
||||
|
@@ -714,6 +714,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
438,
|
||||
/**/
|
||||
437,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user