Mercurial > vim
comparison src/testdir/test_vim9_script.vim @ 21473:8bcd1ee2630b v8.2.1287
patch 8.2.1287: Vim9: crash when using an imported function
Commit: https://github.com/vim/vim/commit/40f4f7a48cae491f83bd3cdbf7e9b5a23ed870ef
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jul 23 22:41:43 2020 +0200
patch 8.2.1287: Vim9: crash when using an imported function
Problem: Vim9: crash when using an imported function.
Solution: Add the function type to the imported entry. (closes https://github.com/vim/vim/issues/6522)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 23 Jul 2020 22:45:04 +0200 |
parents | 126dcb0411ed |
children | 90d859a402cc |
comparison
equal
deleted
inserted
replaced
21472:d17bb9011c44 | 21473:8bcd1ee2630b |
---|---|
910 g:imported = exported | 910 g:imported = exported |
911 exported += 3 | 911 exported += 3 |
912 g:imported_added = exported | 912 g:imported_added = exported |
913 g:imported_func = Exported() | 913 g:imported_func = Exported() |
914 | 914 |
915 def GetExported(): string | |
916 let local_dict = #{ref: Exported} | |
917 return local_dict.ref() | |
918 enddef | |
919 g:funcref_result = GetExported() | |
920 | |
915 import {exp_name} from './Xexport.vim' | 921 import {exp_name} from './Xexport.vim' |
916 g:imported_name = exp_name | 922 g:imported_name = exp_name |
917 exp_name ..= ' Doe' | 923 exp_name ..= ' Doe' |
918 g:imported_name_appended = exp_name | 924 g:imported_name_appended = exp_name |
919 g:imported_later = exported | 925 g:imported_later = exported |
928 assert_equal('bob', g:localname) | 934 assert_equal('bob', g:localname) |
929 assert_equal(9876, g:imported) | 935 assert_equal(9876, g:imported) |
930 assert_equal(9879, g:imported_added) | 936 assert_equal(9879, g:imported_added) |
931 assert_equal(9879, g:imported_later) | 937 assert_equal(9879, g:imported_later) |
932 assert_equal('Exported', g:imported_func) | 938 assert_equal('Exported', g:imported_func) |
939 assert_equal('Exported', g:funcref_result) | |
933 assert_equal('John', g:imported_name) | 940 assert_equal('John', g:imported_name) |
934 assert_equal('John Doe', g:imported_name_appended) | 941 assert_equal('John Doe', g:imported_name_appended) |
935 assert_false(exists('g:name')) | 942 assert_false(exists('g:name')) |
936 | 943 |
937 unlet g:result | 944 unlet g:result |