commit 41199c45d6bb92abb5b52ab78cc088592f3d452c
parent 55bd54e5264d92beb4f70a5b2ad023af3719e18d
Author: zeertzjq <zeertzjq@outlook.com>
Date: Tue, 14 Oct 2025 13:04:37 +0800
fix(clipboard): avoid using stale register width (#36178)
Fix #36177
Follow-up to #35038
Diffstat:
2 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/src/nvim/clipboard.c b/src/nvim/clipboard.c
@@ -146,6 +146,7 @@ bool get_clipboard(int name, yankreg_T **target, bool quiet)
reg->y_array = xcalloc((size_t)tv_list_len(lines), sizeof(String));
reg->y_size = (size_t)tv_list_len(lines);
+ reg->y_width = 0; // Will be updated by update_yankreg_width() below.
reg->additional_data = NULL;
reg->timestamp = 0;
// Timestamp is not saved for clipboard registers because clipboard registers
diff --git a/test/functional/provider/clipboard_spec.lua b/test/functional/provider/clipboard_spec.lua
@@ -563,6 +563,12 @@ describe('clipboard (with fake clipboard.vim)', function()
あいあいあいうえお
xxx xxx
xx xx]])
+ feed('G0<C-V>ky')
+ feed('P')
+ expect([[
+ あいあいあいうえお
+ xxxx xxx
+ xxx xx]])
end)
end)