Patch 8.1.0274
Problem:    'incsearch' triggers on ":source".
Solution:   Check for the whole command name.
Files:      src/ex_getln.c, src/testdir/test_search.vim


*** ../vim-8.1.0273/src/ex_getln.c      2018-08-11 19:02:18.038566056 +0200
--- src/ex_getln.c      2018-08-11 19:08:55.639612407 +0200
***************
*** 293,299 ****
                // Skip over "substitute" to find the pattern separator.
                for (p = cmd; ASCII_ISALPHA(*p); ++p)
                    ;
!               if (*p != NUL)
                {
                    delim = *p++;
                    end = skip_regexp(p, delim, p_magic, NULL);
--- 293,302 ----
                // Skip over "substitute" to find the pattern separator.
                for (p = cmd; ASCII_ISALPHA(*p); ++p)
                    ;
!               if (*p != NUL
!                       && (STRNCMP(cmd, "substitute", p - cmd) == 0
!                           || STRNCMP(cmd, "global", p - cmd) == 0
!                           || STRNCMP(cmd, "vglobal", p - cmd) == 0))
                {
                    delim = *p++;
                    end = skip_regexp(p, delim, p_magic, NULL);
*** ../vim-8.1.0273/src/testdir/test_search.vim 2018-08-11 16:40:39.068311966 
+0200
--- src/testdir/test_search.vim 2018-08-11 19:11:57.066276471 +0200
***************
*** 342,367 ****
    bw!
  endfunc
  
- func Test_search_cmdline3()
-   if !exists('+incsearch')
-     return
-   endif
-   " need to disable char_avail,
-   " so that expansion of commandline works
-   call test_override("char_avail", 1)
-   new
-   call setline(1, ['  1', '  2 the~e', '  3 the theother'])
-   set incsearch
-   1
-   " first match
-   call feedkeys("/the\<c-l>\<cr>", 'tx')
-   call assert_equal('  2 the~e', getline('.'))
-   " clean up
-   set noincsearch
-   call test_override("char_avail", 0)
-   bw!
- endfunc
- 
  func Cmdline3_prep()
    " need to disable char_avail,
    " so that expansion of commandline works
--- 342,347 ----
***************
*** 377,382 ****
--- 357,375 ----
    bw!
  endfunc
  
+ func Test_search_cmdline3()
+   if !exists('+incsearch')
+     return
+   endif
+   call Cmdline3_prep()
+   1
+   " first match
+   call feedkeys("/the\<c-l>\<cr>", 'tx')
+   call assert_equal('  2 the~e', getline('.'))
+ 
+   call Cmdline3_cleanup()
+ endfunc
+ 
  func Test_search_cmdline3s()
    if !exists('+incsearch')
      return
***************
*** 385,390 ****
--- 378,389 ----
    1
    call feedkeys(":%s/the\<c-l>/xxx\<cr>", 'tx')
    call assert_equal('  2 xxxe', getline('.'))
+   undo
+   call feedkeys(":%subs/the\<c-l>/xxx\<cr>", 'tx')
+   call assert_equal('  2 xxxe', getline('.'))
+   undo
+   call feedkeys(":%substitute/the\<c-l>/xxx\<cr>", 'tx')
+   call assert_equal('  2 xxxe', getline('.'))
  
    call Cmdline3_cleanup()
  endfunc
***************
*** 397,402 ****
--- 396,404 ----
    1
    call feedkeys(":g/the\<c-l>/d\<cr>", 'tx')
    call assert_equal('  3 the theother', getline(2))
+   undo
+   call feedkeys(":global/the\<c-l>/d\<cr>", 'tx')
+   call assert_equal('  3 the theother', getline(2))
  
    call Cmdline3_cleanup()
  endfunc
***************
*** 410,415 ****
--- 412,421 ----
    call feedkeys(":v/the\<c-l>/d\<cr>", 'tx')
    call assert_equal(1, line('$'))
    call assert_equal('  2 the~e', getline(1))
+   undo
+   call feedkeys(":vglobal/the\<c-l>/d\<cr>", 'tx')
+   call assert_equal(1, line('$'))
+   call assert_equal('  2 the~e', getline(1))
  
    call Cmdline3_cleanup()
  endfunc
***************
*** 518,524 ****
    " so that expansion of commandline works
    call test_override("char_avail", 1)
    new
!   let @/='b'
    call setline(1, [' bbvimb', ''])
    set incsearch
    " first match
--- 524,530 ----
    " so that expansion of commandline works
    call test_override("char_avail", 1)
    new
!   let @/ = 'b'
    call setline(1, [' bbvimb', ''])
    set incsearch
    " first match
*** ../vim-8.1.0273/src/version.c       2018-08-11 19:02:18.038566056 +0200
--- src/version.c       2018-08-11 19:11:29.546478790 +0200
***************
*** 796,797 ****
--- 796,799 ----
  {   /* Add new patch number below this line */
+ /**/
+     274,
  /**/

-- 
You can be stopped by the police for biking over 65 miles per hour.
You are not allowed to walk across a street on your hands.
                [real standing laws in Connecticut, United States of America]

 /// Bram Moolenaar -- b...@moolenaar.net -- 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 vim_dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui