diff --git a/ChangeLog b/ChangeLog index 403875f27b29bce6d4bdd281c41351794b9e63cd..97bead029751c1e7565d88f1760934d6b5664f97 100644 --- a/ChangeLog +++ b/ChangeLog @@ -40,11 +40,12 @@ CVS code - color_to_short()), and parse_colors(). (DLR) - Change color handling to save only the regex strings constantly, and to actually compile them on an as-needed - basis. Also, don't bother doing complete refreshes of the - screen when color support is enabled if there's no regex - associated with the current file. Changes to update_color() - (renamed color_update()), thanks_for_all_the_fish(), - do_input(), and do_output(). (Brand Huntsman and DLR) + basis. Also, handle unspecified foreground colors, and don't + bother doing complete refreshes of the screen when color + support is enabled if there's no regex associated with the + current file. Changes to update_color() (renamed + color_update()), thanks_for_all_the_fish(), do_input(), and + do_output(). (Brand Huntsman and DLR) - files.c: open_file() - Assert that filename isn't NULL, and don't do anything special diff --git a/src/color.c b/src/color.c index ccc7a6979804feb4bce33a2640f9d86a82094b7c..451920934415cc40cec9e4bf1aff17ff51fc445a 100644 --- a/src/color.c +++ b/src/color.c @@ -83,7 +83,13 @@ void color_init(void) for (tmpcolor = openfile->colorstrings; tmpcolor != NULL; tmpcolor = tmpcolor->next) { - short background = tmpcolor->bg; + short foreground = tmpcolor->fg, background = tmpcolor->bg; + if (foreground == -1) { +#ifdef HAVE_USE_DEFAULT_COLORS + if (!defok) +#endif + foreground = COLOR_WHITE; + } if (background == -1) { #ifdef HAVE_USE_DEFAULT_COLORS @@ -92,7 +98,7 @@ void color_init(void) background = COLOR_BLACK; } - init_pair(tmpcolor->pairnum, tmpcolor->fg, background); + init_pair(tmpcolor->pairnum, foreground, background); #ifdef DEBUG fprintf(stderr, "init_pair(): fg = %hd, bg = %hd\n",