To: vim_dev@googlegroups.com Subject: Patch 8.2.1106 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.1106 Problem: Crash when trying to use s: variable in typed command. Solution: Don't use the script index when not set. (Ken Takata, closes #6366) Files: src/vim9compile.c, src/testdir/test_vimscript.vim *** ../vim-8.2.1105/src/vim9compile.c 2020-06-27 18:06:42.152575113 +0200 --- src/vim9compile.c 2020-07-01 14:31:24.031366673 +0200 *************** *** 2339,2344 **** --- 2339,2347 ---- scriptitem_T *si = SCRIPT_ITEM(current_sctx.sc_sid); int idx; + if (current_sctx.sc_sid <= 0) + return NULL; + si = SCRIPT_ITEM(current_sctx.sc_sid); if (cctx != NULL) for (idx = 0; idx < cctx->ctx_imports.ga_len; ++idx) { *** ../vim-8.2.1105/src/testdir/test_vimscript.vim 2020-05-31 21:27:58.335221898 +0200 --- src/testdir/test_vimscript.vim 2020-07-01 14:34:17.870467527 +0200 *************** *** 2007,2012 **** --- 2007,2013 ---- endif endfunc + " invalid function names {{{1 func Test_invalid_function_names() " function name not starting with capital let caught_e128 = 0 *************** *** 2067,2073 **** call delete('Xscript') endfunc ! " substring and variable name func Test_substring_var() let str = 'abcdef' let n = 3 --- 2068,2074 ---- call delete('Xscript') endfunc ! " substring and variable name {{{1 func Test_substring_var() let str = 'abcdef' let n = 3 *************** *** 2087,2092 **** --- 2088,2107 ---- unlet b:nn endfunc + " Test using s: with a typed command {{{1 + func Test_typed_script_var() + CheckRunVimInTerminal + + let buf = RunVimInTerminal('', {'rows': 6}) + + " Deep nesting of if ... endif + call term_sendkeys(buf, ":echo get(s:, 'foo', 'x')\n") + call TermWait(buf) + call WaitForAssert({-> assert_match('^E116:', term_getline(buf, 5))}) + + call StopVimInTerminal(buf) + endfunc + "------------------------------------------------------------------------------- " Modelines {{{1 " vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker *** ../vim-8.2.1105/src/version.c 2020-07-01 13:52:50.664017642 +0200 --- src/version.c 2020-07-01 14:28:44.912197119 +0200 *************** *** 756,757 **** --- 756,759 ---- { /* Add new patch number below this line */ + /**/ + 1106, /**/ -- ./configure Checking whether build environment is sane ... build environment is grinning and holding a spatula. Guess not. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///