mirror of
https://github.com/neovim/neovim.git
synced 2025-10-26 12:27:24 +00:00
vim-patch:8.2.4607: sourcing buffer lines may lead to errors for conflicts
Problem: Sourcing buffer lines may lead to errors for conflicts.
Solution: Add the ++clear argument. (Yegappan Lakshmanan, closes vim/vim#9991)
35dc17634d
Documentation changes only. Vim9script is N/A.
Cherry-pick another documentation change for :source from latest Vim.
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
This commit is contained in:
@@ -607,6 +607,34 @@ func Test_source_buffer_vim9()
|
||||
source
|
||||
call assert_equal('red', g:Color)
|
||||
|
||||
" test for ++clear argument to clear all the functions/variables
|
||||
%d _
|
||||
let lines =<< trim END
|
||||
g:ScriptVarFound = exists("color")
|
||||
g:MyFuncFound = exists('*Myfunc')
|
||||
if g:MyFuncFound
|
||||
finish
|
||||
endif
|
||||
var color = 'blue'
|
||||
def Myfunc()
|
||||
enddef
|
||||
END
|
||||
call setline(1, lines)
|
||||
vim9cmd source
|
||||
call assert_false(g:MyFuncFound)
|
||||
call assert_false(g:ScriptVarFound)
|
||||
vim9cmd source
|
||||
call assert_true(g:MyFuncFound)
|
||||
call assert_true(g:ScriptVarFound)
|
||||
vim9cmd source ++clear
|
||||
call assert_false(g:MyFuncFound)
|
||||
call assert_false(g:ScriptVarFound)
|
||||
vim9cmd source ++clear
|
||||
call assert_false(g:MyFuncFound)
|
||||
call assert_false(g:ScriptVarFound)
|
||||
call assert_fails('vim9cmd source ++clearx', 'E475:')
|
||||
call assert_fails('vim9cmd source ++abcde', 'E484:')
|
||||
|
||||
%bw!
|
||||
endfunc
|
||||
|
||||
|
||||
Reference in New Issue
Block a user