diff --git a/src/regexp.c b/src/regexp.c
index 4e21d44..b4fb595 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -537,16 +537,30 @@
  * Stop at end of "startp" or where "dirc" is found ('/', '?', etc).
  * Take care of characters with a backslash in front of it.
  * Skip strings inside [ and ].
- * When "newp" is not NULL and "dirc" is '?', make an allocated copy of the
- * expression and change "\?" to "?".  If "*newp" is not NULL the expression
- * is changed in-place.
  */
     char_u *
 skip_regexp(
     char_u	*startp,
     int		dirc,
+    int		magic)
+{
+    return skip_regexp_ex(startp, dirc, magic, NULL, NULL);
+}
+
+/*
+ * skip_regexp() with extra arguments:
+ * When "newp" is not NULL and "dirc" is '?', make an allocated copy of the
+ * expression and change "\?" to "?".  If "*newp" is not NULL the expression
+ * is changed in-place.
+ * If a "\?" is changed to "?" then "dropped" is incremented, unless NULL.
+ */
+    char_u *
+skip_regexp_ex(
+    char_u	*startp,
+    int		dirc,
     int		magic,
-    char_u	**newp)
+    char_u	**newp,
+    int		*dropped)
 {
     int		mymagic;
     char_u	*p = startp;
@@ -579,6 +593,8 @@
 		    if (*newp != NULL)
 			p = *newp + (p - startp);
 		}
+		if (dropped != NULL)
+		    ++*dropped;
 		if (*newp != NULL)
 		    STRMOVE(p, p + 1);
 		else
