updated for version 7.2b-022
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 7247d8c..07dcb77 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -8913,6 +8913,7 @@
     tasave_T	tabuf;
     int		save_insertmode = p_im;
     int		save_finish_op = finish_op;
+    int		save_opcount = opcount;
 #ifdef FEAT_MBYTE
     char_u	*arg = NULL;
     int		l;
@@ -9040,6 +9041,7 @@
     restart_edit = save_restart_edit;
     p_im = save_insertmode;
     finish_op = save_finish_op;
+    opcount = save_opcount;
     msg_didout |= save_msg_didout;	/* don't reset msg_didout now */
 
     /* Restore the state (needed when called from a function executed for
diff --git a/src/globals.h b/src/globals.h
index b31e054..dc3038d 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -868,6 +868,7 @@
 					 * command interpreter. */
 
 EXTERN int	finish_op INIT(= FALSE);/* TRUE while an operator is pending */
+EXTERN int	opcount INIT(= 0);	/* count for pending operator */
 
 /*
  * ex mode (Q) state
diff --git a/src/normal.c b/src/normal.c
index 3c1c6f0..a1b3a94 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -565,7 +565,6 @@
     oparg_T	*oap;
     int		toplevel;		/* TRUE when called from main() */
 {
-    static long	opcount = 0;		/* ca.opcount saved here */
     cmdarg_T	ca;			/* command arguments */
     int		c;
     int		ctrl_w = FALSE;		/* got CTRL-W command */
diff --git a/src/version.c b/src/version.c
index f6843cb..0535785 100644
--- a/src/version.c
+++ b/src/version.c
@@ -677,6 +677,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    22,
+/**/
     21,
 /**/
     20,