Mercurial > vim
comparison src/testdir/test_vim9_script.vim @ 23360:eb7d8f39363c v8.2.2223
patch 8.2.2223: Vim9: Reloading marks a :def function as deleted
Commit: https://github.com/vim/vim/commit/cdc40c43f1008bda2f173d3a13606236679e8067
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Dec 26 17:43:08 2020 +0100
patch 8.2.2223: Vim9: Reloading marks a :def function as deleted
Problem: Vim9: Reloading marks a :def function as deleted.
Solution: Clear the function contents but keep the index.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 26 Dec 2020 17:45:03 +0100 |
parents | b3142fc0a414 |
children | f181fe2150ab |
comparison
equal
deleted
inserted
replaced
23359:35b42d31593d | 23360:eb7d8f39363c |
---|---|
1172 var s:loaded = true | 1172 var s:loaded = true |
1173 | 1173 |
1174 var s:notReloaded = 'yes' | 1174 var s:notReloaded = 'yes' |
1175 s:reloaded = 'first' | 1175 s:reloaded = 'first' |
1176 def g:Values(): list<string> | 1176 def g:Values(): list<string> |
1177 return [s:reloaded, s:notReloaded, Once()] | 1177 return [s:reloaded, s:notReloaded, Again(), Once()] |
1178 enddef | |
1179 def g:CallAgain(): string | |
1180 return Again() | |
1181 enddef | 1178 enddef |
1182 | 1179 |
1183 def Once(): string | 1180 def Once(): string |
1184 return 'once' | 1181 return 'once' |
1185 enddef | 1182 enddef |
1186 END | 1183 END |
1187 writefile(lines, 'XReloaded') | 1184 writefile(lines, 'XReloaded') |
1188 g:loadCount = 0 | 1185 g:loadCount = 0 |
1189 source XReloaded | 1186 source XReloaded |
1190 assert_equal(1, g:loadCount) | 1187 assert_equal(1, g:loadCount) |
1191 assert_equal(['first', 'yes', 'once'], g:Values()) | 1188 assert_equal(['first', 'yes', 'again', 'once'], g:Values()) |
1192 assert_equal('again', g:CallAgain()) | |
1193 source XReloaded | 1189 source XReloaded |
1194 assert_equal(2, g:loadCount) | 1190 assert_equal(2, g:loadCount) |
1195 assert_equal(['init', 'yes', 'once'], g:Values()) | 1191 assert_equal(['init', 'yes', 'again', 'once'], g:Values()) |
1196 assert_fails('call g:CallAgain()', 'E933:') | |
1197 source XReloaded | 1192 source XReloaded |
1198 assert_equal(3, g:loadCount) | 1193 assert_equal(3, g:loadCount) |
1199 assert_equal(['init', 'yes', 'once'], g:Values()) | 1194 assert_equal(['init', 'yes', 'again', 'once'], g:Values()) |
1200 assert_fails('call g:CallAgain()', 'E933:') | |
1201 | 1195 |
1202 delete('Xreloaded') | 1196 delete('Xreloaded') |
1203 delfunc g:Values | 1197 delfunc g:Values |
1204 delfunc g:CallAgain | |
1205 unlet g:loadCount | 1198 unlet g:loadCount |
1206 enddef | 1199 enddef |
1207 | 1200 |
1208 def Test_vim9script_reload_import() | 1201 def Test_vim9script_reload_import() |
1209 var lines =<< trim END | 1202 var lines =<< trim END |