diff --git a/7.0.187 b/7.0.187
new file mode 100644
index 0000000..423d600
--- /dev/null
+++ b/7.0.187
@@ -0,0 +1,190 @@
+To: vim-dev@vim.org
+Subject: patch 7.0.187
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=ISO-8859-1
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 7.0.187
+Problem:    Can't source a remote script properly.
+Solution:   Add the SourceCmd event. (Charles Campbell)
+Files:	    runtime/doc/autocmd.txt, src/ex_cmds2.c, src/fileio.c, src/vim.h
+
+
+*** ../vim-7.0.186/runtime/doc/autocmd.txt	Sun May  7 17:07:33 2006
+--- runtime/doc/autocmd.txt	Tue Jan 16 21:29:14 2007
+***************
+*** 1,4 ****
+! *autocmd.txt*   For Vim version 7.0.  Last change: 2006 May 06
+  
+  
+  		  VIM REFERENCE MANUAL    by Bram Moolenaar
+--- 1,4 ----
+! *autocmd.txt*   For Vim version 7.0.  Last change: 2007 Jan 16
+  
+  
+  		  VIM REFERENCE MANUAL    by Bram Moolenaar
+***************
+*** 279,284 ****
+--- 279,285 ----
+  |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,699 ****
+  				Can be used to check for any changed files.
+  							*SourcePre*
+  SourcePre			Before sourcing a Vim script. |:source|
+  							*SpellFileMissing*
+  SpellFileMissing		When trying to load a spell checking file and
+! 				it can't be found.  <amatch> is the language,
+! 				'encoding' also matters.  See
+  				|spell-SpellFileMissing|.
+  							*StdinReadPost*
+  StdinReadPost			After reading from the stdin into the buffer,
+--- 701,717 ----
+  				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.  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,1226 ****
+  
+  							*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.
+  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
+--- 1238,1245 ----
+  
+  							*Cmd-event*
+  When using one of the "*Cmd" events, the matching autocommands are expected to
+! 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,1241 ****
+  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.
+  
+  See the $VIMRUNTIME/plugin/netrw.vim for examples.
+  
+--- 1252,1261 ----
+  original file isn't needed for recovery.  You might want to do this only when
+  you expect the file to be modified.
+  
+! 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.
+  
+*** ../vim-7.0.186/src/ex_cmds2.c	Tue Aug 29 17:28:56 2006
+--- src/ex_cmds2.c	Tue Jan 16 18:30:40 2007
+***************
+*** 2811,2816 ****
+--- 2811,2827 ----
+      }
+  
+  #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
+  
+*** ../vim-7.0.186/src/fileio.c	Tue Jan  9 15:43:39 2007
+--- src/fileio.c	Tue Jan 16 18:23:35 2007
+***************
+*** 7019,7024 ****
+--- 7020,7026 ----
+      {"ShellCmdPost",	EVENT_SHELLCMDPOST},
+      {"ShellFilterPost",	EVENT_SHELLFILTERPOST},
+      {"SourcePre",	EVENT_SOURCEPRE},
++     {"SourceCmd",	EVENT_SOURCECMD},
+      {"SpellFileMissing",EVENT_SPELLFILEMISSING},
+      {"StdinReadPost",	EVENT_STDINREADPOST},
+      {"StdinReadPre",	EVENT_STDINREADPRE},
+*** ../vim-7.0.186/src/vim.h	Wed Nov  1 15:31:02 2006
+--- src/vim.h	Tue Jan 16 18:22:28 2007
+***************
+*** 1102,1108 ****
+      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_FILECHANGEDSHELL,	/* after shell command that changed file */
+      EVENT_FILECHANGEDSHELLPOST,	/* after (not) reloading changed file */
+      EVENT_FILECHANGEDRO,	/* before first change to read-only file */
+--- 1102,1108 ----
+      EVENT_COLORSCHEME,		/* after loading a colorscheme */
+      EVENT_FILEAPPENDPOST,	/* after appending to a file */
+      EVENT_FILEAPPENDPRE,	/* before appending to a file */
+!     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,1152 ****
+--- 1147,1153 ----
+      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 */
+*** ../vim-7.0.186/src/version.c	Tue Jan 16 16:00:38 2007
+--- src/version.c	Tue Jan 16 20:37:23 2007
+***************
+*** 668,669 ****
+--- 668,671 ----
+  {   /* Add new patch number below this line */
++ /**/
++     187,
+  /**/
+
+-- 
+hundred-and-one symptoms of being an internet addict:
+29. Your phone bill comes to your doorstep in a box.
+
+ /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
+///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
+\\\        download, build and distribute -- http://www.A-A-P.org        ///
+ \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///