diff --git a/ChangeLog b/ChangeLog index e0e0fea..47454d3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4541,3 +4541,8 @@ Sun Apr 7 21:15:09 2002 Michael Jennings (mej) Be even more anal when dumping a buffer to a file.... ---------------------------------------------------------------------- +Mon Apr 8 15:29:27 2002 Michael Jennings (mej) + +Fixed a bug spotted by Laurence J. Lane with color +settings not being properly saved. +---------------------------------------------------------------------- diff --git a/src/options.c b/src/options.c index a93d6bd..d28acc2 100644 --- a/src/options.c +++ b/src/options.c @@ -3365,21 +3365,21 @@ save_config(char *path, unsigned char save_theme) fprintf(fp, "# Automatically generated by " APL_NAME "-" VERSION " on %s\n", dt_stamp); fprintf(fp, "begin color\n"); - fprintf(fp, " foreground %s\n", rs_color[fgColor]); - fprintf(fp, " background %s\n", rs_color[bgColor]); - fprintf(fp, " cursor %s\n", rs_color[cursorColor]); - fprintf(fp, " cursor_text %s\n", rs_color[cursorColor2]); - fprintf(fp, " pointer %s\n", rs_color[pointerColor]); + fprintf(fp, " foreground %s\n", COLOR_NAME(fgColor)); + fprintf(fp, " background %s\n", COLOR_NAME(bgColor)); + fprintf(fp, " cursor %s\n", COLOR_NAME(cursorColor)); + fprintf(fp, " cursor_text %s\n", COLOR_NAME(cursorColor2)); + fprintf(fp, " pointer %s\n", COLOR_NAME(pointerColor)); fprintf(fp, " video normal\n"); for (i = 0; i < 16; i++) { - fprintf(fp, " color %d %s\n", i, rs_color[minColor + i]); + fprintf(fp, " color %d %s\n", i, COLOR_NAME(minColor + i)); } #ifndef NO_BOLDUNDERLINE if (rs_color[colorBD]) { - fprintf(fp, " color bd %s\n", rs_color[colorBD]); + fprintf(fp, " color bd %s\n", COLOR_NAME(colorBD)); } if (rs_color[colorUL]) { - fprintf(fp, " color ul %s\n", rs_color[colorUL]); + fprintf(fp, " color ul %s\n", COLOR_NAME(colorUL)); } #endif fprintf(fp, "end color\n\n"); diff --git a/src/term.h b/src/term.h index 445a1b9..b8cd198 100644 --- a/src/term.h +++ b/src/term.h @@ -142,6 +142,8 @@ enum color_list { default: PrivMode(state, bit); break; \ }} while (0) +#define COLOR_NAME(c) ((rs_color[c]) ? (rs_color[c]) : (def_colorName[c])) + /************ Variables ************/ #ifdef META8_OPTION extern unsigned char meta_char; /* Alt-key prefix */