Patch 8.2.1376

2 views
Skip to first unread message

Bram Moolenaar

unread,
Aug 5, 2020, 10:20:36 AM8/5/20
to vim...@googlegroups.com

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'\<CR>"
+ 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 <expr> 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 -- Br...@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 ///
Reply all
Reply to author
Forward
0 new messages