diff src/ex_docmd.c @ 22:cc049b00ee70

updated for version 7.0014
author vimboss
date Thu, 02 Sep 2004 19:12:26 +0000
parents 9be87deaeb52
children 3f44e9abe4ec
line wrap: on
line diff
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -1694,6 +1694,11 @@ do_one_cmd(cmdlinep, sourcing,
 			    cmdmod.keepmarks = TRUE;
 			    continue;
 			}
+			if (checkforcmd(&ea.cmd, "keepalt", 5))
+			{
+			    cmdmod.keepalt = TRUE;
+			    continue;
+			}
 			if (!checkforcmd(&ea.cmd, "keepjumps", 5))
 			    break;
 			cmdmod.keepjumps = TRUE;
@@ -2388,6 +2393,7 @@ do_one_cmd(cmdlinep, sourcing,
 	    case CMD_ilist:
 	    case CMD_isearch:
 	    case CMD_isplit:
+	    case CMD_keepalt:
 	    case CMD_keepjumps:
 	    case CMD_keepmarks:
 	    case CMD_leftabove:
@@ -2788,6 +2794,7 @@ cmd_exists(name)
 	{"browse", 3},
 	{"confirm", 4},
 	{"hide", 3},
+	{"keepalt", 5},
 	{"keepjumps", 5},
 	{"keepmarks", 3},
 	{"leftabove", 5},
@@ -2892,7 +2899,7 @@ set_one_cmd_context(xp, buff)
      * Isolate the command and search for it in the command table.
      * Exceptions:
      * - the 'k' command can directly be followed by any character, but
-     *   do accept "keepmarks" and "keepjumps".
+     *   do accept "keepmarks", "keepalt" and "keepjumps".
      * - the 's' command can be followed directly by 'c', 'g', 'i', 'I' or 'r'
      */
     if (*cmd == 'k' && cmd[1] != 'e')
@@ -3240,6 +3247,7 @@ set_one_cmd_context(xp, buff)
 	case CMD_folddoclosed:
 	case CMD_folddoopen:
 	case CMD_hide:
+	case CMD_keepalt:
 	case CMD_keepjumps:
 	case CMD_keepmarks:
 	case CMD_leftabove:
@@ -6702,7 +6710,8 @@ do_exedit(eap, old_curwin)
 	    && *eap->arg != NUL
 	    && curwin != old_curwin
 	    && win_valid(old_curwin)
-	    && old_curwin->w_buffer != curbuf)
+	    && old_curwin->w_buffer != curbuf
+	    && !cmdmod.keepalt)
 	old_curwin->w_alt_fnum = curbuf->b_fnum;
 #endif