aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/diff.c
diff options
context:
space:
mode:
authorFlorian Walch <florian@fwalch.com>2014-12-23 13:06:39 +0100
committerFlorian Walch <florian@fwalch.com>2015-01-04 11:55:38 +0100
commit1cf933e7befffb4077ef14f2f87a9ed9eecdd625 (patch)
tree6448eab136ea8cdcdb7816d1c1dd819f8b96b4c0 /src/nvim/diff.c
parent10ff6ee0d7efedc4e3812b39dc8327b8aeef57a7 (diff)
downloadrneovim-1cf933e7befffb4077ef14f2f87a9ed9eecdd625.tar.gz
rneovim-1cf933e7befffb4077ef14f2f87a9ed9eecdd625.tar.bz2
rneovim-1cf933e7befffb4077ef14f2f87a9ed9eecdd625.zip
vim-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) https://code.google.com/p/vim/source/detail?r=v7-4-490
Diffstat (limited to 'src/nvim/diff.c')
-rw-r--r--src/nvim/diff.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/nvim/diff.c b/src/nvim/diff.c
index 7e31c3f216..ccff4520dc 100644
--- a/src/nvim/diff.c
+++ b/src/nvim/diff.c
@@ -2017,17 +2017,24 @@ int diff_infold(win_T *wp, linenr_T lnum)
}
/// "dp" and "do" commands.
-///
-/// @param put
-void nv_diffgetput(int put)
+void nv_diffgetput(bool put, size_t count)
{
exarg_T ea;
- ea.arg = (char_u *)"";
+ char buf[30];
+
+ if (count == 0) {
+ ea.arg = (char_u *)"";
+ } else {
+ vim_snprintf(buf, 30, "%zu", count);
+ ea.arg = (char_u *)buf;
+ }
+
if (put) {
ea.cmdidx = CMD_diffput;
} else {
ea.cmdidx = CMD_diffget;
}
+
ea.addr_count = 0;
ea.line1 = curwin->w_cursor.lnum;
ea.line2 = curwin->w_cursor.lnum;