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 09:17:28 +0000

Junio C Hamano wrote:
> William Pursell <[email-masked]> writes:
> 
>> Not a major complaint, but how about localizing the occurence
>> of the separator.  Something like this:
> 
> I think that is sensible.  I've already queued the resurrected series to
> 'next' and am deep in the process of tonight's pushout preparation (this
> time I've even written What's cooking), so I'd rather not rewind what I
> have already and redo it.  Could you send an incremental update on top of
> what's in next (more specifically ace30ba (In add --patch, Handle K,k,J,j
> slightly more gracefully., 2008-11-27) please?

Here's a patch against ace30ba.  Minor change from the initial
patch includes adding '?' to the join argument for consistency
with previous prompt string, and adding '/' to the initialization
of $other to accomodate dd971cc.

Localize the command separator.

Signed-off-by: William Pursell <[email-masked]>
---
 git-add--interactive.perl |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/git-add--interactive.perl b/git-add--interactive.perl
index 30ddab2..4500e62 100755
--- a/git-add--interactive.perl
+++ b/git-add--interactive.perl
@@ -922,7 +922,7 @@ sub patch_update_file {

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

 		if ($num <= $ix) {
 			$ix = 0;
@@ -930,25 +930,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}) {
@@ -959,13 +959,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) {
-- 
1.6.1.265.g9a013.dirty

-- 
William Pursell