mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Sync OpenBSD patchset 563:
Emulate il1, dl1, ich1 to run (albeit slowly) with vt100 feature set.
This commit is contained in:
		
							
								
								
									
										17
									
								
								tty-term.c
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								tty-term.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
/* $Id: tty-term.c,v 1.37 2009-11-26 09:19:05 nicm Exp $ */
 | 
			
		||||
/* $Id: tty-term.c,v 1.38 2009-11-28 14:42:21 tcunha Exp $ */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2008 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
			
		||||
@@ -392,21 +392,6 @@ tty_term_find(char *name, int fd, const char *overrides, char **cause)
 | 
			
		||||
		xasprintf(cause, "terminal does not support cud1 or cud");
 | 
			
		||||
		goto error;
 | 
			
		||||
	}
 | 
			
		||||
	if (!tty_term_has(term, TTYC_IL1) && !tty_term_has(term, TTYC_IL)) {
 | 
			
		||||
		xasprintf(cause, "terminal does not support il1 or il");
 | 
			
		||||
		goto error;
 | 
			
		||||
	}
 | 
			
		||||
	if (!tty_term_has(term, TTYC_DL1) && !tty_term_has(term, TTYC_DL)) {
 | 
			
		||||
		xasprintf(cause, "terminal does not support dl1 or dl");
 | 
			
		||||
		goto error;
 | 
			
		||||
	}
 | 
			
		||||
	if (!tty_term_has(term, TTYC_ICH1) &&
 | 
			
		||||
	    !tty_term_has(term, TTYC_ICH) && (!tty_term_has(term, TTYC_SMIR) ||
 | 
			
		||||
	    !tty_term_has(term, TTYC_RMIR))) {
 | 
			
		||||
		xasprintf(cause,
 | 
			
		||||
		    "terminal does not support ich1 or ich or smir and rmir");
 | 
			
		||||
		goto error;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* Figure out if we have 256 or 88 colours. */
 | 
			
		||||
	if (tty_term_number(term, TTYC_COLORS) == 256)
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								tty.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								tty.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
/* $Id: tty.c,v 1.175 2009-11-19 22:23:27 tcunha Exp $ */
 | 
			
		||||
/* $Id: tty.c,v 1.176 2009-11-28 14:42:21 tcunha Exp $ */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
			
		||||
@@ -574,12 +574,14 @@ tty_cmd_insertcharacter(struct tty *tty, const struct tty_ctx *ctx)
 | 
			
		||||
	if (tty_term_has(tty->term, TTYC_ICH) ||
 | 
			
		||||
	    tty_term_has(tty->term, TTYC_ICH1))
 | 
			
		||||
		tty_emulate_repeat(tty, TTYC_ICH, TTYC_ICH1, ctx->num);
 | 
			
		||||
	else {
 | 
			
		||||
	else if (tty_term_has(tty->term, TTYC_SMIR) && 
 | 
			
		||||
	    tty_term_has(tty->term, TTYC_RMIR)) {
 | 
			
		||||
		tty_putcode(tty, TTYC_SMIR);
 | 
			
		||||
		for (i = 0; i < ctx->num; i++)
 | 
			
		||||
			tty_putc(tty, ' ');
 | 
			
		||||
		tty_putcode(tty, TTYC_RMIR);
 | 
			
		||||
	}
 | 
			
		||||
	} else
 | 
			
		||||
		tty_draw_line(tty, wp->screen, ctx->ocy, wp->xoff, wp->yoff);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
@@ -611,7 +613,8 @@ tty_cmd_insertline(struct tty *tty, const struct tty_ctx *ctx)
 | 
			
		||||
	struct screen		*s = wp->screen;
 | 
			
		||||
 | 
			
		||||
 	if (wp->xoff != 0 || screen_size_x(s) < tty->sx ||
 | 
			
		||||
	    !tty_term_has(tty->term, TTYC_CSR)) {
 | 
			
		||||
	    !tty_term_has(tty->term, TTYC_CSR) || 
 | 
			
		||||
	    !tty_term_has(tty->term, TTYC_IL1)) {
 | 
			
		||||
		tty_redraw_region(tty, ctx);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
@@ -631,7 +634,8 @@ tty_cmd_deleteline(struct tty *tty, const struct tty_ctx *ctx)
 | 
			
		||||
	struct screen		*s = wp->screen;
 | 
			
		||||
 | 
			
		||||
 	if (wp->xoff != 0 || screen_size_x(s) < tty->sx ||
 | 
			
		||||
	    !tty_term_has(tty->term, TTYC_CSR)) {
 | 
			
		||||
	    !tty_term_has(tty->term, TTYC_CSR) ||
 | 
			
		||||
	    !tty_term_has(tty->term, TTYC_DL1)) {
 | 
			
		||||
		tty_redraw_region(tty, ctx);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user