diff --git a/src/testdir/test_vim9_enum.vim b/src/testdir/test_vim9_enum.vim index 74eb468805..de26259d49 100644 --- a/src/testdir/test_vim9_enum.vim +++ b/src/testdir/test_vim9_enum.vim @@ -1586,4 +1586,19 @@ def Test_lambda_block_in_enum() v9.CheckScriptSuccess(lines) enddef +" Echo an enum +def Test_enum_echo() + var lines =<< trim END + vim9script + enum Demo + one('tahi'), + two('rua'), + three('toru') + var alias: string + endenum + assert_equal('enum Demo.one {name: one, ordinal: 0, alias: tahi}', execute('echo Demo.one')->split("\n")[0]) + END + v9.CheckScriptSuccess(lines) +enddef + " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker diff --git a/src/version.c b/src/version.c index 8e53159579..5b3683ddd8 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1041, /**/ 1040, /**/ diff --git a/src/vim9class.c b/src/vim9class.c index c3ccf0250a..e847bf0864 100644 --- a/src/vim9class.c +++ b/src/vim9class.c @@ -4054,6 +4054,7 @@ object2string( vim_free(ga.ga_data); return NULL; } + ga_append(&ga, NUL); return (char_u *)ga.ga_data; } diff --git a/src/vim9expr.c b/src/vim9expr.c index 7b8c96adbd..b76544869c 100644 --- a/src/vim9expr.c +++ b/src/vim9expr.c @@ -406,7 +406,7 @@ compile_class_object_index(cctx_T *cctx, char_u **arg, type_T *type) } } - if (is_super && IS_ABSTRACT_METHOD(ufunc)) + if (is_super && ufunc != NULL && IS_ABSTRACT_METHOD(ufunc)) { // Trying to invoke an abstract method in a super class is not // allowed.