=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/grid-view.c,v retrieving revision 1.6 retrieving revision 1.7 diff -c -r1.6 -r1.7 *** src/usr.bin/tmux/grid-view.c 2009/07/13 10:43:52 1.6 --- src/usr.bin/tmux/grid-view.c 2009/10/13 15:38:37 1.7 *************** *** 1,4 **** ! /* $OpenBSD: grid-view.c,v 1.6 2009/07/13 10:43:52 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: grid-view.c,v 1.7 2009/10/13 15:38:37 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott *************** *** 92,106 **** { GRID_DEBUG(gd, "rupper=%u, rlower=%u", rupper, rlower); ! if (gd->flags & GRID_HISTORY && rupper == 0 && rlower == gd->sy - 1) { ! grid_scroll_line(gd); ! return; } - - rupper = grid_view_y(gd, rupper); - rlower = grid_view_y(gd, rlower); - - grid_move_lines(gd, rupper, rupper + 1, rlower - rupper); } /* Scroll region down. */ --- 92,111 ---- { GRID_DEBUG(gd, "rupper=%u, rlower=%u", rupper, rlower); ! if (gd->flags & GRID_HISTORY) { ! grid_collect_history(gd); ! if (rupper == 0 && rlower == gd->sy - 1) ! grid_scroll_history(gd); ! else { ! rupper = grid_view_y(gd, rupper); ! rlower = grid_view_y(gd, rlower); ! grid_scroll_history_region(gd, rupper, rlower); ! } ! } else { ! rupper = grid_view_y(gd, rupper); ! rlower = grid_view_y(gd, rlower); ! grid_move_lines(gd, rupper, rupper + 1, rlower - rupper); } } /* Scroll region down. */