From 7e1b43e6c2f40c192b65692672492655fb023ca5 Mon Sep 17 00:00:00 2001 From: Yee Cheng Chin Date: Sat, 24 Nov 2018 04:12:03 -0800 Subject: [PATCH] Fix tab dragging not working when dragging a tab to the right Vim's tabmove has two positions where it doesn't do anything, so need to add 1 to index when moving tab to the right. Fix #257 --- src/MacVim/MMBackend.m | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/MacVim/MMBackend.m b/src/MacVim/MMBackend.m index 1933f75555..855992408f 100644 --- a/src/MacVim/MMBackend.m +++ b/src/MacVim/MMBackend.m @@ -2013,6 +2013,14 @@ extern GuiFont gui_mch_retain_font(GuiFont font); // based. int idx = *((int*)bytes); + // Also, this index doesn't take itself into account, so if the move is + // to a later tab, need to add one to it since Vim's tabpage_move *does* + // count the current tab. + int curtab_index = tabpage_index(curtab); + if (idx >= curtab_index) { + idx += 1; + } + tabpage_move(idx); } else if (SetTextDimensionsMsgID == msgid || LiveResizeMsgID == msgid || SetTextDimensionsNoResizeWindowMsgID == msgid