From 0efd1bdcf4891f9ef2537e4c3d50a379186dca5f Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 11 Dec 2019 19:00:04 +0100 Subject: [PATCH] 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. --- src/message.c | 2 +- src/testdir/dumps/Test_long_file_name_1.dump | 8 ++++++++ src/testdir/test_display.vim | 18 ++++++++++++++++++ src/version.c | 2 ++ 4 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/testdir/dumps/Test_long_file_name_1.dump diff --git a/src/message.c b/src/message.c index 9ecd194b5..0b690bb5d 100644 --- 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 index 000000000..46fa9bdfb --- /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 index a25d2cfe0..4ef361e05 100644 --- 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 index ecdcb9c7f..2b992df94 100644 --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 2419, /**/ 2418, /**/ -- 2.50.1