=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/window-copy.c,v retrieving revision 1.220 retrieving revision 1.221 diff -c -r1.220 -r1.221 *** src/usr.bin/tmux/window-copy.c 2019/05/03 18:42:40 1.220 --- src/usr.bin/tmux/window-copy.c 2019/05/07 19:46:17 1.221 *************** *** 1,4 **** ! /* $OpenBSD: window-copy.c,v 1.220 2019/05/03 18:42:40 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: window-copy.c,v 1.221 2019/05/07 19:46:17 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 902,910 **** { struct window_mode_entry *wme = cs->wme; struct window_copy_mode_data *data = wme->data; ! data->cx = 0; data->cy = screen_size_y(&data->screen) - 1; data->oy = 0; window_copy_update_selection(wme, 1); --- 902,915 ---- { struct window_mode_entry *wme = cs->wme; struct window_copy_mode_data *data = wme->data; + u_int oy; ! oy = screen_hsize(data->backing) + data->cy - data->oy; ! if (data->lineflag == LINE_SEL_RIGHT_LEFT && oy == data->endsely) ! window_copy_other_end(wme); ! data->cy = screen_size_y(&data->screen) - 1; + data->cx = window_copy_find_length(wme, data->cy); data->oy = 0; window_copy_update_selection(wme, 1); *************** *** 916,924 **** { struct window_mode_entry *wme = cs->wme; struct window_copy_mode_data *data = wme->data; ! data->cx = 0; data->cy = 0; data->oy = screen_hsize(data->backing); window_copy_update_selection(wme, 1); --- 921,934 ---- { struct window_mode_entry *wme = cs->wme; struct window_copy_mode_data *data = wme->data; + u_int oy; ! oy = screen_hsize(data->backing) + data->cy - data->oy; ! if (data->lineflag == LINE_SEL_LEFT_RIGHT && oy == data->sely) ! window_copy_other_end(wme); ! data->cy = 0; + data->cx = 0; data->oy = screen_hsize(data->backing); window_copy_update_selection(wme, 1);