# HG changeset patch # User Bram Moolenaar # Date 1576088104 -3600 # Node ID a686560cf6c90b9917be2eb06cb57b592bfeb541 # Parent 1b50a0a7fdc15d4b3f996914d8d733cb1493ecc9 patch 8.1.2419: with a long file name the hit-enter prompt appears Commit: https://github.com/vim/vim/commit/0efd1bdcf4891f9ef2537e4c3d50a379186dca5f Author: Bram Moolenaar Date: Wed Dec 11 19:00:04 2019 +0100 patch 8.1.2419: with a long file name the hit-enter prompt appears Problem: With a long file name the hit-enter prompt appears. (J. Lewis Muir) Solution: When checking for text to wrap don't do this when outputing a CR. diff --git a/src/message.c b/src/message.c --- a/src/message.c +++ b/src/message.c @@ -2080,7 +2080,7 @@ msg_puts_display( || (has_mbyte && (*mb_ptr2cells)(s) > 1 && msg_col <= 2)) : #endif - (msg_col + t_col >= Columns - 1 + ((*s != '\r' && msg_col + t_col >= Columns - 1) || (*s == TAB && msg_col + t_col >= ((Columns - 1) & ~7)) || (has_mbyte && (*mb_ptr2cells)(s) > 1 && msg_col + t_col >= Columns - 2))))) diff --git a/src/testdir/dumps/Test_long_file_name_1.dump b/src/testdir/dumps/Test_long_file_name_1.dump new file mode 100644 --- /dev/null +++ b/src/testdir/dumps/Test_long_file_name_1.dump @@ -0,0 +1,8 @@ +> +0&#ffffff0@74 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|~| @73 +|<+0#0000000&|x@64|"| |0|L|,| |0|C| diff --git a/src/testdir/test_display.vim b/src/testdir/test_display.vim --- a/src/testdir/test_display.vim +++ b/src/testdir/test_display.vim @@ -181,3 +181,21 @@ func Test_scroll_CursorLineNr_update() call StopVimInTerminal(buf) call delete(filename) endfunc + +" check a long file name does not result in the hit-enter prompt +func Test_edit_long_file_name() + CheckScreendump + + let longName = 'x'->repeat(&columns) + call writefile([], longName) + let buf = RunVimInTerminal('-N -u NONE ' .. longName, #{rows: 8}) + + call VerifyScreenDump(buf, 'Test_long_file_name_1', {}) + + call term_sendkeys(buf, ":q\") + + " clean up + call StopVimInTerminal(buf) + call delete(longName) +endfunc + diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -743,6 +743,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2419, +/**/ 2418, /**/ 2417,