patch 8.2.3710: Vim9: backtick expression expanded for :global

Problem:    Vim9: backtick expression expanded for :global.
Solution:   Check the following command.
This commit is contained in:
Bram Moolenaar
2021-12-01 09:27:20 +00:00
parent fad2742d53
commit 3d2e031d4f
4 changed files with 24 additions and 20 deletions

View File

@ -1124,17 +1124,11 @@ function scope. Instead, use a lambda: >
return range(1, 2)->map((_, v) => list[v])
enddef
The same is true for commands that are not compiled, such as `:global`.
For these the backtick expansion can be used. Example: >
For commands that are not compiled, such as `:edit`, backtick expansion can be
used and it can use the local scope. Example: >
def Replace()
var newText = 'blah'
g/pattern/s/^/`=newText`/
enddef
Or a script variable can be used: >
var newText = 'blah'
def Replace()
g/pattern/s/^/\=newText/
var fname = 'blah.txt'
edit `=fname`
enddef
Closures defined in a loop will share the same context. For example: >