Mercurial > vim
comparison src/ex_docmd.c @ 2887:15705b520c29 v7.3.217
updated for version 7.3.217
Problem: Inside an "if" a ":wincmd" causes problems.
Solution: When skipping commands let ":wincmd" skip over its argument.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Mon, 13 Jun 2011 01:19:56 +0200 |
parents | 41b17dd07029 |
children | aa998de9f959 |
comparison
equal
deleted
inserted
replaced
2886:0c9ba5594d9a | 2887:15705b520c29 |
---|---|
2593 case CMD_tilde: | 2593 case CMD_tilde: |
2594 case CMD_topleft: | 2594 case CMD_topleft: |
2595 case CMD_unlet: | 2595 case CMD_unlet: |
2596 case CMD_verbose: | 2596 case CMD_verbose: |
2597 case CMD_vertical: | 2597 case CMD_vertical: |
2598 case CMD_wincmd: | |
2598 break; | 2599 break; |
2599 | 2600 |
2600 default: goto doend; | 2601 default: goto doend; |
2601 } | 2602 } |
2602 } | 2603 } |
8235 | 8236 |
8236 eap->nextcmd = check_nextcmd(p); | 8237 eap->nextcmd = check_nextcmd(p); |
8237 p = skipwhite(p); | 8238 p = skipwhite(p); |
8238 if (*p != NUL && *p != '"' && eap->nextcmd == NULL) | 8239 if (*p != NUL && *p != '"' && eap->nextcmd == NULL) |
8239 EMSG(_(e_invarg)); | 8240 EMSG(_(e_invarg)); |
8240 else | 8241 else if (!eap->skip) |
8241 { | 8242 { |
8242 /* Pass flags on for ":vertical wincmd ]". */ | 8243 /* Pass flags on for ":vertical wincmd ]". */ |
8243 postponed_split_flags = cmdmod.split; | 8244 postponed_split_flags = cmdmod.split; |
8244 postponed_split_tab = cmdmod.tab; | 8245 postponed_split_tab = cmdmod.tab; |
8245 do_window(*eap->arg, eap->addr_count > 0 ? eap->line2 : 0L, xchar); | 8246 do_window(*eap->arg, eap->addr_count > 0 ? eap->line2 : 0L, xchar); |