Mercurial > vim
changeset 35361:e26033cfae22 v9.1.0473
patch 9.1.0473: term_start() does not clear vertical modifier
Commit: https://github.com/vim/vim/commit/d603e956095b8bc79526476138fe80b1e0be9b8d
Author: Yegappan Lakshmanan <yegappan@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 <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 10 Jun 2024 18:30:03 +0200 |
parents | 7264594fc147 |
children | 7668d8a76462 |
files | src/terminal.c src/testdir/test_terminal3.vim src/version.c |
diffstat | 3 files changed, 24 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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
--- 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