aboutsummaryrefslogtreecommitdiffstats
path: root/add-interactive.h
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2025-09-16 16:26:24 -0400
committerJunio C Hamano <gitster@pobox.com>2025-09-16 18:00:25 -0700
commit9d241b01132c17a44adda2d762b37adf3625bdd7 (patch)
treec1ecbe9a1efba664ce53639512e05f1e5717b819 /add-interactive.h
parentcolor: return bool from want_color() (diff)
downloadgit-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.h4
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];