summaryrefslogtreecommitdiffstats
path: root/window-copy.c
diff options
context:
space:
mode:
authornicm <nicm>2019-05-07 19:46:17 +0000
committernicm <nicm>2019-05-07 19:46:17 +0000
commitd53d3bce59daa26720682dfcb6bcad182851c9a0 (patch)
tree57c9356ae04b8dbf679f6ede10e58936da7a1e20 /window-copy.c
parentfcd0e3082b3cf71a60d8cbc61a9767b4500ae654 (diff)
Adjust the same bit to adjust the selection for history-top and
history-bottom as for cursor-up and cursor-down. GitHub issue 1723.
Diffstat (limited to 'window-copy.c')
-rw-r--r--window-copy.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/window-copy.c b/window-copy.c
index 4ff6b9dd..95319959 100644
--- a/window-copy.c
+++ b/window-copy.c
@@ -902,9 +902,14 @@ window_copy_cmd_history_bottom(struct window_copy_cmd_state *cs)
{
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->cx = 0;
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,9 +921,14 @@ window_copy_cmd_history_top(struct window_copy_cmd_state *cs)
{
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->cx = 0;
data->cy = 0;
+ data->cx = 0;
data->oy = screen_hsize(data->backing);
window_copy_update_selection(wme, 1);