diff src/ex_cmds2.c @ 685:d7e33248b9c8 v7.0206

updated for version 7.0206
author vimboss
date Fri, 24 Feb 2006 23:53:04 +0000
parents a39b8af64334
children 0f9f4761ad9c
line wrap: on
line diff
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -2155,7 +2155,7 @@ ex_argdelete(eap)
 }
 
 /*
- * ":argdo", ":windo", ":bufdo"
+ * ":argdo", ":windo", ":bufdo", ":tabdo"
  */
     void
 ex_listdo(eap)
@@ -2163,7 +2163,8 @@ ex_listdo(eap)
 {
     int		i;
 #ifdef FEAT_WINDOWS
-    win_T	*win;
+    win_T	*wp;
+    tabpage_T	*tp;
 #endif
     buf_T	*buf;
     int		next_fnum = 0;
@@ -2188,13 +2189,15 @@ ex_listdo(eap)
 #endif
 
     if (eap->cmdidx == CMD_windo
+	    || eap->cmdidx == CMD_tabdo
 	    || P_HID(curbuf)
 	    || !check_changed(curbuf, TRUE, FALSE, eap->forceit, FALSE))
     {
 	/* start at the first argument/window/buffer */
 	i = 0;
 #ifdef FEAT_WINDOWS
-	win = firstwin;
+	wp = firstwin;
+	tp = first_tabpage;
 #endif
 	/* set pcmark now */
 	if (eap->cmdidx == CMD_bufdo)
@@ -2229,11 +2232,19 @@ ex_listdo(eap)
 #ifdef FEAT_WINDOWS
 	    else if (eap->cmdidx == CMD_windo)
 	    {
-		/* go to window "win" */
-		if (!win_valid(win))
+		/* go to window "wp" */
+		if (!win_valid(wp))
 		    break;
-		win_goto(win);
-		win = curwin->w_next;
+		win_goto(wp);
+		wp = curwin->w_next;
+	    }
+	    else if (eap->cmdidx == CMD_tabdo)
+	    {
+		/* go to window "tp" */
+		if (!valid_tabpage(tp))
+		    break;
+		goto_tabpage_tp(tp);
+		tp = tp->tp_next;
 	    }
 #endif
 	    else if (eap->cmdidx == CMD_bufdo)