if_OPT_ISO_COLORS(screen,{ Char *colors = BUF_COLOR(sb, row); memmove(colors + col + n, colors + col, nbytes); memset(colors + col, xtermColorPair(), n);
if_OPT_EXT_COLORS(screen,{ ptr = BUF_FGRND(sb, row); memmove(ptr + col + n, ptr + col, nbytes); memset(ptr + col, term->sgr_foreground, n); ptr = BUF_BGRND(sb, row); memmove(ptr + col + n, ptr + col, nbytes); memset(ptr + col, term->cur_background, n);
ScrnInsertChar (	register TScreen *screen,	register int n,	int size){	ScrnBuf sb = screen->visbuf;	int row = screen->cur_row;	int col = screen->cur_col;	register int i, j;	register Char *ptr = BUF_CHARS(sb, row);	register Char *attrs = BUF_ATTRS(sb, row);	register size_t nbytes = (size - n - col);	int wrappedbit = ScrnTstWrapped(screen, row);	int flags = CHARDRAWN | TERM_COLOR_FLAGS;	ScrnClrWrapped(screen, row); /* make sure the bit isn't moved */	for (i = size - 1; i >= col + n; i--) {		ptr[i] = ptr[j = i - n];		attrs[i] = attrs[j];	}	for (i=col; i<col+n; i++)	    ptr[i] = ' ';	for (i=col; i<col+n; i++)	    attrs[i] = flags;	if_OPT_ISO_COLORS(screen,{	    Char *colors = BUF_COLOR(sb, row);	    memmove(colors + col + n, colors + col, nbytes);	    memset(colors + col, xtermColorPair(), n);	})