[BACK]Return to window-copy.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/window-copy.c between version 1.307 and 1.308

version 1.307, 2020/12/22 09:22:14 version 1.308, 2020/12/28 09:36:26
Line 272 
Line 272 
         u_char          *searchmark;          u_char          *searchmark;
         int              searchcount;          int              searchcount;
         int              searchmore;          int              searchmore;
         int              searchthis;          int              searchall;
         int              searchx;          int              searchx;
         int              searchy;          int              searchy;
         int              searcho;          int              searcho;
Line 396 
Line 396 
                 data->searchstr = NULL;                  data->searchstr = NULL;
         }          }
         data->searchx = data->searchy = data->searcho = -1;          data->searchx = data->searchy = data->searcho = -1;
           data->searchall = 1;
   
         data->jumptype = WINDOW_COPY_OFF;          data->jumptype = WINDOW_COPY_OFF;
         data->jumpchar = '\0';          data->jumpchar = '\0';
Line 2334 
Line 2335 
                 if (clear != WINDOW_COPY_CMD_CLEAR_NEVER) {                  if (clear != WINDOW_COPY_CMD_CLEAR_NEVER) {
                         window_copy_clear_marks(wme);                          window_copy_clear_marks(wme);
                         data->searchx = data->searchy = -1;                          data->searchx = data->searchy = -1;
                 } else if (data->searchthis != -1) {  
                         data->searchthis = -1;  
                         action = WINDOW_COPY_CMD_REDRAW;  
                 }                  }
                 if (action == WINDOW_COPY_CMD_NOTHING)                  if (action == WINDOW_COPY_CMD_NOTHING)
                         action = WINDOW_COPY_CMD_REDRAW;                          action = WINDOW_COPY_CMD_REDRAW;
Line 2929 
Line 2927 
         if (data->timeout)          if (data->timeout)
                 return (0);                  return (0);
   
         if (wp->searchstr == NULL || wp->searchregex != regex)          if (data->searchall || wp->searchstr == NULL ||
               wp->searchregex != regex) {
                 visible_only = 0;                  visible_only = 0;
         else                  data->searchall = 0;
           } else
                 visible_only = (strcmp(wp->searchstr, str) == 0);                  visible_only = (strcmp(wp->searchstr, str) == 0);
         free(wp->searchstr);          free(wp->searchstr);
         wp->searchstr = xstrdup(str);          wp->searchstr = xstrdup(str);
Line 3116 
Line 3116 
   
         if (!visible_only) {          if (!visible_only) {
                 if (stopped) {                  if (stopped) {
                         data->searchthis = -1;  
                         if (nfound > 1000)                          if (nfound > 1000)
                                 data->searchcount = 1000;                                  data->searchcount = 1000;
                         else if (nfound > 100)                          else if (nfound > 100)
Line 3127 
Line 3126 
                                 data->searchcount = -1;                                  data->searchcount = -1;
                         data->searchmore = 1;                          data->searchmore = 1;
                 } else {                  } else {
                         if (which != -1)  
                                 data->searchthis = 1 + nfound - which;  
                         else  
                                 data->searchthis = -1;  
                         data->searchcount = nfound;                          data->searchcount = nfound;
                         data->searchmore = 0;                          data->searchmore = 0;
                 }                  }
Line 3366 
Line 3361 
                         if (data->searchcount == -1) {                          if (data->searchcount == -1) {
                                 size = xsnprintf(hdr, sizeof hdr,                                  size = xsnprintf(hdr, sizeof hdr,
                                     "[%u/%u]", data->oy, hsize);                                      "[%u/%u]", data->oy, hsize);
                         } else if (data->searchthis == -1) {                          } else {
                                 size = xsnprintf(hdr, sizeof hdr,                                  size = xsnprintf(hdr, sizeof hdr,
                                     "(%d%s results) [%u/%u]", data->searchcount,                                      "(%d%s results) [%u/%u]", data->searchcount,
                                     data->searchmore ? "+" : "", data->oy,                                      data->searchmore ? "+" : "", data->oy,
                                     hsize);                                      hsize);
                         } else {  
                                 size = xsnprintf(hdr, sizeof hdr,  
                                     "(%d/%d results) [%u/%u]", data->searchthis,  
                                     data->searchcount, data->oy, hsize);  
                         }                          }
                 }                  }
                 if (size > screen_size_x(s))                  if (size > screen_size_x(s))

Legend:
Removed from v.1.307  
changed lines
  Added in v.1.308