| To: vim_dev@googlegroups.com |
| Subject: Patch 7.4.450 |
| Fcc: outbox |
| From: Bram Moolenaar <Bram@moolenaar.net> |
| Mime-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| |
| Patch 7.4.450 |
| Problem: Not all commands that edit another buffer support the +cmd |
| argument. |
| Solution: Add the +cmd argument to relevant commands. (Marcin Szamotulski) |
| Files: runtime/doc/windows.txt, src/ex_cmds.h, src/ex_docmd.c |
| |
| |
| |
| |
| |
| *** 1042,1077 **** |
| a number). Insert a backslash before a space in a buffer |
| name. |
| |
| ! :[N]b[uffer][!] [N] *:b* *:bu* *:buf* *:buffer* *E86* |
| Edit buffer [N] from the buffer list. If [N] is not given, |
| the current buffer remains being edited. See |:buffer-!| for |
| [!]. This will also edit a buffer that is not in the buffer |
| list, without setting the 'buflisted' flag. |
| |
| ! :[N]b[uffer][!] {bufname} |
| Edit buffer for {bufname} from the buffer list. See |
| |:buffer-!| for [!]. This will also edit a buffer that is not |
| in the buffer list, without setting the 'buflisted' flag. |
| |
| ! :[N]sb[uffer] [N] *:sb* *:sbuffer* |
| Split window and edit buffer [N] from the buffer list. If [N] |
| is not given, the current buffer is edited. Respects the |
| "useopen" setting of 'switchbuf' when splitting. This will |
| also edit a buffer that is not in the buffer list, without |
| setting the 'buflisted' flag. |
| |
| ! :[N]sb[uffer] {bufname} |
| Split window and edit buffer for {bufname} from the buffer |
| list. This will also edit a buffer that is not in the buffer |
| list, without setting the 'buflisted' flag. |
| Note: If what you want to do is split the buffer, make a copy |
| under another name, you can do it this way: > |
| :w foobar | sp # |
| |
| ! :[N]bn[ext][!] [N] *:bn* *:bnext* *E87* |
| Go to [N]th next buffer in buffer list. [N] defaults to one. |
| Wraps around the end of the buffer list. |
| See |:buffer-!| for [!]. |
| If you are in a help buffer, this takes you to the next help |
| buffer (if there is one). Similarly, if you are in a normal |
| (non-help) buffer, this takes you to the next normal buffer. |
| --- 1042,1082 ---- |
| a number). Insert a backslash before a space in a buffer |
| name. |
| |
| ! :[N]b[uffer][!] [+cmd] [N] *:b* *:bu* *:buf* *:buffer* *E86* |
| Edit buffer [N] from the buffer list. If [N] is not given, |
| the current buffer remains being edited. See |:buffer-!| for |
| [!]. This will also edit a buffer that is not in the buffer |
| list, without setting the 'buflisted' flag. |
| + Also see ||+cmd|. |
| |
| ! :[N]b[uffer][!] [+cmd] {bufname} |
| Edit buffer for {bufname} from the buffer list. See |
| |:buffer-!| for [!]. This will also edit a buffer that is not |
| in the buffer list, without setting the 'buflisted' flag. |
| + Also see ||+cmd|. |
| |
| ! :[N]sb[uffer] [+cmd] [N] *:sb* *:sbuffer* |
| Split window and edit buffer [N] from the buffer list. If [N] |
| is not given, the current buffer is edited. Respects the |
| "useopen" setting of 'switchbuf' when splitting. This will |
| also edit a buffer that is not in the buffer list, without |
| setting the 'buflisted' flag. |
| + Also see ||+cmd|. |
| |
| ! :[N]sb[uffer] [+cmd] {bufname} |
| Split window and edit buffer for {bufname} from the buffer |
| list. This will also edit a buffer that is not in the buffer |
| list, without setting the 'buflisted' flag. |
| Note: If what you want to do is split the buffer, make a copy |
| under another name, you can do it this way: > |
| :w foobar | sp # |
| + < Also see ||+cmd|. |
| |
| ! :[N]bn[ext][!] [+cmd] [N] *:bn* *:bnext* *E87* |
| Go to [N]th next buffer in buffer list. [N] defaults to one. |
| Wraps around the end of the buffer list. |
| See |:buffer-!| for [!]. |
| + Also see ||+cmd|. |
| If you are in a help buffer, this takes you to the next help |
| buffer (if there is one). Similarly, if you are in a normal |
| (non-help) buffer, this takes you to the next normal buffer. |
| |
| *** 1079,1133 **** |
| the way when you're browsing code/text buffers. The next three |
| commands also work like this. |
| |
| *:sbn* *:sbnext* |
| ! :[N]sbn[ext] [N] |
| Split window and go to [N]th next buffer in buffer list. |
| Wraps around the end of the buffer list. Uses 'switchbuf' |
| |
| ! :[N]bN[ext][!] [N] *:bN* *:bNext* *:bp* *:bprevious* *E88* |
| ! :[N]bp[revious][!] [N] |
| Go to [N]th previous buffer in buffer list. [N] defaults to |
| one. Wraps around the start of the buffer list. |
| See |:buffer-!| for [!] and 'switchbuf'. |
| |
| ! :[N]sbN[ext] [N] *:sbN* *:sbNext* *:sbp* *:sbprevious* |
| ! :[N]sbp[revious] [N] |
| Split window and go to [N]th previous buffer in buffer list. |
| Wraps around the start of the buffer list. |
| Uses 'switchbuf'. |
| |
| ! *:br* *:brewind* |
| ! :br[ewind][!] Go to first buffer in buffer list. If the buffer list is |
| empty, go to the first unlisted buffer. |
| See |:buffer-!| for [!]. |
| |
| ! *:bf* *:bfirst* |
| ! :bf[irst] Same as ":brewind". |
| |
| ! *:sbr* *:sbrewind* |
| ! :sbr[ewind] Split window and go to first buffer in buffer list. If the |
| buffer list is empty, go to the first unlisted buffer. |
| Respects the 'switchbuf' option. |
| |
| ! *:sbf* *:sbfirst* |
| ! :sbf[irst] Same as ":sbrewind". |
| |
| ! *:bl* *:blast* |
| ! :bl[ast][!] Go to last buffer in buffer list. If the buffer list is |
| empty, go to the last unlisted buffer. |
| See |:buffer-!| for [!]. |
| |
| ! *:sbl* *:sblast* |
| ! :sbl[ast] Split window and go to last buffer in buffer list. If the |
| buffer list is empty, go to the last unlisted buffer. |
| Respects 'switchbuf' option. |
| |
| ! :[N]bm[odified][!] [N] *:bm* *:bmodified* *E84* |
| Go to [N]th next modified buffer. Note: this command also |
| finds unlisted buffers. If there is no modified buffer the |
| command fails. |
| |
| ! :[N]sbm[odified] [N] *:sbm* *:sbmodified* |
| Split window and go to [N]th next modified buffer. |
| Respects 'switchbuf' option. |
| Note: this command also finds buffers not in the buffer list. |
| --- 1084,1144 ---- |
| the way when you're browsing code/text buffers. The next three |
| commands also work like this. |
| |
| + |
| *:sbn* *:sbnext* |
| ! :[N]sbn[ext] [+cmd] [N] |
| Split window and go to [N]th next buffer in buffer list. |
| Wraps around the end of the buffer list. Uses 'switchbuf' |
| + Also see ||+cmd|. |
| |
| ! :[N]bN[ext][!] [+cmd] [N] *:bN* *:bNext* *:bp* *:bprevious* *E88* |
| ! :[N]bp[revious][!] [+cmd] [N] |
| Go to [N]th previous buffer in buffer list. [N] defaults to |
| one. Wraps around the start of the buffer list. |
| See |:buffer-!| for [!] and 'switchbuf'. |
| + Also see ||+cmd|. |
| |
| ! :[N]sbN[ext] [+cmd] [N] *:sbN* *:sbNext* *:sbp* *:sbprevious* |
| ! :[N]sbp[revious] [+cmd] [N] |
| Split window and go to [N]th previous buffer in buffer list. |
| Wraps around the start of the buffer list. |
| Uses 'switchbuf'. |
| + Also see ||+cmd|. |
| |
| ! :br[ewind][!] [+cmd] *:br* *:brewind* |
| ! Go to first buffer in buffer list. If the buffer list is |
| empty, go to the first unlisted buffer. |
| See |:buffer-!| for [!]. |
| |
| ! :bf[irst] [+cmd] *:bf* *:bfirst* |
| ! Same as |:brewind|. |
| ! Also see |+cmd|. |
| |
| ! :sbr[ewind] [+cmd] *:sbr* *:sbrewind* |
| ! Split window and go to first buffer in buffer list. If the |
| buffer list is empty, go to the first unlisted buffer. |
| Respects the 'switchbuf' option. |
| + Also see |+cmd|. |
| |
| ! :sbf[irst] [+cmd] *:sbf* *:sbfirst* |
| ! Same as ":sbrewind". |
| |
| ! :bl[ast][!] [+cmd] *:bl* *:blast* |
| ! Go to last buffer in buffer list. If the buffer list is |
| empty, go to the last unlisted buffer. |
| See |:buffer-!| for [!]. |
| |
| ! :sbl[ast] [+cmd] *:sbl* *:sblast* |
| ! Split window and go to last buffer in buffer list. If the |
| buffer list is empty, go to the last unlisted buffer. |
| Respects 'switchbuf' option. |
| |
| ! :[N]bm[odified][!] [+cmd] [N] *:bm* *:bmodified* *E84* |
| Go to [N]th next modified buffer. Note: this command also |
| finds unlisted buffers. If there is no modified buffer the |
| command fails. |
| |
| ! :[N]sbm[odified] [+cmd] [N] *:sbm* *:sbmodified* |
| Split window and go to [N]th next modified buffer. |
| Respects 'switchbuf' option. |
| Note: this command also finds buffers not in the buffer list. |
| |
| |
| |
| *** 132,140 **** |
| EX(CMD_aunmenu, "aunmenu", ex_menu, |
| EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_buffer, "buffer", ex_buffer, |
| ! BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR), |
| EX(CMD_bNext, "bNext", ex_bprevious, |
| ! BANG|RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_ball, "ball", ex_buffer_all, |
| RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_badd, "badd", ex_edit, |
| --- 132,140 ---- |
| EX(CMD_aunmenu, "aunmenu", ex_menu, |
| EXTRA|TRLBAR|NOTRLCOM|USECTRLV|CMDWIN), |
| EX(CMD_buffer, "buffer", ex_buffer, |
| ! BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|EDITCMD|TRLBAR), |
| EX(CMD_bNext, "bNext", ex_bprevious, |
| ! BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_ball, "ball", ex_buffer_all, |
| RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_badd, "badd", ex_edit, |
| |
| *** 146,164 **** |
| EX(CMD_belowright, "belowright", ex_wrongmodifier, |
| NEEDARG|EXTRA|NOTRLCOM), |
| EX(CMD_bfirst, "bfirst", ex_brewind, |
| ! BANG|RANGE|NOTADR|TRLBAR), |
| EX(CMD_blast, "blast", ex_blast, |
| ! BANG|RANGE|NOTADR|TRLBAR), |
| EX(CMD_bmodified, "bmodified", ex_bmodified, |
| ! BANG|RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_bnext, "bnext", ex_bnext, |
| ! BANG|RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_botright, "botright", ex_wrongmodifier, |
| NEEDARG|EXTRA|NOTRLCOM), |
| EX(CMD_bprevious, "bprevious", ex_bprevious, |
| ! BANG|RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_brewind, "brewind", ex_brewind, |
| ! BANG|RANGE|NOTADR|TRLBAR), |
| EX(CMD_break, "break", ex_break, |
| TRLBAR|SBOXOK|CMDWIN), |
| EX(CMD_breakadd, "breakadd", ex_breakadd, |
| --- 146,164 ---- |
| EX(CMD_belowright, "belowright", ex_wrongmodifier, |
| NEEDARG|EXTRA|NOTRLCOM), |
| EX(CMD_bfirst, "bfirst", ex_brewind, |
| ! BANG|RANGE|NOTADR|EDITCMD|TRLBAR), |
| EX(CMD_blast, "blast", ex_blast, |
| ! BANG|RANGE|NOTADR|EDITCMD|TRLBAR), |
| EX(CMD_bmodified, "bmodified", ex_bmodified, |
| ! BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_bnext, "bnext", ex_bnext, |
| ! BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_botright, "botright", ex_wrongmodifier, |
| NEEDARG|EXTRA|NOTRLCOM), |
| EX(CMD_bprevious, "bprevious", ex_bprevious, |
| ! BANG|RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_brewind, "brewind", ex_brewind, |
| ! BANG|RANGE|NOTADR|EDITCMD|TRLBAR), |
| EX(CMD_break, "break", ex_break, |
| TRLBAR|SBOXOK|CMDWIN), |
| EX(CMD_breakadd, "breakadd", ex_breakadd, |
| |
| *** 814,836 **** |
| EX(CMD_saveas, "saveas", ex_write, |
| BANG|DFLALL|FILE1|ARGOPT|CMDWIN|TRLBAR), |
| EX(CMD_sbuffer, "sbuffer", ex_buffer, |
| ! BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|TRLBAR), |
| EX(CMD_sbNext, "sbNext", ex_bprevious, |
| ! RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_sball, "sball", ex_buffer_all, |
| ! RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_sbfirst, "sbfirst", ex_brewind, |
| ! TRLBAR), |
| EX(CMD_sblast, "sblast", ex_blast, |
| ! TRLBAR), |
| EX(CMD_sbmodified, "sbmodified", ex_bmodified, |
| ! RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_sbnext, "sbnext", ex_bnext, |
| ! RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_sbprevious, "sbprevious", ex_bprevious, |
| ! RANGE|NOTADR|COUNT|TRLBAR), |
| EX(CMD_sbrewind, "sbrewind", ex_brewind, |
| ! TRLBAR), |
| EX(CMD_scriptnames, "scriptnames", ex_scriptnames, |
| TRLBAR|CMDWIN), |
| EX(CMD_scriptencoding, "scriptencoding", ex_scriptencoding, |
| --- 814,836 ---- |
| EX(CMD_saveas, "saveas", ex_write, |
| BANG|DFLALL|FILE1|ARGOPT|CMDWIN|TRLBAR), |
| EX(CMD_sbuffer, "sbuffer", ex_buffer, |
| ! BANG|RANGE|NOTADR|BUFNAME|BUFUNL|COUNT|EXTRA|EDITCMD|TRLBAR), |
| EX(CMD_sbNext, "sbNext", ex_bprevious, |
| ! RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_sball, "sball", ex_buffer_all, |
| ! RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_sbfirst, "sbfirst", ex_brewind, |
| ! EDITCMD|TRLBAR), |
| EX(CMD_sblast, "sblast", ex_blast, |
| ! EDITCMD|TRLBAR), |
| EX(CMD_sbmodified, "sbmodified", ex_bmodified, |
| ! RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_sbnext, "sbnext", ex_bnext, |
| ! RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_sbprevious, "sbprevious", ex_bprevious, |
| ! RANGE|NOTADR|COUNT|EDITCMD|TRLBAR), |
| EX(CMD_sbrewind, "sbrewind", ex_brewind, |
| ! EDITCMD|TRLBAR), |
| EX(CMD_scriptnames, "scriptnames", ex_scriptnames, |
| TRLBAR|CMDWIN), |
| EX(CMD_scriptencoding, "scriptencoding", ex_scriptencoding, |
| |
| |
| |
| *** 5135,5140 **** |
| --- 5135,5142 ---- |
| goto_buffer(eap, DOBUF_CURRENT, FORWARD, 0); |
| else |
| goto_buffer(eap, DOBUF_FIRST, FORWARD, (int)eap->line2); |
| + if (eap->do_ecmd_cmd != NULL) |
| + do_cmdline_cmd(eap->do_ecmd_cmd); |
| } |
| } |
| |
| |
| *** 5147,5152 **** |
| --- 5149,5156 ---- |
| exarg_T *eap; |
| { |
| goto_buffer(eap, DOBUF_MOD, FORWARD, (int)eap->line2); |
| + if (eap->do_ecmd_cmd != NULL) |
| + do_cmdline_cmd(eap->do_ecmd_cmd); |
| } |
| |
| /* |
| |
| *** 5158,5163 **** |
| --- 5162,5169 ---- |
| exarg_T *eap; |
| { |
| goto_buffer(eap, DOBUF_CURRENT, FORWARD, (int)eap->line2); |
| + if (eap->do_ecmd_cmd != NULL) |
| + do_cmdline_cmd(eap->do_ecmd_cmd); |
| } |
| |
| /* |
| |
| *** 5171,5176 **** |
| --- 5177,5184 ---- |
| exarg_T *eap; |
| { |
| goto_buffer(eap, DOBUF_CURRENT, BACKWARD, (int)eap->line2); |
| + if (eap->do_ecmd_cmd != NULL) |
| + do_cmdline_cmd(eap->do_ecmd_cmd); |
| } |
| |
| /* |
| |
| *** 5184,5189 **** |
| --- 5192,5199 ---- |
| exarg_T *eap; |
| { |
| goto_buffer(eap, DOBUF_FIRST, FORWARD, 0); |
| + if (eap->do_ecmd_cmd != NULL) |
| + do_cmdline_cmd(eap->do_ecmd_cmd); |
| } |
| |
| /* |
| |
| *** 5195,5200 **** |
| --- 5205,5212 ---- |
| exarg_T *eap; |
| { |
| goto_buffer(eap, DOBUF_LAST, BACKWARD, 0); |
| + if (eap->do_ecmd_cmd != NULL) |
| + do_cmdline_cmd(eap->do_ecmd_cmd); |
| } |
| #endif |
| |
| |
| |
| |
| *** 743,744 **** |
| --- 743,746 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 450, |
| /**/ |
| |
| -- |
| hundred-and-one symptoms of being an internet addict: |
| 166. You have been on your computer soo long that you didn't realize |
| you had grandchildren. |
| |
| /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ |
| /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ |
| \\\ an exciting new programming language -- http://www.Zimbu.org /// |
| \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |