]> granicus.if.org Git - vim/commitdiff
updated for version 7.0-187 v7.0.187
authorBram Moolenaar <Bram@vim.org>
Tue, 16 Jan 2007 20:33:19 +0000 (20:33 +0000)
committerBram Moolenaar <Bram@vim.org>
Tue, 16 Jan 2007 20:33:19 +0000 (20:33 +0000)
runtime/doc/autocmd.txt
src/ex_cmds2.c
src/fileio.c
src/version.c
src/vim.h

index 1144af8478e750ac3a301af9b52aaa590c604da9..53acf8ab85ccff75add6361c1dbd9b714e96d672 100644 (file)
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 7.0.  Last change: 2006 May 06
+*autocmd.txt*   For Vim version 7.0.  Last change: 2007 Jan 16
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -279,6 +279,7 @@ Name                        triggered by ~
 |FuncUndefined|                a user function is used but it isn't defined
 |SpellFileMissing|     a spell file is used but it can't be found
 |SourcePre|            before sourcing a Vim script
+|SourceCmd|            before sourcing a Vim script |Cmd-event|
 
 |VimResized|           after the Vim window size changed
 |FocusGained|          Vim got input focus
@@ -690,10 +691,17 @@ ShellFilterPost                   After executing a shell command with
                                Can be used to check for any changed files.
                                                        *SourcePre*
 SourcePre                      Before sourcing a Vim script. |:source|
+                               <afile> is the name of the file being sourced.
+                                                       *SourceCmd*
+SourceCmd                      When sourcing a Vim script. |:source|
+                               <afile> is the name of the file being sourced.
+                               The autocommand must source this file.
+                               |Cmd-event|
                                                        *SpellFileMissing*
 SpellFileMissing               When trying to load a spell checking file and
-                               it can't be found.  <amatch> is the language,
-                               'encoding' also matters.  See
+                               it can't be found.  The pattern is matched
+                               against the language.  <amatch> is the
+                               language, 'encoding' also matters.  See
                                |spell-SpellFileMissing|.
                                                        *StdinReadPost*
 StdinReadPost                  After reading from the stdin into the buffer,
@@ -1219,8 +1227,8 @@ highlighting when starting Vim.
 
                                                        *Cmd-event*
 When using one of the "*Cmd" events, the matching autocommands are expected to
-do the file reading or writing.  This can be used when working with a special
-kind of file, for example on a remote system.
+do the file reading, writing or sourcing.  This can be used when working with
+a special kind of file, for example on a remote system.
 CAREFUL: If you use these events in a wrong way, it may have the effect of
 making it impossible to read or write the matching files!  Make sure you test
 your autocommands properly.  Best is to use a pattern that will never match a
@@ -1233,9 +1241,10 @@ possible with a BufReadCmd, use the |:preserve| command to make sure the
 original file isn't needed for recovery.  You might want to do this only when
 you expect the file to be modified.
 
-The |v:cmdarg| variable holds the "++enc=" and "++ff=" argument that are
-effective.  These should be used for the command that reads/writes the file.
-The |v:cmdbang| variable is one when "!" was used, zero otherwise.
+For file read and write commands the |v:cmdarg| variable holds the "++enc="
+and "++ff=" argument that are effective.  These should be used for the command
+that reads/writes the file.  The |v:cmdbang| variable is one when "!" was
+used, zero otherwise.
 
 See the $VIMRUNTIME/plugin/netrw.vim for examples.
 
index 50258725c31ffde1037c1f7b32507e7f4ba0621e..6396ee115e6547d576c2b5c9af1256e82f35460e 100644 (file)
@@ -2811,6 +2811,17 @@ do_source(fname, check_other, is_vimrc)
     }
 
 #ifdef FEAT_AUTOCMD
+    /* Apply SourceCmd autocommands, they should get the file and source it. */
+    if (has_autocmd(EVENT_SOURCECMD, fname_exp, NULL)
+           && apply_autocmds(EVENT_SOURCECMD, fname_exp, fname_exp,
+                                                              FALSE, curbuf))
+# ifdef FEAT_EVAL
+       return aborting() ? FAIL : OK;
+# else
+       return OK;
+# endif
+
+    /* Apply SourcePre autocommands, they may get the file. */
     apply_autocmds(EVENT_SOURCEPRE, fname_exp, fname_exp, FALSE, curbuf);
 #endif
 
index 2108bb87dbbe9706fd105c444b6b6a9b5f02ddc6..b4a8e9aac03a4fd797ae3ec65c57b26ae80aace7 100644 (file)
@@ -7019,6 +7019,7 @@ static struct event_name
     {"ShellCmdPost",   EVENT_SHELLCMDPOST},
     {"ShellFilterPost",        EVENT_SHELLFILTERPOST},
     {"SourcePre",      EVENT_SOURCEPRE},
+    {"SourceCmd",      EVENT_SOURCECMD},
     {"SpellFileMissing",EVENT_SPELLFILEMISSING},
     {"StdinReadPost",  EVENT_STDINREADPOST},
     {"StdinReadPre",   EVENT_STDINREADPRE},
index 587e05dd3f06f2dfa21e944ea7c66cbac04f25ac..92cd49b7ab9c5d65da7b6ec852f172525e28c2e2 100644 (file)
@@ -666,6 +666,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    187,
 /**/
     186,
 /**/
index aa313d39015d3d798189cbb07744d1b68f9e8b29..d69fe412f08c8bc7d245b5dfcebcfdf3a83e5386 100644 (file)
--- a/src/vim.h
+++ b/src/vim.h
@@ -1102,7 +1102,7 @@ enum auto_event
     EVENT_COLORSCHEME,         /* after loading a colorscheme */
     EVENT_FILEAPPENDPOST,      /* after appending to a file */
     EVENT_FILEAPPENDPRE,       /* before appending to a file */
-    EVENT_FILEAPPENDCMD,       /* appende to a file using command */
+    EVENT_FILEAPPENDCMD,       /* append to a file using command */
     EVENT_FILECHANGEDSHELL,    /* after shell command that changed file */
     EVENT_FILECHANGEDSHELLPOST,        /* after (not) reloading changed file */
     EVENT_FILECHANGEDRO,       /* before first change to read-only file */
@@ -1147,6 +1147,7 @@ enum auto_event
     EVENT_REMOTEREPLY,         /* upon string reception from a remote vim */
     EVENT_SWAPEXISTS,          /* found existing swap file */
     EVENT_SOURCEPRE,           /* before sourcing a Vim script */
+    EVENT_SOURCECMD,           /* sourcing a Vim script using command */
     EVENT_SPELLFILEMISSING,    /* spell file missing */
     EVENT_CURSORMOVED,         /* cursor was moved */
     EVENT_CURSORMOVEDI,                /* cursor was moved in Insert mode */