]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.438 v7.3.438
authorBram Moolenaar <Bram@vim.org>
Sat, 11 Feb 2012 23:18:58 +0000 (00:18 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 11 Feb 2012 23:18:58 +0000 (00:18 +0100)
Problem:    There is no way to avoid ":doautoall" reading modelines.
Solution:   Add the <nomodeline> argument. Adjust documentation.

runtime/doc/autocmd.txt
src/fileio.c
src/version.c

index ff0b403eef044d570130eed1961c82fe42627e43..1e2bc77376bc12c323d4318041e72404cacc432d 100644 (file)
@@ -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*
 
index 8ed878d73b75ec6e42abfa7cd45fa486980fc671..6d1bbbc17455424bf685d22bcff3f7abd00aa63d 100644 (file)
@@ -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);
index 59498a4caa34e43ee1e26d25f835f6c8e013757e..bce741c093773b356ba47578c0e817bc8b177acd 100644 (file)
@@ -714,6 +714,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    438,
 /**/
     437,
 /**/