threads / patch / 17656

patchadd -p: get rid of Git.pm warnings about unitialized values

Subject: [PATCH] add -p: get rid of Git.pm warnings about unitialized values

## tl;dr

2 messages between Feb 8, 2009 and Feb 8, 2009. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Stephan Beyer· Feb 8, 2009, 17:40 UTC · lore
After invoking git add -p I always got the warnings:
 Use of uninitialized value $_[3] in exec at Git.pm line 1282.
 Use of uninitialized value $args[2] in join or string at Git.pm line 1264.

A bisect showed that these warnings occur in a301973 "add -p: print errors in separate color" the first time.

They can be reproduced by setting color.ui (or color.interactive) to "auto" and unsetting color.interactive.help and color.interactive.error. I am using Perl 5.10.0.

The reason of the warning is that color.interactive.error defaults to color.interactive.help which defaults to nothing in the specific codepath. It defaults to 'red bold' some lines above which could lead to the wrong assumption that it always defaults to 'red bold' now.

This patch lets it default to 'red bold', blowing the warnings away.
Signed-off-by: Stephan Beyer <s-beyer@gmx.net>
---
 git-add--interactive.perl |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
Show changes to git-add--interactive.perl +2 −1
diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index ec47888..5f129a4 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -14,7 +14,8 @@ my ($prompt_color, $header_color, $help_color) =
 	) : ();
 my $error_color = ();
 if ($menu_use_color) {
-	my $help_color_spec = $repo->config('color.interactive.help');
+	my $help_color_spec = ($repo->config('color.interactive.help') or
+				'red bold');
 	$error_color = $repo->get_color('color.interactive.error',
 					$help_color_spec);
 }
-- 
1.6.2.rc0.446.g760ba.dirty
Thomas Rast· Feb 8, 2009, 18:01 UTC · re: Stephan Beyer · lore

Re: [PATCH] add -p: get rid of Git.pm warnings about unitialized values

Stephan Beyer wrote:
> After invoking git add -p I always got the warnings:
> 
>  Use of uninitialized value $_[3] in exec at Git.pm line 1282.
>  Use of uninitialized value $args[2] in join or string at Git.pm line 1264.
[...]
> -	my $help_color_spec = $repo->config('color.interactive.help');
> +	my $help_color_spec = ($repo->config('color.interactive.help') or
> +				'red bold');
Acked-By: Thomas Rast <trast@student.ethz.ch>
Thanks for spotting this.
-- 
Thomas Rast
trast@{inf,student}.ethz.ch

← back to recent threads