neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit cd48b72b60af0a8b5a7770ab599e4062e974183d
parent 8802bf875a497d1ce47d74cc2fa33d3ab28c11c0
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Thu, 23 May 2024 09:10:16 +0800

fix(shada): restore search pattern length properly (#28929)


Diffstat:
Msrc/nvim/shada.c | 1+
Mtest/functional/shada/history_spec.lua | 12++++++++++++
2 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/src/nvim/shada.c b/src/nvim/shada.c @@ -1188,6 +1188,7 @@ static void shada_read(ShaDaReadDef *const sd_reader, const int flags) .off = cur_entry.data.search_pattern.offset, }, .pat = cur_entry.data.search_pattern.pat, + .patlen = strlen(cur_entry.data.search_pattern.pat), .additional_data = cur_entry.data.search_pattern.additional_data, .timestamp = cur_entry.timestamp, }; diff --git a/test/functional/shada/history_spec.lua b/test/functional/shada/history_spec.lua @@ -116,6 +116,12 @@ describe('ShaDa support code', function() nvim_feed('gg0n') eq({ 0, 2, 3, 0 }, fn.getpos('.')) eq(1, api.nvim_get_vvar('searchforward')) + -- Autocommands shouldn't cause search pattern to change + nvim_command('autocmd User * :') + nvim_command('doautocmd User') + nvim_feed('gg0n') + eq({ 0, 2, 3, 0 }, fn.getpos('.')) + eq(1, api.nvim_get_vvar('searchforward')) end) it('dumps and loads last search pattern with offset and backward direction', function() @@ -130,6 +136,12 @@ describe('ShaDa support code', function() nvim_feed('G$n') eq({ 0, 2, 3, 0 }, fn.getpos('.')) eq(0, api.nvim_get_vvar('searchforward')) + -- Autocommands shouldn't cause search pattern to change + nvim_command('autocmd User * :') + nvim_command('doautocmd User') + nvim_feed('G$n') + eq({ 0, 2, 3, 0 }, fn.getpos('.')) + eq(0, api.nvim_get_vvar('searchforward')) end) it('saves v:hlsearch=1', function()