mirror of
https://github.com/vim/vim.git
synced 2025-09-26 04:04:07 -04:00
patch 8.2.2074: Vim9: using :normal from Vim9 script can't handle range
Problem: Vim9: using :normal from Vim9 script can't handle range. Solution: Execute a :normal command in legacy script context. (closes #7401)
This commit is contained in:
@@ -7994,10 +7994,12 @@ save_current_state(save_state_T *sst)
|
||||
sst->save_finish_op = finish_op;
|
||||
sst->save_opcount = opcount;
|
||||
sst->save_reg_executing = reg_executing;
|
||||
sst->save_script_version = current_sctx.sc_version;
|
||||
|
||||
msg_scroll = FALSE; // no msg scrolling in Normal mode
|
||||
restart_edit = 0; // don't go to Insert mode
|
||||
p_im = FALSE; // don't use 'insertmode'
|
||||
msg_scroll = FALSE; // no msg scrolling in Normal mode
|
||||
restart_edit = 0; // don't go to Insert mode
|
||||
p_im = FALSE; // don't use 'insertmode'
|
||||
current_sctx.sc_version = 1; // not in Vim9 script
|
||||
|
||||
/*
|
||||
* Save the current typeahead. This is required to allow using ":normal"
|
||||
@@ -8021,6 +8023,7 @@ restore_current_state(save_state_T *sst)
|
||||
opcount = sst->save_opcount;
|
||||
reg_executing = sst->save_reg_executing;
|
||||
msg_didout |= sst->save_msg_didout; // don't reset msg_didout now
|
||||
current_sctx.sc_version = sst->save_script_version;
|
||||
|
||||
// Restore the state (needed when called from a function executed for
|
||||
// 'indentexpr'). Update the mouse and cursor, they may have changed.
|
||||
|
Reference in New Issue
Block a user