Mercurial > hg > xemacs-beta
diff src/redisplay-tty.c @ 265:8efd647ea9ca r20-5b31
Import from CVS: tag r20-5b31
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:25:37 +0200 |
parents | 677f6a0ee643 |
children | c5d627a313b1 |
line wrap: on
line diff
--- a/src/redisplay-tty.c Mon Aug 13 10:24:47 2007 +0200 +++ b/src/redisplay-tty.c Mon Aug 13 10:25:37 2007 +0200 @@ -183,10 +183,21 @@ { struct console *c = XCONSOLE (DEVICE_CONSOLE (d)); + CONSOLE_TTY_CURSOR_X (c) = CONSOLE_TTY_FINAL_CURSOR_X (c); + CONSOLE_TTY_CURSOR_Y (c) = CONSOLE_TTY_FINAL_CURSOR_Y (c); FORCE_CURSOR_UPDATE (c); Lstream_flush (XLSTREAM (CONSOLE_TTY_DATA (c)->outstream)); } +static void +tty_set_final_cursor_coords (struct frame *f, int y, int x) +{ + struct console *c = XCONSOLE (FRAME_CONSOLE (f)); + + CONSOLE_TTY_FINAL_CURSOR_X (c) = x; + CONSOLE_TTY_FINAL_CURSOR_Y (c) = y; +} + /***************************************************************************** tty_output_display_block @@ -547,6 +558,8 @@ if (TTY_SE (c).clr_frame) { OUTPUT1 (c, TTY_SE (c).clr_frame); + CONSOLE_TTY_REAL_CURSOR_X (c) = 0; + CONSOLE_TTY_REAL_CURSOR_Y (c) = 0; #ifdef NOT_SURE FRAME_CURSOR_X (f) = 0; FRAME_CURSOR_Y (f) = 0; @@ -956,7 +969,7 @@ f->height, f->width, 1); /* And then stick the cursor there. */ - cmgoto (f, f->height, 0); + tty_set_final_cursor_coords (f, f->height, 0); tty_output_end (XDEVICE (dev)); } } @@ -1543,4 +1556,5 @@ CONSOLE_HAS_METHOD (tty, output_end); CONSOLE_HAS_METHOD (tty, flash); CONSOLE_HAS_METHOD (tty, ring_bell); + CONSOLE_HAS_METHOD (tty, set_final_cursor_coords); }