=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/screen-write.c,v retrieving revision 1.57 retrieving revision 1.58 diff -c -r1.57 -r1.58 *** src/usr.bin/tmux/screen-write.c 2012/09/24 12:53:55 1.57 --- src/usr.bin/tmux/screen-write.c 2012/12/08 17:05:57 1.58 *************** *** 1,4 **** ! /* $OpenBSD: screen-write.c,v 1.57 2012/09/24 12:53:55 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: screen-write.c,v 1.58 2012/12/08 17:05:57 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott *************** *** 324,329 **** --- 324,332 ---- fg = defgc->fg; bg = defgc->bg; attr = defgc->attr; + flags &= ~(GRID_FLAG_FG256|GRID_FLAG_BG256); + flags |= + defgc->flags & (GRID_FLAG_FG256|GRID_FLAG_BG256); } else if (end > 3 && strncasecmp(tmp + 1, "g=", 2) == 0) { if ((val = colour_fromstring(tmp + 3)) == -1) return; *************** *** 335,342 **** } else flags &= ~GRID_FLAG_FG256; fg = val; ! } else fg = defgc->fg; } else if (*in == 'b' || *in == 'B') { if (val != 8) { if (val & 0x100) { --- 338,348 ---- } else flags &= ~GRID_FLAG_FG256; fg = val; ! } else { fg = defgc->fg; + flags &= ~GRID_FLAG_FG256; + flags |= defgc->flags & GRID_FLAG_FG256; + } } else if (*in == 'b' || *in == 'B') { if (val != 8) { if (val & 0x100) { *************** *** 345,352 **** } else flags &= ~GRID_FLAG_BG256; bg = val; ! } else bg = defgc->bg; } else return; } else if (end > 2 && strncasecmp(tmp, "no", 2) == 0) { --- 351,361 ---- } else flags &= ~GRID_FLAG_BG256; bg = val; ! } else { bg = defgc->bg; + flags &= ~GRID_FLAG_BG256; + flags |= defgc->flags & GRID_FLAG_BG256; + } } else return; } else if (end > 2 && strncasecmp(tmp, "no", 2) == 0) {