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

This commit is contained in:
zeertzjq 2024-05-23 09:10:16 +08:00 committed by GitHub
parent 8802bf875a
commit cd48b72b60
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 13 additions and 0 deletions

View File

@ -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,
};

View File

@ -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()