To: vim_dev@googlegroups.com Subject: Patch 8.2.1376 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.1376 Problem: Vim9: expression mapping causes error for using :import. Solution: Add EX_LOCK_OK to :import and :export. (closes 3606) Files: src/ex_cmds.h, src/testdir/test_vim9_script.vim *** ../vim-8.2.1375/src/ex_cmds.h 2020-07-25 19:38:13.329572365 +0200 --- src/ex_cmds.h 2020-08-05 16:17:44.395834188 +0200 *************** *** 572,578 **** EX_RANGE|EX_WHOLEFOLD|EX_BANG|EX_FILE1|EX_ARGOPT|EX_DFLALL|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK, ADDR_LINES), EXCMD(CMD_export, "export", ex_export, ! EX_EXTRA|EX_NOTRLCOM, ADDR_NONE), EXCMD(CMD_exusage, "exusage", ex_exusage, EX_TRLBAR, --- 572,578 ---- EX_RANGE|EX_WHOLEFOLD|EX_BANG|EX_FILE1|EX_ARGOPT|EX_DFLALL|EX_TRLBAR|EX_CMDWIN|EX_LOCK_OK, ADDR_LINES), EXCMD(CMD_export, "export", ex_export, ! EX_EXTRA|EX_NOTRLCOM|EX_LOCK_OK, ADDR_NONE), EXCMD(CMD_exusage, "exusage", ex_exusage, EX_TRLBAR, *************** *** 698,704 **** EX_RANGE|EX_ZEROR|EX_EXTRA|EX_TRLBAR|EX_NOTRLCOM|EX_CTRLV|EX_CMDWIN|EX_LOCK_OK, ADDR_OTHER), EXCMD(CMD_import, "import", ex_import, ! EX_EXTRA|EX_NOTRLCOM, ADDR_NONE), EXCMD(CMD_inoremap, "inoremap", ex_map, EX_EXTRA|EX_TRLBAR|EX_NOTRLCOM|EX_CTRLV|EX_CMDWIN|EX_LOCK_OK, --- 698,704 ---- EX_RANGE|EX_ZEROR|EX_EXTRA|EX_TRLBAR|EX_NOTRLCOM|EX_CTRLV|EX_CMDWIN|EX_LOCK_OK, ADDR_OTHER), EXCMD(CMD_import, "import", ex_import, ! EX_EXTRA|EX_NOTRLCOM|EX_LOCK_OK, ADDR_NONE), EXCMD(CMD_inoremap, "inoremap", ex_map, EX_EXTRA|EX_TRLBAR|EX_NOTRLCOM|EX_CTRLV|EX_CMDWIN|EX_LOCK_OK, *** ../vim-8.2.1375/src/testdir/test_vim9_script.vim 2020-08-05 15:11:00.380135762 +0200 --- src/testdir/test_vim9_script.vim 2020-08-05 16:14:35.204103442 +0200 *************** *** 1351,1356 **** --- 1351,1386 ---- delete('Xvim9_script') enddef + func g:Trigger() + source Ximport.vim + return "echo 'yes'\" + endfunc + + def Test_import_export_expr_map() + # check that :import and :export work when buffer is locked + let export_lines =<< trim END + vim9script + export def That(): string + return 'yes' + enddef + END + writefile(export_lines, 'Xexport_that.vim') + + let import_lines =<< trim END + vim9script + import That from './Xexport_that.vim' + assert_equal('yes', That()) + END + writefile(import_lines, 'Ximport.vim') + + nnoremap trigger g:Trigger() + feedkeys('trigger', "xt") + + delete('Xexport.vim') + delete('Ximport.vim') + nunmap trigger + enddef + def Test_vim9script_fails() CheckScriptFailure(['scriptversion 2', 'vim9script'], 'E1039:') CheckScriptFailure(['vim9script', 'scriptversion 2'], 'E1040:') *** ../vim-8.2.1375/src/version.c 2020-08-05 15:43:40.517333215 +0200 --- src/version.c 2020-08-05 16:02:28.125943511 +0200 *************** *** 756,757 **** --- 756,759 ---- { /* Add new patch number below this line */ + /**/ + 1376, /**/ -- hundred-and-one symptoms of being an internet addict: 129. You cancel your newspaper subscription. /// 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 ///