From f8b5fca38cf4cb42823e1b36743f0cc96d4bb300 Mon Sep 17 00:00:00 2001 From: Wang Shidong Date: Mon, 7 Jan 2019 09:41:15 +0800 Subject: [PATCH] Fix api import (#2418) --- autoload/SpaceVim/api.vim | 5 ++++- test/api/logger.vader | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/autoload/SpaceVim/api.vim b/autoload/SpaceVim/api.vim index 5067139bf..e96ebca2d 100644 --- a/autoload/SpaceVim/api.vim +++ b/autoload/SpaceVim/api.vim @@ -27,6 +27,9 @@ let s:apis = {} +" the api itself is a dict, and it will be changed when user use the api. so +" every time when request a api, we should provide an clean api. + "" "@public @@ -39,7 +42,7 @@ function! SpaceVim#api#import(name) abort let p = {} try let p = SpaceVim#api#{a:name}#get() - let s:apis[a:name] = p + let s:apis[a:name] = deepcopy(p) catch /^Vim\%((\a\+)\)\=:E117/ endtry return p diff --git a/test/api/logger.vader b/test/api/logger.vader index 5adff5da9..1cbb5d3f1 100644 --- a/test/api/logger.vader +++ b/test/api/logger.vader @@ -20,3 +20,4 @@ Execute ( SpaceVim api: logger ): AssertEqual len(split(log.view(1), "\n")), 7 AssertEqual len(split(log.view(2), "\n")), 6 AssertEqual len(split(log.view(3), "\n")), 4 + unlet log