Linux rxvt doesn't support parm_dch or delete_character.

This commit is contained in:
Nicholas Marriott 2008-05-10 12:50:25 +00:00
parent 58ca26cefa
commit 0dbbd777b1
2 changed files with 7 additions and 8 deletions

View File

@ -23,7 +23,7 @@
* Big internal reorganisation. Rather than leaving control of the tty solely in
the client and piping all data through a socket to it, change so that the
server opens the tty again and reads and writes to it directly. This avoids
a lot of buffering and copying.Also reorganise the redrawing stuff so that
a lot of buffering and copying. Also reorganise the redrawing stuff so that
everything goes through screen_draw_* - this makes the code simpler, but
still needs broken up more, and all the ways of writing to screens should be
more consistent.
@ -303,4 +303,4 @@
(including mutt, emacs). No status bar yet and no key remapping or other
customisation.
$Id: CHANGES,v 1.92 2008-01-02 19:22:21 nicm Exp $
$Id: CHANGES,v 1.93 2008-05-10 12:50:25 nicm Exp $

11
tty.c
View File

@ -1,4 +1,4 @@
/* $Id: tty.c,v 1.18 2008-01-02 19:22:21 nicm Exp $ */
/* $Id: tty.c,v 1.19 2008-05-10 12:50:25 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -255,10 +255,6 @@ tty_find_term(char *name, int fd, char **cause)
xasprintf(cause, "parm_ich missing");
goto error;
}
if (parm_dch == NULL && delete_character == NULL) {
xasprintf(cause, "parm_dch missing");
goto error;
}
if (scroll_reverse == NULL) {
xasprintf(cause, "scroll_reverse missing");
goto error;
@ -477,9 +473,12 @@ tty_vwrite(struct tty *tty, unused struct screen *s, int cmd, va_list ap)
ua = va_arg(ap, u_int);
if (parm_dch != NULL)
tty_puts(tty, tparm(parm_dch, ua));
else {
else if (delete_character != NULL) {
while (ua-- > 0)
tty_puts(tty, delete_character);
} else {
while (ua-- > 0)
tty_putc(tty, '\008');
}
break;
case TTY_CURSORON: