From: nicm Date: Thu, 13 Jul 2023 06:03:48 +0000 (+0000) Subject: Use 8 for underscore colour defaults instead of 0 which is less X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=f353bcb0ce598018384fa1641f1129758a780f94;p=openbsd Use 8 for underscore colour defaults instead of 0 which is less confusing, and fix writing tge default colour. GitHub issue 3627. --- diff --git a/usr.bin/tmux/grid.c b/usr.bin/tmux/grid.c index 17c9e7528a8..faf9dacfe8e 100644 --- a/usr.bin/tmux/grid.c +++ b/usr.bin/tmux/grid.c @@ -1,4 +1,4 @@ -/* $OpenBSD: grid.c,v 1.129 2023/06/30 21:55:08 nicm Exp $ */ +/* $OpenBSD: grid.c,v 1.130 2023/07/13 06:03:48 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott @@ -37,7 +37,7 @@ /* Default grid cell data. */ const struct grid_cell grid_default_cell = { - { { ' ' }, 0, 1, 1 }, 0, 0, 8, 8, 0, 0 + { { ' ' }, 0, 1, 1 }, 0, 0, 8, 8, 8, 0 }; /* @@ -45,12 +45,12 @@ const struct grid_cell grid_default_cell = { * appears in the grid - because of this, they are always extended cells. */ static const struct grid_cell grid_padding_cell = { - { { '!' }, 0, 0, 0 }, 0, GRID_FLAG_PADDING, 8, 8, 0, 0 + { { '!' }, 0, 0, 0 }, 0, GRID_FLAG_PADDING, 8, 8, 8, 0 }; /* Cleared grid cell data. */ static const struct grid_cell grid_cleared_cell = { - { { ' ' }, 0, 1, 1 }, 0, GRID_FLAG_CLEARED, 8, 8, 0, 0 + { { ' ' }, 0, 1, 1 }, 0, GRID_FLAG_CLEARED, 8, 8, 8, 0 }; static const struct grid_cell_entry grid_cleared_entry = { { .data = { 0, 8, 8, ' ' } }, GRID_FLAG_CLEARED @@ -528,7 +528,7 @@ grid_get_cell1(struct grid_line *gl, u_int px, struct grid_cell *gc) gc->bg = gce->data.bg; if (gce->flags & GRID_FLAG_BG256) gc->bg |= COLOUR_FLAG_256; - gc->us = 0; + gc->us = 8; utf8_set(&gc->data, gce->data.data); gc->link = 0; } @@ -956,7 +956,7 @@ grid_string_cells_code(const struct grid_cell *lastgc, for (i = 0; i < nitems(attrs); i++) { if (((~attr & attrs[i].mask) && (lastattr & attrs[i].mask)) || - (lastgc->us != 0 && gc->us == 0)) { + (lastgc->us != 8 && gc->us == 8)) { s[n++] = 0; lastattr &= GRID_ATTR_CHARSET; break; diff --git a/usr.bin/tmux/input.c b/usr.bin/tmux/input.c index fcc9b260ad7..2157dac284f 100644 --- a/usr.bin/tmux/input.c +++ b/usr.bin/tmux/input.c @@ -1,4 +1,4 @@ -/* $OpenBSD: input.c,v 1.217 2023/07/03 16:47:43 nicm Exp $ */ +/* $OpenBSD: input.c,v 1.218 2023/07/13 06:03:48 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -2186,7 +2186,7 @@ input_csi_dispatch_sgr(struct input_ctx *ictx) gc->attr &= ~GRID_ATTR_OVERLINE; break; case 59: - gc->us = 0; + gc->us = 8; break; case 90: case 91: diff --git a/usr.bin/tmux/tty.c b/usr.bin/tmux/tty.c index 5aef5decd8b..94b33ce686e 100644 --- a/usr.bin/tmux/tty.c +++ b/usr.bin/tmux/tty.c @@ -1,4 +1,4 @@ -/* $OpenBSD: tty.c,v 1.431 2023/06/26 07:17:40 nicm Exp $ */ +/* $OpenBSD: tty.c,v 1.432 2023/07/13 06:03:48 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -2815,9 +2815,10 @@ tty_check_us(__unused struct tty *tty, struct colour_palette *palette, } /* Underscore colour is set as RGB so convert. */ - gc->us = colour_force_rgb (gc->us); - if (gc->us == -1) + if ((c = colour_force_rgb (gc->us)) == -1) gc->us = 8; + else + gc->us = c; } static void @@ -2892,7 +2893,7 @@ tty_colours_us(struct tty *tty, const struct grid_cell *gc) u_char r, g, b; /* Clear underline colour. */ - if (gc->us == 0) { + if (COLOUR_DEFAULT(gc->us)) { tty_putcode(tty, TTYC_OL); goto save; }