Subject: Re: [PATCH 1/3] git-add -i/-p: Change prompt separater from slash to comma

From: William Pursell <[email-masked]>
Date: Mon, 02 Feb 2009 07:39:32 +0000

Junio C Hamano wrote:
> From: William Pursell <[email-masked]>
> 
> Otherwise the find command '/' soon to be introduced will be hard to see.
> 
> Signed-off-by: William Pursell <[email-masked]>
> Signed-off-by: Junio C Hamano <[email-masked]>
> ---
>  git-add--interactive.perl |   14 +++++++-------
>  1 files changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/git-add--interactive.perl b/git-add--interactive.perl
> index ca60356..ca50363 100755
> --- a/git-add--interactive.perl
> +++ b/git-add--interactive.perl
> @@ -929,22 +929,22 @@ sub patch_update_file {
>  		for ($i = 0; $i < $ix; $i++) {
>  			if (!defined $hunk[$i]{USE}) {
>  				$prev = 1;
> -				$other .= '/k';
> +				$other .= ',k';
>  				last;
>  			}
>  		}
>  		if ($ix) {
> -			$other .= '/K';
> +			$other .= ',K';
>  		}
>  		for ($i = $ix + 1; $i < $num; $i++) {
>  			if (!defined $hunk[$i]{USE}) {
>  				$next = 1;
> -				$other .= '/j';
> +				$other .= ',j';
>  				last;
>  			}
>  		}
>  		if ($ix < $num - 1) {
> -			$other .= '/J';
> +			$other .= ',J';
>  		}
>  		if ($num > 1) {
>  			$other .= '/g';
> @@ -958,13 +958,13 @@ sub patch_update_file {
>  		last if (!$undecided);
>  
>  		if (hunk_splittable($hunk[$ix]{TEXT})) {
> -			$other .= '/s';
> +			$other .= ',s';
>  		}
> -		$other .= '/e';
> +		$other .= ',e';
>  		for (@{$hunk[$ix]{DISPLAY}}) {
>  			print;
>  		}
> -		print colored $prompt_color, "Stage this hunk [y/n/a/d$other/?]? ";
> +		print colored $prompt_color, "Stage this hunk [y,n,a,d$other,?]? ";
>  		my $line = <STDIN>;
>  		if ($line) {
>  			if ($line =~ /^y/i) {

Not a major complaint, but how about localizing the occurence
of the separator.  Something like this:

diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index ca60356..bd8326d 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -921,7 +921,7 @@ sub patch_update_file {

 	while (1) {
 		my ($prev, $next, $other, $undecided, $i);
-		$other = '';
+		$other = 'ynad';

 		if ($num <= $ix) {
 			$ix = 0;
@@ -929,25 +929,25 @@ sub patch_update_file {
 		for ($i = 0; $i < $ix; $i++) {
 			if (!defined $hunk[$i]{USE}) {
 				$prev = 1;
-				$other .= '/k';
+				$other .= 'k';
 				last;
 			}
 		}
 		if ($ix) {
-			$other .= '/K';
+			$other .= 'K';
 		}
 		for ($i = $ix + 1; $i < $num; $i++) {
 			if (!defined $hunk[$i]{USE}) {
 				$next = 1;
-				$other .= '/j';
+				$other .= 'j';
 				last;
 			}
 		}
 		if ($ix < $num - 1) {
-			$other .= '/J';
+			$other .= 'J';
 		}
 		if ($num > 1) {
-			$other .= '/g';
+			$other .= 'g';
 		}
 		for ($i = 0; $i < $num; $i++) {
 			if (!defined $hunk[$i]{USE}) {
@@ -958,13 +958,14 @@ sub patch_update_file {
 		last if (!$undecided);

 		if (hunk_splittable($hunk[$ix]{TEXT})) {
-			$other .= '/s';
+			$other .= 's';
 		}
-		$other .= '/e';
+		$other .= 'e';
 		for (@{$hunk[$ix]{DISPLAY}}) {
 			print;
 		}
-		print colored $prompt_color, "Stage this hunk [y/n/a/d$other/?]? ";
+		print colored $prompt_color, "Stage this hunk [" .
+			join(',', split("", $other)) . "]? ";
 		my $line = <STDIN>;
 		if ($line) {
 			if ($line =~ /^y/i) {

-- 
William Pursell