Mercurial > vim
comparison src/testdir/test_vim9_expr.vim @ 27175:6af18c69c59d v8.2.4116
patch 8.2.4116: Vim9: cannot use a method with a complex expression in :def
Commit: https://github.com/vim/vim/commit/c73499351aef8b611b13c70ef8706a7e98df67a8
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Jan 16 20:59:39 2022 +0000
patch 8.2.4116: Vim9: cannot use a method with a complex expression in :def
Problem: Vim9: cannot use a method with a complex expression in a :def
function.
Solution: Implement compiling the expression.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 16 Jan 2022 22:00:04 +0100 |
parents | 04af0c68dba8 |
children | 63f8dbcf6a74 |
comparison
equal
deleted
inserted
replaced
27174:10acb2602253 | 27175:6af18c69c59d |
---|---|
3138 assert_equal([1, 2, 3], sorted) | 3138 assert_equal([1, 2, 3], sorted) |
3139 END | 3139 END |
3140 CheckDefAndScriptSuccess(lines) | 3140 CheckDefAndScriptSuccess(lines) |
3141 | 3141 |
3142 lines =<< trim END | 3142 lines =<< trim END |
3143 vim9script | |
3144 def SetNumber(n: number) | 3143 def SetNumber(n: number) |
3145 g:number = n | 3144 g:number = n |
3146 enddef | 3145 enddef |
3147 const Setit = SetNumber | 3146 const Setit = SetNumber |
3148 len('text')->Setit() | 3147 len('text')->Setit() |
3164 len('xxxxx')->SetDict.key() | 3163 len('xxxxx')->SetDict.key() |
3165 assert_equal(5, g:number) | 3164 assert_equal(5, g:number) |
3166 | 3165 |
3167 unlet g:number | 3166 unlet g:number |
3168 END | 3167 END |
3169 CheckScriptSuccess(lines) # TODO: CheckDefAndScriptSuccess() | 3168 CheckDefAndScriptSuccess(lines) |
3170 | 3169 |
3171 lines =<< trim END | 3170 lines =<< trim END |
3172 def RetVoid() | 3171 def RetVoid() |
3173 enddef | 3172 enddef |
3174 RetVoid()->byteidx(3) | 3173 RetVoid()->byteidx(3) |