updated for version 7.0-187
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 5025872..6396ee1 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -2811,6 +2811,17 @@
     }
 
 #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
 
diff --git a/src/fileio.c b/src/fileio.c
index 2108bb8..b4a8e9a 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -7019,6 +7019,7 @@
     {"ShellCmdPost",	EVENT_SHELLCMDPOST},
     {"ShellFilterPost",	EVENT_SHELLFILTERPOST},
     {"SourcePre",	EVENT_SOURCEPRE},
+    {"SourceCmd",	EVENT_SOURCECMD},
     {"SpellFileMissing",EVENT_SPELLFILEMISSING},
     {"StdinReadPost",	EVENT_STDINREADPOST},
     {"StdinReadPre",	EVENT_STDINREADPRE},
diff --git a/src/version.c b/src/version.c
index 587e05d..92cd49b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    187,
+/**/
     186,
 /**/
     185,
diff --git a/src/vim.h b/src/vim.h
index aa313d3..d69fe41 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -1102,7 +1102,7 @@
     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 @@
     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 */