| To: vim_dev@googlegroups.com |
| Subject: Patch 7.4.490 |
| 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.490 |
| Problem: Cannot specify the buffer to use for "do" and "dp", making them |
| useless for three-way diff. |
| Solution: Use the count as the buffer number. (James McCoy) |
| Files: runtime/doc/diff.txt, src/diff.c, src/normal.c, src/proto/diff.pro |
| |
| |
| |
| |
| |
| *** 95,101 **** |
| :difft[his] Make the current window part of the diff windows. This sets |
| the options like for "vimdiff". |
| |
| ! :diffp[atch] {patchfile} *E816* *:diffp* *:diffpatch* |
| Use the current buffer, patch it with the diff found in |
| {patchfile} and open a buffer on the result. The options are |
| set as for "vimdiff". |
| --- 95,101 ---- |
| :difft[his] Make the current window part of the diff windows. This sets |
| the options like for "vimdiff". |
| |
| ! :diffp[atch] {patchfile} *E816* *:diffp* *:diffpatch* |
| Use the current buffer, patch it with the diff found in |
| {patchfile} and open a buffer on the result. The options are |
| set as for "vimdiff". |
| |
| *** 123,132 **** |
| file for a moment and come back to the same file and be in diff mode again. |
| |
| *:diffo* *:diffoff* |
| ! :diffo[ff] Switch off diff mode for the current window. |
| |
| :diffo[ff]! Switch off diff mode for the current window and in all windows |
| ! in the current tab page where 'diff' is set. |
| |
| The ":diffoff" command resets the relevant options to the values they had when |
| using |:diffsplit|, |:diffpatch| , |:diffthis|. or starting Vim in diff mode. |
| --- 123,136 ---- |
| file for a moment and come back to the same file and be in diff mode again. |
| |
| *:diffo* *:diffoff* |
| ! :diffo[ff] Switch off diff mode for the current window. Resets related |
| ! options also when 'diff' was not set. |
| |
| :diffo[ff]! Switch off diff mode for the current window and in all windows |
| ! in the current tab page where 'diff' is set. Resetting |
| ! related options only happens in a window that has 'diff' set, |
| ! if the current window does not have 'diff' set then no options |
| ! in it are changed. |
| |
| The ":diffoff" command resets the relevant options to the values they had when |
| using |:diffsplit|, |:diffpatch| , |:diffthis|. or starting Vim in diff mode. |
| |
| *** 262,274 **** |
| See below for [range]. |
| |
| *do* |
| ! do Same as ":diffget" without argument or range. The "o" stands |
| ! for "obtain" ("dg" can't be used, it could be the start of |
| ! "dgg"!). Note: this doesn't work in Visual mode. |
| |
| *dp* |
| ! dp Same as ":diffput" without argument or range. |
| ! Note: this doesn't work in Visual mode. |
| |
| |
| When no [range] is given, the diff at the cursor position or just above it is |
| --- 266,282 ---- |
| See below for [range]. |
| |
| *do* |
| ! [count]do Same as ":diffget" without range. The "o" stands for "obtain" |
| ! ("dg" can't be used, it could be the start of "dgg"!). Note: |
| ! this doesn't work in Visual mode. |
| ! If you give a [count], it is used as the [bufspec] argument |
| ! for ":diffget". |
| |
| *dp* |
| ! [count]dp Same as ":diffput" without range. Note: this doesn't work in |
| ! Visual mode. |
| ! If you give a [count], it is used as the [bufspec] argument |
| ! for ":diffput". |
| |
| |
| When no [range] is given, the diff at the cursor position or just above it is |
| |
| |
| |
| *** 2107,2118 **** |
| * "dp" and "do" commands. |
| */ |
| void |
| ! nv_diffgetput(put) |
| int put; |
| { |
| exarg_T ea; |
| |
| ! ea.arg = (char_u *)""; |
| if (put) |
| ea.cmdidx = CMD_diffput; |
| else |
| --- 2107,2126 ---- |
| * "dp" and "do" commands. |
| */ |
| void |
| ! nv_diffgetput(put, count) |
| int put; |
| + long count; |
| { |
| exarg_T ea; |
| + char_u buf[30]; |
| |
| ! if (count == 0) |
| ! ea.arg = (char_u *)""; |
| ! else |
| ! { |
| ! vim_snprintf((char *)buf, 30, "%ld", count); |
| ! ea.arg = buf; |
| ! } |
| if (put) |
| ea.cmdidx = CMD_diffput; |
| else |
| |
| |
| |
| *** 9284,9290 **** |
| if (cap->oap->op_type == OP_DELETE && cap->cmdchar == 'p') |
| { |
| clearop(cap->oap); |
| ! nv_diffgetput(TRUE); |
| } |
| else |
| #endif |
| --- 9284,9290 ---- |
| if (cap->oap->op_type == OP_DELETE && cap->cmdchar == 'p') |
| { |
| clearop(cap->oap); |
| ! nv_diffgetput(TRUE, cap->opcount); |
| } |
| else |
| #endif |
| |
| *** 9407,9413 **** |
| if (cap->oap->op_type == OP_DELETE && cap->cmdchar == 'o') |
| { |
| clearop(cap->oap); |
| ! nv_diffgetput(FALSE); |
| } |
| else |
| #endif |
| --- 9407,9413 ---- |
| if (cap->oap->op_type == OP_DELETE && cap->cmdchar == 'o') |
| { |
| clearop(cap->oap); |
| ! nv_diffgetput(FALSE, cap->opcount); |
| } |
| else |
| #endif |
| |
| |
| |
| *** 18,24 **** |
| int diffopt_horizontal __ARGS((void)); |
| int diff_find_change __ARGS((win_T *wp, linenr_T lnum, int *startp, int *endp)); |
| int diff_infold __ARGS((win_T *wp, linenr_T lnum)); |
| ! void nv_diffgetput __ARGS((int put)); |
| void ex_diffgetput __ARGS((exarg_T *eap)); |
| int diff_mode_buf __ARGS((buf_T *buf)); |
| int diff_move_to __ARGS((int dir, long count)); |
| --- 18,24 ---- |
| int diffopt_horizontal __ARGS((void)); |
| int diff_find_change __ARGS((win_T *wp, linenr_T lnum, int *startp, int *endp)); |
| int diff_infold __ARGS((win_T *wp, linenr_T lnum)); |
| ! void nv_diffgetput __ARGS((int put, long count)); |
| void ex_diffgetput __ARGS((exarg_T *eap)); |
| int diff_mode_buf __ARGS((buf_T *buf)); |
| int diff_move_to __ARGS((int dir, long count)); |
| |
| |
| |
| *** 743,744 **** |
| --- 743,746 ---- |
| { /* Add new patch number below this line */ |
| + /**/ |
| + 490, |
| /**/ |
| |
| -- |
| GUARD #2: It could be carried by an African swallow! |
| GUARD #1: Oh, yeah, an African swallow maybe, but not a European swallow, |
| that's my point. |
| GUARD #2: Oh, yeah, I agree with that... |
| The Quest for the Holy Grail (Monty Python) |
| |
| /// 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 /// |