mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
vim-patch:8.0.0516 (#8458)
Problem: A large count on a normal command causes trouble. (Dominique
Pelle)
Solution: Make "opcount" long.
b1e04fca37
This commit is contained in:
parent
4339fdd802
commit
c7350f542a
@ -745,11 +745,9 @@ EXTERN int State INIT(= NORMAL); /* This is the current state of the
|
|||||||
EXTERN bool finish_op INIT(= false); // true while an operator is pending
|
EXTERN bool finish_op INIT(= false); // true while an operator is pending
|
||||||
EXTERN long opcount INIT(= 0); // count for pending operator
|
EXTERN long opcount INIT(= 0); // count for pending operator
|
||||||
|
|
||||||
/*
|
// Ex Mode (Q) state
|
||||||
* ex mode (Q) state
|
EXTERN int exmode_active INIT(= 0); // zero, EXMODE_NORMAL or EXMODE_VIM
|
||||||
*/
|
EXTERN int ex_no_reprint INIT(= false); // no need to print after z or p
|
||||||
EXTERN int exmode_active INIT(= 0); /* zero, EXMODE_NORMAL or EXMODE_VIM */
|
|
||||||
EXTERN int ex_no_reprint INIT(= FALSE); /* no need to print after z or p */
|
|
||||||
|
|
||||||
EXTERN int Recording INIT(= FALSE); /* TRUE when recording into a reg. */
|
EXTERN int Recording INIT(= FALSE); /* TRUE when recording into a reg. */
|
||||||
EXTERN int Exec_reg INIT(= FALSE); /* TRUE when executing a register */
|
EXTERN int Exec_reg INIT(= FALSE); /* TRUE when executing a register */
|
||||||
|
@ -2314,28 +2314,36 @@ func! Test_normal53_digraph()
|
|||||||
bw!
|
bw!
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
func! Test_normal54_Ctrl_bsl()
|
func Test_normal54_Ctrl_bsl()
|
||||||
new
|
new
|
||||||
call setline(1, 'abcdefghijklmn')
|
call setline(1, 'abcdefghijklmn')
|
||||||
exe "norm! df\<c-\>\<c-n>"
|
exe "norm! df\<c-\>\<c-n>"
|
||||||
call assert_equal(['abcdefghijklmn'], getline(1,'$'))
|
call assert_equal(['abcdefghijklmn'], getline(1,'$'))
|
||||||
exe "norm! df\<c-\>\<c-g>"
|
exe "norm! df\<c-\>\<c-g>"
|
||||||
call assert_equal(['abcdefghijklmn'], getline(1,'$'))
|
call assert_equal(['abcdefghijklmn'], getline(1,'$'))
|
||||||
exe "norm! df\<c-\>m"
|
exe "norm! df\<c-\>m"
|
||||||
call assert_equal(['abcdefghijklmn'], getline(1,'$'))
|
call assert_equal(['abcdefghijklmn'], getline(1,'$'))
|
||||||
if !has("multi_byte")
|
if !has("multi_byte")
|
||||||
return
|
return
|
||||||
endif
|
endif
|
||||||
call setline(2, 'abcdefghijklmnāf')
|
call setline(2, 'abcdefghijklmnāf')
|
||||||
norm! 2gg0
|
norm! 2gg0
|
||||||
exe "norm! df\<Char-0x101>"
|
exe "norm! df\<Char-0x101>"
|
||||||
call assert_equal(['abcdefghijklmn', 'f'], getline(1,'$'))
|
call assert_equal(['abcdefghijklmn', 'f'], getline(1,'$'))
|
||||||
norm! 1gg0
|
norm! 1gg0
|
||||||
exe "norm! df\<esc>"
|
exe "norm! df\<esc>"
|
||||||
call assert_equal(['abcdefghijklmn', 'f'], getline(1,'$'))
|
call assert_equal(['abcdefghijklmn', 'f'], getline(1,'$'))
|
||||||
|
|
||||||
" clean up
|
" clean up
|
||||||
bw!
|
bw!
|
||||||
|
endfunc
|
||||||
|
|
||||||
|
func Test_normal_large_count()
|
||||||
|
" This may fail with 32bit long, how do we detect that?
|
||||||
|
new
|
||||||
|
normal o
|
||||||
|
normal 6666666666dL
|
||||||
|
bwipe!
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
" Test for the gr (virtual replace) command
|
" Test for the gr (virtual replace) command
|
||||||
|
Loading…
Reference in New Issue
Block a user