Patch 8.0.1210
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)
Files:      src/ex_getln.c, src/testdir/test_search.vim


*** ../vim-8.0.1209/src/ex_getln.c      2017-10-19 18:35:46.090557740 +0200
--- src/ex_getln.c      2017-10-22 14:41:23.480917306 +0200
***************
*** 159,164 ****
--- 159,178 ----
  #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,1712 ****
                if (p_is && !cmd_silent && (firstc == '/' || firstc == '?'))
                {
                    pos_T  t;
!                   int    search_flags = SEARCH_KEEP + SEARCH_NOOF
!                                                            + SEARCH_PEEK;
  
-                   if (char_avail())
-                       continue;
                    cursor_off();
                    out_flush();
                    if (c == Ctrl_G)
--- 1716,1723 ----
                if (p_is && !cmd_silent && (firstc == '/' || firstc == '?'))
                {
                    pos_T  t;
!                   int    search_flags = SEARCH_KEEP + SEARCH_NOOF;
  
                    cursor_off();
                    out_flush();
                    if (c == Ctrl_G)
***************
*** 2083,2097 ****
        }
  #endif
  
!       if (gotesc)         /* abandon command line */
!       {
!           vim_free(ccline.cmdbuff);
!           ccline.cmdbuff = NULL;
!           if (msg_scrolled == 0)
!               compute_cmdrow();
!           MSG("");
!           redraw_cmdline = TRUE;
!       }
      }
  
      /*
--- 2094,2101 ----
        }
  #endif
  
!       if (gotesc)
!           abandon_cmdline();
      }
  
      /*
*** ../vim-8.0.1209/src/testdir/test_search.vim 2017-10-15 22:07:35.211683156 
+0200
--- src/testdir/test_search.vim 2017-10-22 14:41:23.480917306 +0200
***************
*** 356,361 ****
--- 356,381 ----
    bw!
  endfunc
  
+ func Test_search_cmdline5()
+   if !exists('+incsearch')
+     return
+   endif
+   " Do not call test_override("char_avail", 1) so that <C-g> and <C-t> work
+   " regardless char_avail.
+   new
+   call setline(1, ['  1 the first', '  2 the second', '  3 the third'])
+   set incsearch
+   1
+   call feedkeys("/the\<c-g>\<c-g>\<cr>", 'tx')
+   call assert_equal('  3 the third', getline('.'))
+   $
+   call feedkeys("?the\<c-t>\<c-t>\<c-t>\<cr>", 'tx')
+   call assert_equal('  2 the second', getline('.'))
+   " clean up
+   set noincsearch
+   bw!
+ endfunc
+ 
  " Tests for regexp with various magic settings
  func Test_search_regexp()
    enew!
*** ../vim-8.0.1209/src/version.c       2017-10-22 14:23:40.124199208 +0200
--- src/version.c       2017-10-22 14:43:15.976148001 +0200
***************
*** 763,764 ****
--- 763,766 ----
  {   /* Add new patch number below this line */
+ /**/
+     1210,
  /**/

-- 
I'm sure that I asked CBuilder to do a "full" install.  Looks like I got
a "fool" install, instead.              Charles E Campbell, Jr, PhD


 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui