Only use RI at the top of the screen.

This commit is contained in:
Nicholas Marriott 2009-02-12 00:03:58 +00:00
parent 959eeef505
commit 5a04f74d81
2 changed files with 9 additions and 5 deletions

View File

@ -1,5 +1,7 @@
11 February 2009 11 February 2009
* Only use ri when actually at the top of the screen; just move the cursor up
otherwise.
* FreeBSD's console wraps lines at $COLUMNS - 1 rather than $COLUMNS (the * FreeBSD's console wraps lines at $COLUMNS - 1 rather than $COLUMNS (the
cursor can never be beyond $COLUMNS - 1) and does not appear to support cursor can never be beyond $COLUMNS - 1) and does not appear to support
changing this behaviour, or any of the obvious possibilities (turning off changing this behaviour, or any of the obvious possibilities (turning off
@ -1102,7 +1104,7 @@
(including mutt, emacs). No status bar yet and no key remapping or other (including mutt, emacs). No status bar yet and no key remapping or other
customisation. customisation.
$Id: CHANGES,v 1.252 2009-02-11 23:16:41 nicm Exp $ $Id: CHANGES,v 1.253 2009-02-12 00:03:58 nicm Exp $
LocalWords: showw utf UTF fulvio ciriaco joshe OSC APC gettime abc DEF OA clr LocalWords: showw utf UTF fulvio ciriaco joshe OSC APC gettime abc DEF OA clr
LocalWords: rivo nurges lscm Erdely eol smysession mysession ek dstname RB ms LocalWords: rivo nurges lscm Erdely eol smysession mysession ek dstname RB ms

8
tty.c
View File

@ -1,4 +1,4 @@
/* $Id: tty.c,v 1.71 2009-02-11 23:16:45 nicm Exp $ */ /* $Id: tty.c,v 1.72 2009-02-12 00:03:58 nicm Exp $ */
/* /*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net> * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -587,16 +587,18 @@ tty_cmd_reverseindex(struct tty *tty, struct window_pane *wp, unused va_list ap)
if (s->old_cy == s->old_rupper) { if (s->old_cy == s->old_rupper) {
for (i = s->old_rupper; i <= s->old_rlower; i++) for (i = s->old_rupper; i <= s->old_rlower; i++)
tty_draw_line(tty, wp, i); tty_draw_line(tty, wp, i);
return;
} }
return;
} }
tty_reset(tty); tty_reset(tty);
tty_region(tty, s->old_rupper, s->old_rlower, wp->yoff); tty_region(tty, s->old_rupper, s->old_rlower, wp->yoff);
tty_cursor(tty, s->old_cx, s->old_cy, wp->yoff); if (s->old_cy == s->old_rupper) {
tty_cursor(tty, s->old_cx, 0, wp->yoff);
tty_putcode(tty, TTYC_RI); tty_putcode(tty, TTYC_RI);
}
} }
void void