neovim

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

commit 3117dc70f1e60569f5c3cc0eee5f5005081722b5
parent 90ad3c8f17d4d0be4149ea28c49d1e6980640d38
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Thu, 17 Aug 2023 11:08:21 +0800

vim-patch:1b884a005398

Update runtime files.

https://github.com/vim/vim/commit/1b884a0053982335f644eec6c71027706bf3c522

Co-authored-by: Bram Moolenaar <Bram@vim.org>

Diffstat:
Mruntime/doc/builtin.txt | 3++-
Mruntime/lua/vim/_meta/vimfn.lua | 3++-
Msrc/nvim/eval.lua | 3++-
Mtest/old/testdir/vim9.vim | 4++--
4 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt @@ -4210,7 +4210,8 @@ mapcheck({name} [, {mode} [, {abbr}]]) *mapcheck()* mapnew({expr1}, {expr2}) *mapnew()* Like |map()| but instead of replacing items in {expr1} a new List or Dictionary is created and returned. {expr1} remains - unchanged. + unchanged. Items can still be changed by {expr2}, if you + don't want that use |deepcopy()| first. mapset({mode}, {abbr}, {dict}) *mapset()* Restore a mapping from a dictionary returned by |maparg()|. diff --git a/runtime/lua/vim/_meta/vimfn.lua b/runtime/lua/vim/_meta/vimfn.lua @@ -5082,7 +5082,8 @@ function vim.fn.mapcheck(name, mode, abbr) end --- Like |map()| but instead of replacing items in {expr1} a new --- List or Dictionary is created and returned. {expr1} remains ---- unchanged. +--- unchanged. Items can still be changed by {expr2}, if you +--- don't want that use |deepcopy()| first. --- --- @param expr1 any --- @param expr2 any diff --git a/src/nvim/eval.lua b/src/nvim/eval.lua @@ -6223,7 +6223,8 @@ M.funcs = { desc = [=[ Like |map()| but instead of replacing items in {expr1} a new List or Dictionary is created and returned. {expr1} remains - unchanged. + unchanged. Items can still be changed by {expr2}, if you + don't want that use |deepcopy()| first. ]=], name = 'mapnew', params = { { 'expr1', 'any' }, { 'expr2', 'any' } }, diff --git a/test/old/testdir/vim9.vim b/test/old/testdir/vim9.vim @@ -88,7 +88,7 @@ endfunc " Execute "lines" in a legacy function, translated as in " CheckLegacyAndVim9Success() func CheckTransLegacySuccess(lines) - let legacylines = a:lines->deepcopy()->map({_, v -> + let legacylines = a:lines->mapnew({_, v -> \ v->substitute('\<VAR\>', 'let', 'g') \ ->substitute('\<LET\>', 'let', 'g') \ ->substitute('\<LSTART\>', '{', 'g') @@ -131,7 +131,7 @@ func CheckLegacyAndVim9Failure(lines, error) let legacyError = a:error[0] endif - let legacylines = a:lines->deepcopy()->map({_, v -> + let legacylines = a:lines->mapnew({_, v -> \ v->substitute('\<VAR\>', 'let', 'g') \ ->substitute('\<LET\>', 'let', 'g') \ ->substitute('#"', ' "', 'g')