/*
* Open a window to edit the command line (and history).
*/
- save_cmdline(&save_ccline);
c = ex_window();
- restore_cmdline(&save_ccline);
some_key_typed = TRUE;
}
}
redraw_later(SOME_VALID);
/* Save the command line info, can be used recursively. */
- save_ccline = ccline;
- ccline.cmdbuff = NULL;
- ccline.cmdprompt = NULL;
+ save_cmdline(&save_ccline);
/* No Ex mode here! */
exmode_active = 0;
# endif
/* Restore the command line info. */
- ccline = save_ccline;
+ restore_cmdline(&save_ccline);
cmdwin_type = 0;
exmode_active = save_exmode;
call assert_equal(-1, histnr('abc'))
call assert_fails('call histnr([])', 'E730:')
endfunction
+
+function Test_Search_history_window()
+ new
+ call setline(1, ['a', 'b', 'a', 'b'])
+ 1
+ call feedkeys("/a\<CR>", 'xt')
+ call assert_equal('a', getline('.'))
+ 1
+ call feedkeys("/b\<CR>", 'xt')
+ call assert_equal('b', getline('.'))
+ 1
+ " select the previous /a command
+ call feedkeys("q/kk\<CR>", 'x!')
+ call assert_equal('a', getline('.'))
+ call assert_equal('a', @/)
+ bwipe!
+endfunc