vim-patch:8.1.0020: cannot tell whether a register is executing or recording

Problem:    Cannot tell whether a register is being used for executing or
            recording.
Solution:   Add reg_executing() and reg_recording(). (Hirohito Higashi,
            closes vim/vim#2745)  Rename the global variables for consistency.  Store
            the register name in reg_executing.
0b6d911e5d
This commit is contained in:
Jan Edmund Lazo
2019-05-26 19:39:38 -04:00
parent fb4d5a1846
commit 21f160746a
13 changed files with 83 additions and 21 deletions

View File

@@ -1076,3 +1076,28 @@ func Test_func_sandbox()
call assert_fails('call Fsandbox()', 'E48:')
delfunc Fsandbox
endfunc
" Test for reg_recording() and reg_executing()
func Test_reg_executing_and_recording()
let s:reg_stat = ''
func s:save_reg_stat()
let s:reg_stat = reg_recording() . ':' . reg_executing()
return ''
endfunc
new
call s:save_reg_stat()
call assert_equal(':', s:reg_stat)
call feedkeys("qa\"=s:save_reg_stat()\<CR>pq", 'xt')
call assert_equal('a:', s:reg_stat)
call feedkeys("@a", 'xt')
call assert_equal(':a', s:reg_stat)
call feedkeys("qb@aq", 'xt')
call assert_equal('b:a', s:reg_stat)
call feedkeys("q\"\"=s:save_reg_stat()\<CR>pq", 'xt')
call assert_equal('":', s:reg_stat)
bwipe!
delfunc s:save_reg_stat
unlet s:reg_stat
endfunc