To: vim_dev@googlegroups.com Subject: Patch 8.1.0556 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.1.0556 Problem: Saving/restoring search patterns share saved last_idx. Solution: Use a separate saved last_idx for saving search patterns for functions and incremental search. Files: src/search.c *** ../vim-8.1.0555/src/search.c 2018-12-01 13:14:40.883412219 +0100 --- src/search.c 2018-12-01 21:01:43.478639117 +0100 *************** *** 93,104 **** /* copy of spats[], for keeping the search patterns while executing autocmds */ static struct spat saved_spats[2]; # ifdef FEAT_SEARCH_EXTRA ! /* copy of spats[RE_SEARCH], for keeping the search patterns while incremental ! * searching */ ! static struct spat saved_last_search_spat; ! static int did_save_last_search_spat = 0; ! static int saved_last_idx = 0; ! static int saved_no_hlsearch = 0; # endif static char_u *mr_pattern = NULL; /* pattern used by search_regcomp() */ --- 93,100 ---- /* copy of spats[], for keeping the search patterns while executing autocmds */ static struct spat saved_spats[2]; # ifdef FEAT_SEARCH_EXTRA ! static int saved_spats_last_idx = 0; ! static int saved_spats_no_hlsearch = 0; # endif static char_u *mr_pattern = NULL; /* pattern used by search_regcomp() */ *************** *** 310,317 **** if (spats[1].pat != NULL) saved_spats[1].pat = vim_strsave(spats[1].pat); #ifdef FEAT_SEARCH_EXTRA ! saved_last_idx = last_idx; ! saved_no_hlsearch = no_hlsearch; #endif } } --- 306,313 ---- if (spats[1].pat != NULL) saved_spats[1].pat = vim_strsave(spats[1].pat); #ifdef FEAT_SEARCH_EXTRA ! saved_spats_last_idx = last_idx; ! saved_spats_no_hlsearch = no_hlsearch; #endif } } *************** *** 329,336 **** vim_free(spats[1].pat); spats[1] = saved_spats[1]; #ifdef FEAT_SEARCH_EXTRA ! last_idx = saved_last_idx; ! set_no_hlsearch(saved_no_hlsearch); #endif } } --- 325,332 ---- vim_free(spats[1].pat); spats[1] = saved_spats[1]; #ifdef FEAT_SEARCH_EXTRA ! last_idx = saved_spats_last_idx; ! set_no_hlsearch(saved_spats_no_hlsearch); #endif } } *************** *** 354,359 **** --- 350,362 ---- #endif #ifdef FEAT_SEARCH_EXTRA + // copy of spats[RE_SEARCH], for keeping the search patterns while incremental + // searching + static struct spat saved_last_search_spat; + static int did_save_last_search_spat = 0; + static int saved_last_idx = 0; + static int saved_no_hlsearch = 0; + /* * Save and restore the search pattern for incremental highlight search * feature. *************** *** 575,581 **** saved_spats[idx].pat = NULL; else saved_spats[idx].pat = vim_strsave(spats[idx].pat); ! saved_last_idx = last_idx; } # ifdef FEAT_SEARCH_EXTRA /* If 'hlsearch' set and search pat changed: need redraw. */ --- 578,584 ---- saved_spats[idx].pat = NULL; else saved_spats[idx].pat = vim_strsave(spats[idx].pat); ! saved_spats_last_idx = last_idx; } # ifdef FEAT_SEARCH_EXTRA /* If 'hlsearch' set and search pat changed: need redraw. */ *** ../vim-8.1.0555/src/version.c 2018-12-01 13:14:40.883412219 +0100 --- src/version.c 2018-12-01 21:06:48.136433537 +0100 *************** *** 794,795 **** --- 794,797 ---- { /* Add new patch number below this line */ + /**/ + 556, /**/ -- Corn oil comes from corn and olive oil comes from olives, so where does baby oil come from? /// Bram Moolenaar -- Bram@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 ///