mirror of
https://github.com/neovim/neovim.git
synced 2025-12-05 06:02:41 +00:00
Merge #1981 'treat NULL initialized vimscript string as api type String'
This commit is contained in:
@@ -644,10 +644,8 @@ static Object vim_to_object_rec(typval_T *obj, PMap(ptr_t) *lookup)
|
||||
|
||||
switch (obj->v_type) {
|
||||
case VAR_STRING:
|
||||
if (obj->vval.v_string != NULL) {
|
||||
rv.type = kObjectTypeString;
|
||||
rv.data.string = cstr_to_string((char *) obj->vval.v_string);
|
||||
}
|
||||
rv.type = kObjectTypeString;
|
||||
rv.data.string = cstr_to_string((char *) obj->vval.v_string);
|
||||
break;
|
||||
|
||||
case VAR_NUMBER:
|
||||
|
||||
@@ -27,6 +27,11 @@ describe('vim_* functions', function()
|
||||
nvim('command', 'let g:v2 = [1, 2, {"v3": 3}]')
|
||||
eq({v1 = 'a', v2 = {1, 2, {v3 = 3}}}, nvim('eval', 'g:'))
|
||||
end)
|
||||
|
||||
it('handles NULL-initialized strings correctly', function()
|
||||
eq(1, nvim('eval',"matcharg(1) == ['', '']"))
|
||||
eq({'', ''}, nvim('eval','matcharg(1)'))
|
||||
end)
|
||||
end)
|
||||
|
||||
describe('strwidth', function()
|
||||
|
||||
@@ -191,7 +191,7 @@ describe('system()', function()
|
||||
if xclip then
|
||||
describe("with a program that doesn't close stdout", function()
|
||||
it('will exit properly after passing input', function()
|
||||
eq(nil, eval([[system('xclip -i -selection clipboard', 'clip-data')]]))
|
||||
eq('', eval([[system('xclip -i -selection clipboard', 'clip-data')]]))
|
||||
eq('clip-data', eval([[system('xclip -o -selection clipboard')]]))
|
||||
end)
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user