Patch 8.1.1289
Problem:    May not have enough space to add "W" to search stats.
Solution:   Reserve a bit more space. (Christian Brabandt)
Files:      src/search.c


*** ../vim-8.1.1288/src/search.c        2019-05-07 21:29:08.427331900 +0200
--- src/search.c        2019-05-07 21:32:31.546229160 +0200
***************
*** 1219,1224 ****
--- 1219,1225 ----
      char_u        *ps;
      char_u        *msgbuf = NULL;
      size_t        len;
+ #define SEARCH_STAT_BUF_LEN 12
  
      /*
       * A line offset is not remembered, this is vi compatible.
***************
*** 1399,1406 ****
                else
                    // Use up to 'showcmd' column.
                    len = (int)(Rows - msg_row - 1) * Columns + sc_col - 1;
!               if (len < STRLEN(p) + 40 + 11)
!                   len = STRLEN(p) + 40 + 11;
            }
            else
                // Reserve enough space for the search pattern + offset.
--- 1400,1407 ----
                else
                    // Use up to 'showcmd' column.
                    len = (int)(Rows - msg_row - 1) * Columns + sc_col - 1;
!               if (len < STRLEN(p) + 40 + SEARCH_STAT_BUF_LEN + 1)
!                   len = STRLEN(p) + 40 + SEARCH_STAT_BUF_LEN + 1;
            }
            else
                // Reserve enough space for the search pattern + offset.
***************
*** 4982,5018 ****
      }
      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')
        {
            if (cur == OUT_OF_TIME)
!               vim_snprintf(t, STAT_BUF_LEN, "[?/??]");
            else if (cnt > 99 && cur > 99)
!               vim_snprintf(t, STAT_BUF_LEN, "[>99/>99]");
            else if (cnt > 99)
!               vim_snprintf(t, STAT_BUF_LEN, "[>99/%d]", cur);
            else
!               vim_snprintf(t, STAT_BUF_LEN, "[%d/%d]", cnt, cur);
        }
        else
  #endif
        {
            if (cur == OUT_OF_TIME)
!               vim_snprintf(t, STAT_BUF_LEN, "[?/??]");
            else if (cnt > 99 && cur > 99)
!               vim_snprintf(t, STAT_BUF_LEN, "[>99/>99]");
            else if (cnt > 99)
!               vim_snprintf(t, STAT_BUF_LEN, "[%d/>99]", cur);
            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;
--- 4983,5018 ----
      }
      if (cur > 0)
      {
!       char    t[SEARCH_STAT_BUF_LEN] = "";
        int     len;
  
  #ifdef FEAT_RIGHTLEFT
        if (curwin->w_p_rl && *curwin->w_p_rlc == 's')
        {
            if (cur == OUT_OF_TIME)
!               vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[?/??]");
            else if (cnt > 99 && cur > 99)
!               vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[>99/>99]");
            else if (cnt > 99)
!               vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[>99/%d]", cur);
            else
!               vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[%d/%d]", cnt, cur);
        }
        else
  #endif
        {
            if (cur == OUT_OF_TIME)
!               vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[?/??]");
            else if (cnt > 99 && cur > 99)
!               vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[>99/>99]");
            else if (cnt > 99)
!               vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[%d/>99]", cur);
            else
!               vim_snprintf(t, SEARCH_STAT_BUF_LEN, "[%d/%d]", cur, cnt);
        }
  
        len = STRLEN(t);
!       if (show_top_bot_msg && len + 3 < SEARCH_STAT_BUF_LEN)
        {
            STRCPY(t + len, " W");
            len += 2;
*** ../vim-8.1.1288/src/version.c       2019-05-07 21:29:08.427331900 +0200
--- src/version.c       2019-05-07 21:33:53.253784068 +0200
***************
*** 769,770 ****
--- 769,772 ----
  {   /* Add new patch number below this line */
+ /**/
+     1289,
  /**/

-- 
Beer & pretzels can't be served at the same time in any bar or restaurant.
                [real standing law in North Dakota, United States of America]

 /// 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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/201905071934.x47JYrgY001558%40masaka.moolenaar.net.
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui