Mercurial > vim
diff src/ex_getln.c @ 12664:42cd1f315e8b v8.0.1210
patch 8.0.1210: CTRL-G and CTRL-T are ignored with typeahead
commit https://github.com/vim/vim/commit/f8e8c0643b1cd97db11912bc4f773e1328a0da02
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Oct 22 14:44:17 2017 +0200
patch 8.0.1210: CTRL-G and CTRL-T are ignored with typeahead
Problem: When typing a search pattern CTRL-G and CTRL-T are ignored when
there is typeahead.
Solution: Don't pass SEARCH_PEEK and don't call char_avail(). (haya14busa,
closes #2233)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 22 Oct 2017 14:45:05 +0200 |
parents | 0a9dacb8826a |
children | e769c912fcd9 |
line wrap: on
line diff
--- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -159,6 +159,20 @@ trigger_cmd_autocmd(int typechar, int ev #endif /* + * Abandon the command line. + */ + static void +abandon_cmdline(void) +{ + vim_free(ccline.cmdbuff); + ccline.cmdbuff = NULL; + if (msg_scrolled == 0) + compute_cmdrow(); + MSG(""); + redraw_cmdline = TRUE; +} + +/* * getcmdline() - accept a command line starting with firstc. * * firstc == ':' get ":" command line. @@ -1702,11 +1716,8 @@ getcmdline( if (p_is && !cmd_silent && (firstc == '/' || firstc == '?')) { pos_T t; - int search_flags = SEARCH_KEEP + SEARCH_NOOF - + SEARCH_PEEK; - - if (char_avail()) - continue; + int search_flags = SEARCH_KEEP + SEARCH_NOOF; + cursor_off(); out_flush(); if (c == Ctrl_G) @@ -2083,15 +2094,8 @@ returncmd: } #endif - if (gotesc) /* abandon command line */ - { - vim_free(ccline.cmdbuff); - ccline.cmdbuff = NULL; - if (msg_scrolled == 0) - compute_cmdrow(); - MSG(""); - redraw_cmdline = TRUE; - } + if (gotesc) + abandon_cmdline(); } /*