if_OPT_ISO_COLORS(screen,{ Char *colors = BUF_COLOR(sb, row); memmove(colors + col, colors + col + n, nbytes); memset(colors + size - n, xtermColorPair(), n);
if_OPT_EXT_COLORS(screen,{ ptr = BUF_FGRND(sb, row); memmove(ptr + col, ptr + col + n, nbytes); memset(ptr + size - n, term->sgr_foreground, n); ptr = BUF_BGRND(sb, row); memmove(ptr + col, ptr + col + n, nbytes); memset(ptr + size - n, term->cur_background, n);
ScrnDeleteChar (	register TScreen *screen,	register int n,	register int size){	ScrnBuf sb = screen->visbuf;	int row = screen->cur_row;	int col = screen->cur_col;	register Char *ptr = BUF_CHARS(sb, row);	register Char *attrs = BUF_ATTRS(sb, row);	register size_t nbytes = (size - n - col);	memmove (ptr   + col, ptr   + col + n, nbytes);	memmove (attrs + col, attrs + col + n, nbytes);	bzero  (ptr + size - n, n);	memset (attrs + size - n, TERM_COLOR_FLAGS, n);	if_OPT_ISO_COLORS(screen,{	    Char *colors = BUF_COLOR(sb, row);	    memmove(colors + col, colors + col + n, nbytes);	    memset(colors + size - n, xtermColorPair(), n);	})