patch 9.1.0473: term_start() does not clear vertical modifier Commit: https://github.com/vim/vim/commit/d603e956095b8bc79526476138fe80b1e0be9b8d Author: Yegappan Lakshmanan <yegap...@yahoo.com> Date: Mon Jun 10 18:16:34 2024 +0200
patch 9.1.0473: term_start() does not clear vertical modifier Problem: term_start() does not clear vertical modifier Solution: Clear the flag after splitting the window (Yegappan Lakshmanan) closes: #14953 Signed-off-by: Yegappan Lakshmanan <yegap...@yahoo.com> Signed-off-by: Christian Brabandt <c...@256bit.org> diff --git a/src/terminal.c b/src/terminal.c index 25a6a5dd7..28e1abfec 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -538,9 +538,15 @@ term_start( split_ea.addr_count = 1; } + int cmod_split_modified = FALSE; if (vertical) + { cmdmod.cmod_split |= WSP_VERT; + cmod_split_modified = TRUE; + } ex_splitview(&split_ea); + if (vertical && cmod_split_modified) + cmdmod.cmod_split &= ~WSP_VERT; if (curwin == old_curwin) { // split failed diff --git a/src/testdir/test_terminal3.vim b/src/testdir/test_terminal3.vim index 848e3fa47..3cca1b05c 100644 --- a/src/testdir/test_terminal3.vim +++ b/src/testdir/test_terminal3.vim @@ -10,6 +10,8 @@ source screendump.vim source mouse.vim source term_util.vim +import './vim9.vim' as v9 + let $PROMPT_COMMAND='' func Test_terminal_altscreen() @@ -959,4 +961,18 @@ func Test_terminal_vt420() call StopVimInTerminal(buf) endfunc +" Test for using 'vertical' with term_start(). If a following term_start(), +" doesn't have the 'vertical' attribute, then it should be split horizontally. +func Test_terminal_vertical() + let lines =<< trim END + call term_start("NONE", {'vertical': 1}) + call term_start("NONE") + VAR layout = winlayout() + call assert_equal('row', layout[0], string(layout)) + call assert_equal('col', layout[1][0][0], string(layout)) + :%bw! + END + call v9.CheckLegacyAndVim9Success(lines) +endfunc + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c index 334ebd716..78668eaad 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 473, /**/ 472, /**/ -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/vim_dev/E1sGhuF-004WP2-LC%40256bit.org.