To: vim_dev@googlegroups.com Subject: Patch 7.3.438 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 7.3.438 Problem: There is no way to avoid ":doautoall" reading modelines. Solution: Add the argument. Adjust documentation. Files: src/fileio.c, runtime/doc/autocmd.txt *** ../vim-7.3.437/src/fileio.c 2012-02-11 23:45:30.000000000 +0100 --- src/fileio.c 2012-02-12 00:08:17.000000000 +0100 *************** *** 8739,8744 **** --- 8739,8752 ---- int retval; aco_save_T aco; buf_T *buf; + char_u *arg = eap->arg; + int call_do_modelines = TRUE; + + if (STRNCMP(arg, "", 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,8765 **** aucmd_prepbuf(&aco, buf); /* execute the autocommands for this buffer */ ! retval = do_doautocmd(eap->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); /* restore the current window */ aucmd_restbuf(&aco); --- 8763,8777 ---- aucmd_prepbuf(&aco, buf); /* execute the autocommands for this buffer */ ! retval = do_doautocmd(arg, FALSE); ! 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); *** ../vim-7.3.437/runtime/doc/autocmd.txt 2011-05-19 17:25:36.000000000 +0200 --- runtime/doc/autocmd.txt 2012-02-12 00:03:45.000000000 +0100 *************** *** 1065,1077 **** 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] 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 --- 1073,1080 ---- autocommands for that group. Note: if you use an undefined group name, Vim gives you an error message. *:doautoa* *:doautoall* ! :doautoa[ll] [] [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 *************** *** 1082,1087 **** --- 1085,1096 ---- 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 + argument is present. + ============================================================================== 10. Using autocommands *autocmd-use* *** ../vim-7.3.437/src/version.c 2012-02-11 23:45:30.000000000 +0100 --- src/version.c 2012-02-12 00:16:04.000000000 +0100 *************** *** 716,717 **** --- 716,719 ---- { /* Add new patch number below this line */ + /**/ + 438, /**/ -- "Oh, no! NOT the Spanish Inquisition!" "NOBODY expects the Spanish Inquisition!!!" -- Monty Python sketch -- "Oh, no! NOT another option!" "EVERYBODY expects another option!!!" -- Discussion in vim-dev mailing list -- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///