Phillip Wood [off-list ref] writes:
On 26/07/18 20:36, Junio C Hamano wrote:
quoted
Phillip Wood [off-list ref] writes:
quoted
+sub label_hunk_lines {
+ my $hunk = shift;
+ my $text = $hunk->{TEXT};
+ my (@line_flags, @lines);
+ my ($block, $label, $last_mode) = (0, 0, '');
+ for my $line (1..$#{$text}) {
$text is a ref to an array so @$text is the whole thing, $#{$text}
is the index of the last item in that array, and $text->[0] is the
first element of that array. This for loop runs with $line == 1
thru $line == $#{$text}, so we are somehow excluding the very first
element?
Yes that's right, $text->[0] contains the hunk header
OK, thanks.
quoted
quoted
+ $line_flags[$line] = 0;
+ my $mode = substr($text->[$line], 0, 1);
+ if ($mode eq '\\') {
+ $line_flags[$line - 1] |= NO_NEWLINE;
+ }
+ if ($mode eq '-' or $mode eq '+') {
+ $lines[++$label] = $line;
+ }
+ }
+ if ($label > 1) {