Patch 8.2.1038
Problem: Popupwin test fails.
Solution: Fix WaitForAssert() argument.
Files: src/testdir/test_popupwin.vim
diff --git a/src/testdir/test_registers.vim b/src/testdir/test_registers.vim
index 627799c4931..ce4f0b68a5b 100644
--- a/src/testdir/test_registers.vim
+++ b/src/testdir/test_registers.vim
@@ -633,4 +633,22 @@ func Test_execute_reg_as_ex_cmd()
call assert_equal(repeat('abcdefghijklmnopqrstuvwxyz', 312), str)
endfunc
+" Test for clipboard registers with ASCII NUL
+func Test_clipboard_nul()
+ CheckFeature clipboard_working
+ new
+
+ " Test for putting ASCII NUL into the clipboard
+ set clipboard=unnamed
+ call append(0, "\ntest")
+ normal ggyyp
+ call assert_equal("^@test^@", strtrans(getreg('*')))
+ call assert_equal(getline(1), getline(2))
+ let b = split(execute(":reg *"), "\n")
+ call assert_match('"\*\s*\^@test\^J',b[1])
+
+ set clipboard&vim
+ bwipe!
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/winclip.c b/src/winclip.c
index 767bf1c71e0..db88e6787df 100644
--- a/src/winclip.c
+++ b/src/winclip.c
@@ -422,7 +422,7 @@ clip_mch_request_selection(Clipboard_T *cbd)
}
}
- if (str != NULL && *str != NUL)
+ if (str != NULL && metadata.txtlen != 0)
{
char_u *temp_clipboard;
@@ -543,7 +543,7 @@ clip_mch_set_selection(Clipboard_T *cbd)
if (lpszMem)
{
- vim_strncpy((char_u *)lpszMem, str, metadata.txtlen);
+ mch_memmove((char_u *)lpszMem, str, metadata.txtlen);
GlobalUnlock(hMem);
}
}
--
Dreams are free, but there's a small charge for alterations.
/// Bram Moolenaar -- Br...@Moolenaar.net --
http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features --
http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language --
http://www.Zimbu.org ///
\\\ help me help AIDS victims --
http://ICCF-Holland.org ///