diff --git a/src/globals.h b/src/globals.h index 29fc43a47e..4f126cae3c 100644 --- a/src/globals.h +++ b/src/globals.h @@ -380,6 +380,9 @@ EXTERN int cterm_normal_bg_color INIT(= 0); EXTERN guicolor_T cterm_normal_fg_gui_color INIT(= INVALCOLOR); EXTERN guicolor_T cterm_normal_bg_gui_color INIT(= INVALCOLOR); #endif +#ifdef FEAT_TERMRESPONSE +EXTERN int is_mac_terminal INIT(= FALSE); /* recognized Terminal.app */ +#endif #ifdef FEAT_AUTOCMD EXTERN int autocmd_busy INIT(= FALSE); /* Is apply_autocmds() busy? */ diff --git a/src/syntax.c b/src/syntax.c index a31bdbce57..ce91c130ce 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -7350,6 +7350,12 @@ lookup_color(int idx, int foreground, int *boldp) else color = color_numbers_8[idx]; } +#ifdef FEAT_TERMRESPONSE + if (t_colors >= 256 && color == 15 && is_mac_terminal) + /* Terminal.app has a bug: 15 is light grey. Use white + * from the color cube instead. */ + color = 231; +#endif } return color; } diff --git a/src/term.c b/src/term.c index eb06daf590..9fdb4f39e4 100644 --- a/src/term.c +++ b/src/term.c @@ -4563,7 +4563,10 @@ check_termcode( /* Mac Terminal.app sends 1;95;0 */ if (version == 95 && STRNCMP(tp + extra - 2, "1;95;0c", 7) == 0) + { is_not_xterm = TRUE; + is_mac_terminal = TRUE; + } /* Gnome terminal sends 1;3801;0, 1;4402;0 or 1;2501;0. * xfce4-terminal sends 1;2802;0. diff --git a/src/version.c b/src/version.c index c61390c6f6..83946fe085 100644 --- a/src/version.c +++ b/src/version.c @@ -776,6 +776,10 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1175, +/**/ + 1174, /**/ 1173, /**/