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

Diff for /src/usr.bin/tmux/cmd-find.c between version 1.55 and 1.56

version 1.55, 2017/07/07 07:13:14 version 1.56, 2017/08/28 12:36:38
Line 510 
Line 510 
         /* Check for pane ids starting with %. */          /* Check for pane ids starting with %. */
         if (*pane == '%') {          if (*pane == '%') {
                 fs->wp = window_pane_find_by_id_str(pane);                  fs->wp = window_pane_find_by_id_str(pane);
                 if (fs->wp == NULL || window_pane_outside(fs->wp))                  if (fs->wp == NULL)
                         return (-1);                          return (-1);
                 fs->w = fs->wp->window;                  fs->w = fs->wp->window;
                 return (cmd_find_best_session_with_window(fs));                  return (cmd_find_best_session_with_window(fs));
Line 547 
Line 547 
         /* Check for pane ids starting with %. */          /* Check for pane ids starting with %. */
         if (*pane == '%') {          if (*pane == '%') {
                 fs->wp = window_pane_find_by_id_str(pane);                  fs->wp = window_pane_find_by_id_str(pane);
                 if (fs->wp == NULL || window_pane_outside(fs->wp))                  if (fs->wp == NULL)
                         return (-1);                          return (-1);
                 fs->w = fs->wp->window;                  fs->w = fs->wp->window;
                 return (cmd_find_best_winlink_with_window(fs));                  return (cmd_find_best_winlink_with_window(fs));
Line 579 
Line 579 
         /* Check for pane ids starting with %. */          /* Check for pane ids starting with %. */
         if (*pane == '%') {          if (*pane == '%') {
                 fs->wp = window_pane_find_by_id_str(pane);                  fs->wp = window_pane_find_by_id_str(pane);
                 if (fs->wp == NULL || window_pane_outside(fs->wp))                  if (fs->wp == NULL)
                         return (-1);                          return (-1);
                 if (fs->wp->window != fs->w)                  if (fs->wp->window != fs->w)
                         return (-1);                          return (-1);
Line 591 
Line 591 
                 if (fs->w->last == NULL)                  if (fs->w->last == NULL)
                         return (-1);                          return (-1);
                 fs->wp = fs->w->last;                  fs->wp = fs->w->last;
                 if (fs->wp == NULL || window_pane_outside(fs->wp))                  if (fs->wp == NULL)
                         return (-1);                          return (-1);
                 return (0);                  return (0);
         } else if (strcmp(pane, "{up-of}") == 0) {          } else if (strcmp(pane, "{up-of}") == 0) {
                 fs->wp = window_pane_find_up(fs->w->active);                  fs->wp = window_pane_find_up(fs->w->active);
                 if (fs->wp == NULL || window_pane_outside(fs->wp))                  if (fs->wp == NULL)
                         return (-1);                          return (-1);
                 return (0);                  return (0);
         } else if (strcmp(pane, "{down-of}") == 0) {          } else if (strcmp(pane, "{down-of}") == 0) {
                 fs->wp = window_pane_find_down(fs->w->active);                  fs->wp = window_pane_find_down(fs->w->active);
                 if (fs->wp == NULL || window_pane_outside(fs->wp))                  if (fs->wp == NULL)
                         return (-1);                          return (-1);
                 return (0);                  return (0);
         } else if (strcmp(pane, "{left-of}") == 0) {          } else if (strcmp(pane, "{left-of}") == 0) {
                 fs->wp = window_pane_find_left(fs->w->active);                  fs->wp = window_pane_find_left(fs->w->active);
                 if (fs->wp == NULL || window_pane_outside(fs->wp))                  if (fs->wp == NULL)
                         return (-1);                          return (-1);
                 return (0);                  return (0);
         } else if (strcmp(pane, "{right-of}") == 0) {          } else if (strcmp(pane, "{right-of}") == 0) {
                 fs->wp = window_pane_find_right(fs->w->active);                  fs->wp = window_pane_find_right(fs->w->active);
                 if (fs->wp == NULL || window_pane_outside(fs->wp))                  if (fs->wp == NULL)
                         return (-1);                          return (-1);
                 return (0);                  return (0);
         }          }
Line 627 
Line 627 
                         fs->wp = window_pane_next_by_number(fs->w, wp, n);                          fs->wp = window_pane_next_by_number(fs->w, wp, n);
                 else                  else
                         fs->wp = window_pane_previous_by_number(fs->w, wp, n);                          fs->wp = window_pane_previous_by_number(fs->w, wp, n);
                 if (fs->wp != NULL && !window_pane_outside(fs->wp))                  if (fs->wp != NULL)
                         return (0);                          return (0);
         }          }
   
Line 635 
Line 635 
         idx = strtonum(pane, 0, INT_MAX, &errstr);          idx = strtonum(pane, 0, INT_MAX, &errstr);
         if (errstr == NULL) {          if (errstr == NULL) {
                 fs->wp = window_pane_at_index(fs->w, idx);                  fs->wp = window_pane_at_index(fs->w, idx);
                 if (fs->wp != NULL && !window_pane_outside(fs->wp))                  if (fs->wp != NULL)
                         return (0);                          return (0);
         }          }
   
         /* Try as a description. */          /* Try as a description. */
         fs->wp = window_find_string(fs->w, pane);          fs->wp = window_find_string(fs->w, pane);
         if (fs->wp != NULL && !window_pane_outside(fs->wp))          if (fs->wp != NULL)
                 return (0);                  return (0);
   
         return (-1);          return (-1);
Line 689 
Line 689 
         if (fs->w != fs->wl->window)          if (fs->w != fs->wl->window)
                 return (0);                  return (0);
   
         if (!window_has_pane(fs->w, fs->wp))          return (window_has_pane(fs->w, fs->wp));
                 return (0);  
         return (!window_pane_outside(fs->wp));  
 }  }
   
 /* Copy a state. */  /* Copy a state. */
Line 818 
Line 816 
 {  {
         if (cmd_find_from_window(fs, wp->window) != 0)          if (cmd_find_from_window(fs, wp->window) != 0)
                 return (-1);                  return (-1);
         if (window_pane_outside(wp)) {  
                 cmd_find_clear_state(fs, 0);  
                 return (-1);  
         }  
         fs->wp = wp;          fs->wp = wp;
   
         cmd_find_log_state(__func__, fs);          cmd_find_log_state(__func__, fs);
Line 1016 
Line 1010 
                 switch (type) {                  switch (type) {
                 case CMD_FIND_PANE:                  case CMD_FIND_PANE:
                         fs->wp = cmd_mouse_pane(m, &fs->s, &fs->wl);                          fs->wp = cmd_mouse_pane(m, &fs->s, &fs->wl);
                         if (fs->wp != NULL && !window_pane_outside(fs->wp))                          if (fs->wp != NULL)
                                 fs->w = fs->wl->window;                                  fs->w = fs->wl->window;
                         break;                          break;
                 case CMD_FIND_WINDOW:                  case CMD_FIND_WINDOW:

Legend:
Removed from v.1.55  
changed lines
  Added in v.1.56