[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.38 and 1.39

version 1.38, 2010/01/25 21:37:40 version 1.39, 2010/01/25 22:34:11
Line 1161 
Line 1161 
 window_copy_cursor_next_word(struct window_pane *wp)  window_copy_cursor_next_word(struct window_pane *wp)
 {  {
         struct window_copy_mode_data    *data = wp->modedata;          struct window_copy_mode_data    *data = wp->modedata;
         struct screen                   *s = &data->screen;          struct screen                   *base_s = &wp->base;
         u_int                            px, py, xx, skip;          u_int                            px, py, xx, yy;
   
         px = data->cx;          px = data->cx;
         py = screen_hsize(&wp->base) + data->cy - data->oy;          py = screen_hsize(base_s) + data->cy - data->oy;
         xx = window_copy_find_length(wp, py);          xx = window_copy_find_length(wp, py);
           yy = screen_hsize(base_s) + screen_size_y(base_s) - 1;
   
         skip = 1;          /* Are we on spaces? Skip 'em! */
         if (px < xx) {          while (px > xx || window_copy_is_space(wp, px, py)) {
                 /* If currently on a space, skip space. */                  /* Nothing but spaces past the end of the line, so move down. */
                 if (window_copy_is_space(wp, px, py))                  if (px > xx) {
                         skip = 0;                          if (py == yy)
         } else                                  return;
                 skip = 0;                          window_copy_cursor_down(wp, 0);
         for (;;) {                          px = 0;
                 if (px >= xx) {  
                         if (skip) {  
                                 px = xx;  
                                 break;  
                         }  
   
                         while (px >= xx) {                          py = screen_hsize(base_s) + data->cy - data->oy;
                                 if (data->cy == screen_size_y(s) - 1) {                          xx = window_copy_find_length(wp, py);
                                         if (data->oy == 0)  
                                                 goto out;  
                                 }  
   
                                 px = 0;  
                                 window_copy_cursor_down(wp, 0);  
   
                                 py =screen_hsize(  
                                     &wp->base) + data->cy - data->oy;  
                                 xx = window_copy_find_length(wp, py);  
                         }  
                 }                  }
   
                 if (skip) {  
                         /* Currently skipping non-space (until space). */  
                         if (window_copy_is_space(wp, px, py))  
                                 break;  
                 } else {  
                         /* Currently skipping space (until non-space). */  
                         if (!window_copy_is_space(wp, px, py))  
                                 skip = 1;  
                 }  
   
                 px++;                  px++;
         }          }
   
 out:          /* Find the end of this word. */
           while (!window_copy_is_space(wp, px, py))
                   px++;
   
         window_copy_update_cursor(wp, px, data->cy);          window_copy_update_cursor(wp, px, data->cy);
         if (window_copy_update_selection(wp))          if (window_copy_update_selection(wp))
                 window_copy_redraw_lines(wp, data->cy, 1);                  window_copy_redraw_lines(wp, data->cy, 1);
Line 1239 
Line 1216 
                                 goto out;                                  goto out;
                         window_copy_cursor_up(wp, 0);                          window_copy_cursor_up(wp, 0);
   
                         py = screen_hsize(                          py = screen_hsize(&wp->base) + data->cy - data->oy;
                             &wp->base) + data->cy - data->oy;  
                         px = window_copy_find_length(wp, py);                          px = window_copy_find_length(wp, py);
                 }                  }
         }          }

Legend:
Removed from v.1.38  
changed lines
  Added in v.1.39