0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

patch 8.0.0516: a large count on a normal command causes trouble

Problem:    A large count on a normal command causes trouble. (Dominique
            Pelle)
Solution:   Make "opcount" long.
This commit is contained in:
Bram Moolenaar
2017-03-29 13:08:35 +02:00
parent d5d37537d1
commit b1e04fca37
3 changed files with 30 additions and 20 deletions

View File

@@ -932,10 +932,10 @@ EXTERN int State INIT(= NORMAL); /* This is the current state of the
* command interpreter. */ * command interpreter. */
EXTERN int finish_op INIT(= FALSE);/* TRUE while an operator is pending */ EXTERN int finish_op INIT(= FALSE);/* TRUE while an operator is pending */
EXTERN int 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 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 ex_no_reprint INIT(= FALSE); /* no need to print after z or p */

View File

@@ -2259,7 +2259,7 @@ 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>"
@@ -2282,3 +2282,11 @@ func! Test_normal54_Ctrl_bsl()
" clean up " clean up
bw! bw!
endfunc endfunc
func Test_normal_large_count()
" This may fail with 32bit long, how do we detect that?
new
normal o
normal 6666666666dL
bwipe!
endfunc

View File

@@ -764,6 +764,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
516,
/**/ /**/
515, 515,
/**/ /**/