updated for version 7.2.433
Problem:    Can't use cscope with QuickFixCmdPre and QuickFixCmdPost.
Solution:   Add cscope support for these autocmd events. (Bryan Venteicher)
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 20b5e6a..d1e53c4 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -678,10 +678,10 @@
 QuickFixCmdPre			Before a quickfix command is run (|:make|,
 				|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
 				|:lgrepadd|, |:vimgrep|, |:lvimgrep|,
-				|:vimgrepadd|, |:lvimgrepadd|). The pattern is
-				matched against the command being run.  When
-				|:grep| is used but 'grepprg' is set to
-				"internal" it still matches "grep".
+				|:vimgrepadd|, |:lvimgrepadd|, |:cscope|).
+				The pattern is matched against the command
+				being run.  When |:grep| is used but 'grepprg'
+				is set to "internal" it still matches "grep".
 				This command cannot be used to set the
 				'makeprg' and 'grepprg' variables.
 				If this command causes an error, the quickfix
diff --git a/src/if_cscope.c b/src/if_cscope.c
index b8fef28..6ab9c24 100644
--- a/src/if_cscope.c
+++ b/src/if_cscope.c
@@ -1113,6 +1113,70 @@
 #ifdef FEAT_QUICKFIX
     char cmdletter;
     char *qfpos;
+
+    /* get cmd letter */
+    switch (opt[0])
+    {
+    case '0' :
+	cmdletter = 's';
+	break;
+    case '1' :
+	cmdletter = 'g';
+	break;
+    case '2' :
+	cmdletter = 'd';
+	break;
+    case '3' :
+	cmdletter = 'c';
+	break;
+    case '4' :
+	cmdletter = 't';
+	break;
+    case '6' :
+	cmdletter = 'e';
+	break;
+    case '7' :
+	cmdletter = 'f';
+	break;
+    case '8' :
+	cmdletter = 'i';
+	break;
+    default :
+	cmdletter = opt[0];
+    }
+
+    qfpos = (char *)vim_strchr(p_csqf, cmdletter);
+    if (qfpos != NULL)
+    {
+	qfpos++;
+	/* next symbol must be + or - */
+	if (strchr(CSQF_FLAGS, *qfpos) == NULL)
+	{
+	    char *nf = _("E469: invalid cscopequickfix flag %c for %c");
+	    char *buf = (char *)alloc((unsigned)strlen(nf));
+
+	    /* strlen will be enough because we use chars */
+	    if (buf != NULL)
+	    {
+		sprintf(buf, nf, *qfpos, *(qfpos-1));
+		(void)EMSG(buf);
+		vim_free(buf);
+	    }
+	    return FALSE;
+	}
+
+# ifdef FEAT_AUTOCMD
+	if (*qfpos != '0')
+	{
+	    apply_autocmds(EVENT_QUICKFIXCMDPRE, (char_u *)"cscope",
+					       curbuf->b_fname, TRUE, curbuf);
+#  ifdef FEAT_EVAL
+	    if (did_throw || force_abort)
+		return FALSE;
+#  endif
+	}
+# endif
+    }
 #endif
 
     /* create the actual command to send to cscope */
@@ -1174,58 +1238,6 @@
     }
 
 #ifdef FEAT_QUICKFIX
-    /* get cmd letter */
-    switch (opt[0])
-    {
-    case '0' :
-	cmdletter = 's';
-	break;
-    case '1' :
-	cmdletter = 'g';
-	break;
-    case '2' :
-	cmdletter = 'd';
-	break;
-    case '3' :
-	cmdletter = 'c';
-	break;
-    case '4' :
-	cmdletter = 't';
-	break;
-    case '6' :
-	cmdletter = 'e';
-	break;
-    case '7' :
-	cmdletter = 'f';
-	break;
-    case '8' :
-	cmdletter = 'i';
-	break;
-    default :
-	cmdletter = opt[0];
-    }
-
-    qfpos = (char *)vim_strchr(p_csqf, cmdletter);
-    if (qfpos != NULL)
-    {
-	qfpos++;
-	/* next symbol must be + or - */
-	if (strchr(CSQF_FLAGS, *qfpos) == NULL)
-	{
-	    char *nf = _("E469: invalid cscopequickfix flag %c for %c");
-	    char *buf = (char *)alloc((unsigned)strlen(nf));
-
-	    /* strlen will be enough because we use chars */
-	    if (buf != NULL)
-	    {
-		sprintf(buf, nf, *qfpos, *(qfpos-1));
-		(void)EMSG(buf);
-		vim_free(buf);
-	    }
-	    vim_free(nummatches);
-	    return FALSE;
-	}
-    }
     if (qfpos != NULL && *qfpos != '0' && totmatches > 0)
     {
 	/* fill error list */
@@ -1258,6 +1270,11 @@
 		    postponed_split = 0;
 		}
 # endif
+
+# ifdef FEAT_AUTOCMD
+		apply_autocmds(EVENT_QUICKFIXCMDPOST, (char_u *)"cscope",
+					       curbuf->b_fname, TRUE, curbuf);
+# endif
 		if (use_ll)
 		    /*
 		     * In the location list window, use the displayed location
diff --git a/src/version.c b/src/version.c
index 39ef89c..fc63502 100644
--- a/src/version.c
+++ b/src/version.c
@@ -682,6 +682,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    433,
+/**/
     432,
 /**/
     431,