summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.1283
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.1283')
-rw-r--r--data/vim/patches/8.1.1283191
1 files changed, 191 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.1283 b/data/vim/patches/8.1.1283
new file mode 100644
index 000000000..799e0094d
--- /dev/null
+++ b/data/vim/patches/8.1.1283
@@ -0,0 +1,191 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.1283
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 8.1.1283
+Problem: Delaying half a second after the top-bot message.
+Solution: Instead of the delay add "W" to the search count.
+Files: src/search.c
+
+
+*** ../vim-8.1.1282/src/search.c 2019-05-05 13:02:05.655655369 +0200
+--- src/search.c 2019-05-06 21:35:18.297971857 +0200
+***************
+*** 26,32 ****
+ #ifdef FEAT_VIMINFO
+ static void wvsp_one(FILE *fp, int idx, char *s, int sc);
+ #endif
+! static void search_stat(int dirc, pos_T *pos, char_u *msgbuf);
+
+ /*
+ * This file contains various searching-related routines. These fall into
+--- 26,32 ----
+ #ifdef FEAT_VIMINFO
+ static void wvsp_one(FILE *fp, int idx, char *s, int sc);
+ #endif
+! static void search_stat(int dirc, pos_T *pos, int show_top_bot_msg, char_u *msgbuf);
+
+ /*
+ * This file contains various searching-related routines. These fall into
+***************
+*** 1294,1299 ****
+--- 1294,1301 ----
+ */
+ for (;;)
+ {
++ int show_top_bot_msg = FALSE;
++
+ searchstr = pat;
+ dircp = NULL;
+ /* use previous pattern */
+***************
+*** 1524,1530 ****
+ if (!shortmess(SHM_SEARCH)
+ && ((dirc == '/' && LT_POS(pos, curwin->w_cursor))
+ || (dirc == '?' && LT_POS(curwin->w_cursor, pos))))
+! ui_delay(500L, FALSE); // leave some time for top_bot_msg
+
+ if (c == FAIL)
+ {
+--- 1526,1532 ----
+ if (!shortmess(SHM_SEARCH)
+ && ((dirc == '/' && LT_POS(pos, curwin->w_cursor))
+ || (dirc == '?' && LT_POS(curwin->w_cursor, pos))))
+! show_top_bot_msg = TRUE;
+
+ if (c == FAIL)
+ {
+***************
+*** 1581,1587 ****
+ && c != FAIL
+ && !shortmess(SHM_SEARCHCOUNT)
+ && msgbuf != NULL)
+! search_stat(dirc, &pos, msgbuf);
+
+ /*
+ * The search command can be followed by a ';' to do another search.
+--- 1583,1589 ----
+ && c != FAIL
+ && !shortmess(SHM_SEARCHCOUNT)
+ && msgbuf != NULL)
+! search_stat(dirc, &pos, show_top_bot_msg, msgbuf);
+
+ /*
+ * The search command can be followed by a ';' to do another search.
+***************
+*** 4911,4916 ****
+--- 4913,4919 ----
+ search_stat(
+ int dirc,
+ pos_T *pos,
++ int show_top_bot_msg,
+ char_u *msgbuf)
+ {
+ int save_ws = p_ws;
+***************
+*** 4979,4986 ****
+ }
+ if (cur > 0)
+ {
+! #define STAT_BUF_LEN 10
+ char t[STAT_BUF_LEN] = "";
+
+ #ifdef FEAT_RIGHTLEFT
+ if (curwin->w_p_rl && *curwin->w_p_rlc == 's')
+--- 4982,4990 ----
+ }
+ if (cur > 0)
+ {
+! #define STAT_BUF_LEN 12
+ char t[STAT_BUF_LEN] = "";
++ int len;
+
+ #ifdef FEAT_RIGHTLEFT
+ if (curwin->w_p_rl && *curwin->w_p_rlc == 's')
+***************
+*** 5006,5012 ****
+ else
+ vim_snprintf(t, STAT_BUF_LEN, "[%d/%d]", cur, cnt);
+ }
+! mch_memmove(msgbuf + STRLEN(msgbuf) - STRLEN(t), t, STRLEN(t));
+ if (dirc == '?' && cur == 100)
+ cur = -1;
+
+--- 5010,5024 ----
+ else
+ vim_snprintf(t, STAT_BUF_LEN, "[%d/%d]", cur, cnt);
+ }
+!
+! len = STRLEN(t);
+! if (show_top_bot_msg && len + 3 < STAT_BUF_LEN)
+! {
+! STRCPY(t + len, " W");
+! len += 2;
+! }
+!
+! mch_memmove(msgbuf + STRLEN(msgbuf) - len, t, len);
+ if (dirc == '?' && cur == 100)
+ cur = -1;
+
+*** ../vim-8.1.1282/src/testdir/test_search_stat.vim 2019-05-04 21:08:17.119814244 +0200
+--- src/testdir/test_search_stat.vim 2019-05-06 21:27:54.140328970 +0200
+***************
+*** 3,8 ****
+--- 3,10 ----
+ " This test is fragile, it might not work interactively, but it works when run
+ " as test!
+
++ source shared.vim
++
+ func! Test_search_stat()
+ new
+ set shortmess-=S
+***************
+*** 79,85 ****
+ set norl
+ endif
+
+! " 9) normal, back at top
+ call cursor(1,1)
+ let @/ = 'foobar'
+ let pat = '?foobar\s\+'
+--- 81,87 ----
+ set norl
+ endif
+
+! " 9) normal, back at bottom
+ call cursor(1,1)
+ let @/ = 'foobar'
+ let pat = '?foobar\s\+'
+***************
+*** 87,92 ****
+--- 89,95 ----
+ let stat = '\[20/20\]'
+ call assert_match(pat .. stat, g:a)
+ call assert_match('search hit TOP, continuing at BOTTOM', g:a)
++ call assert_match('\[20/20\] W', Screenline(&lines))
+
+ " 10) normal, no match
+ call cursor(1,1)
+*** ../vim-8.1.1282/src/version.c 2019-05-05 21:01:47.654072636 +0200
+--- src/version.c 2019-05-06 21:15:05.864367740 +0200
+***************
+*** 769,770 ****
+--- 769,772 ----
+ { /* Add new patch number below this line */
++ /**/
++ 1283,
+ /**/
+
+--
+How do you know when you have run out of invisible ink?
+
+ /// 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 ///