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 -- [email protected] -- 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    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/202008051420.075EKSYZ3314188%40masaka.moolenaar.net.

Raspunde prin e-mail lui