=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/window-copy.c,v retrieving revision 1.233 retrieving revision 1.234 diff -c -r1.233 -r1.234 *** src/usr.bin/tmux/window-copy.c 2019/08/14 10:02:24 1.233 --- src/usr.bin/tmux/window-copy.c 2019/09/09 08:01:21 1.234 *************** *** 1,4 **** ! /* $OpenBSD: window-copy.c,v 1.233 2019/08/14 10:02:24 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: window-copy.c,v 1.234 2019/09/09 08:01:21 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 820,825 **** --- 820,840 ---- } static enum window_copy_cmd_action + window_copy_cmd_cursor_down_and_cancel(struct window_copy_cmd_state *cs) + { + struct window_mode_entry *wme = cs->wme; + struct window_copy_mode_data *data = wme->data; + u_int np = wme->prefix, cy; + + cy = data->cy; + for (; np != 0; np--) + window_copy_cursor_down(wme, 0); + if (cy == data->cy && data->oy == 0) + return (WINDOW_COPY_CMD_CANCEL); + return (WINDOW_COPY_CMD_NOTHING); + } + + static enum window_copy_cmd_action window_copy_cmd_cursor_left(struct window_copy_cmd_state *cs) { struct window_mode_entry *wme = cs->wme; *************** *** 1810,1815 **** --- 1825,1832 ---- window_copy_cmd_copy_selection_and_cancel }, { "cursor-down", 0, 0, window_copy_cmd_cursor_down }, + { "cursor-down-and-cancel", 0, 0, + window_copy_cmd_cursor_down_and_cancel }, { "cursor-left", 0, 0, window_copy_cmd_cursor_left }, { "cursor-right", 0, 0,