diff options
| author | Jeff King <peff@peff.net> | 2025-09-16 16:26:24 -0400 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2025-09-16 18:00:25 -0700 |
| commit | 9d241b01132c17a44adda2d762b37adf3625bdd7 (patch) | |
| tree | c1ecbe9a1efba664ce53639512e05f1e5717b819 /add-interactive.h | |
| parent | color: return bool from want_color() (diff) | |
| download | git-9d241b01132c17a44adda2d762b37adf3625bdd7.tar.gz git-9d241b01132c17a44adda2d762b37adf3625bdd7.zip | |
add-interactive: retain colorbool values longer
Most of the diff code stores the decision about whether to show color as
a git_colorbool, and evaluates it at point-of-use with want_color().
This timing is important for reasons explained in daa0c3d971 (color:
delay auto-color decision until point of use, 2011-08-17).
The add-interactive code instead converts immediately to strict boolean
values using want_color(), and then evaluates those. This isn't wrong.
Even though we pass the bool values to diff_use_color(), which expects a
colorbool, the values are compatible. But it is unlike the rest of the
color code, and is questionable from a type-system perspective (but C's
typing between enums, ints, and bools is weak enough that the compiler
does not complain).
Let's switch it to the more usual way of calling want_color() at the
point of use.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'add-interactive.h')
| -rw-r--r-- | add-interactive.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/add-interactive.h b/add-interactive.h index ceadfa6bb6..da49502b76 100644 --- a/add-interactive.h +++ b/add-interactive.h @@ -12,8 +12,8 @@ struct add_p_opt { struct add_i_state { struct repository *r; - int use_color_interactive; - int use_color_diff; + enum git_colorbool use_color_interactive; + enum git_colorbool use_color_diff; char header_color[COLOR_MAXLEN]; char help_color[COLOR_MAXLEN]; char prompt_color[COLOR_MAXLEN]; |
