Merge branch 'jc/perl-git-comment-typofix' into maint
authorJunio C Hamano <gitster@pobox.com>
Sun, 10 Sep 2017 08:02:57 +0000 (17:02 +0900)
committerJunio C Hamano <gitster@pobox.com>
Sun, 10 Sep 2017 08:02:57 +0000 (17:02 +0900)
A comment fix.

* jc/perl-git-comment-typofix:
perl/Git.pm: typofix in a comment

1  2 
perl/Git.pm
diff --combined perl/Git.pm
index f4b56e6d4d38cbc4365ecfc9073f5caf3a05377a,dd72d634040e7258b2cfa69d72033d6f44096f2f..ffa09ace924e0a7b079d039e905363435b08cf9b
@@@ -59,10 -59,9 +59,10 @@@ require Exporter
                  command_bidi_pipe command_close_bidi_pipe
                  version exec_path html_path hash_object git_cmd_try
                  remote_refs prompt
 -                get_tz_offset
 +                get_tz_offset get_record
                  credential credential_read credential_write
 -                temp_acquire temp_is_locked temp_release temp_reset temp_path);
 +                temp_acquire temp_is_locked temp_release temp_reset temp_path
 +                unquote_path);
  
  
  =head1 DESCRIPTION
@@@ -532,27 -531,13 +532,27 @@@ If TIME is not supplied, the current lo
  =cut
  
  sub get_tz_offset {
-       # some systmes don't handle or mishandle %z, so be creative.
+       # some systems don't handle or mishandle %z, so be creative.
        my $t = shift || time;
        my $gm = timegm(localtime($t));
        my $sign = qw( + + - )[ $gm <=> $t ];
        return sprintf("%s%02d%02d", $sign, (gmtime(abs($t - $gm)))[2,1]);
  }
  
 +=item get_record ( FILEHANDLE, INPUT_RECORD_SEPARATOR )
 +
 +Read one record from FILEHANDLE delimited by INPUT_RECORD_SEPARATOR,
 +removing any trailing INPUT_RECORD_SEPARATOR.
 +
 +=cut
 +
 +sub get_record {
 +      my ($fh, $rs) = @_;
 +      local $/ = $rs;
 +      my $rec = <$fh>;
 +      chomp $rec if defined $rs;
 +      $rec;
 +}
  
  =item prompt ( PROMPT , ISPASSWORD  )
  
@@@ -1439,95 -1424,6 +1439,95 @@@ sub END 
  
  } # %TEMP_* Lexical Context
  
 +=item prefix_lines ( PREFIX, STRING [, STRING... ])
 +
 +Prefixes lines in C<STRING> with C<PREFIX>.
 +
 +=cut
 +
 +sub prefix_lines {
 +      my $prefix = shift;
 +      my $string = join("\n", @_);
 +      $string =~ s/^/$prefix/mg;
 +      return $string;
 +}
 +
 +=item unquote_path ( PATH )
 +
 +Unquote a quoted path containing c-escapes as returned by ls-files etc.
 +when not using -z or when parsing the output of diff -u.
 +
 +=cut
 +
 +{
 +      my %cquote_map = (
 +              "a" => chr(7),
 +              "b" => chr(8),
 +              "t" => chr(9),
 +              "n" => chr(10),
 +              "v" => chr(11),
 +              "f" => chr(12),
 +              "r" => chr(13),
 +              "\\" => "\\",
 +              "\042" => "\042",
 +      );
 +
 +      sub unquote_path {
 +              local ($_) = @_;
 +              my ($retval, $remainder);
 +              if (!/^\042(.*)\042$/) {
 +                      return $_;
 +              }
 +              ($_, $retval) = ($1, "");
 +              while (/^([^\\]*)\\(.*)$/) {
 +                      $remainder = $2;
 +                      $retval .= $1;
 +                      for ($remainder) {
 +                              if (/^([0-3][0-7][0-7])(.*)$/) {
 +                                      $retval .= chr(oct($1));
 +                                      $_ = $2;
 +                                      last;
 +                              }
 +                              if (/^([\\\042abtnvfr])(.*)$/) {
 +                                      $retval .= $cquote_map{$1};
 +                                      $_ = $2;
 +                                      last;
 +                              }
 +                              # This is malformed
 +                              throw Error::Simple("invalid quoted path $_[0]");
 +                      }
 +                      $_ = $remainder;
 +              }
 +              $retval .= $_;
 +              return $retval;
 +      }
 +}
 +
 +=item get_comment_line_char ( )
 +
 +Gets the core.commentchar configuration value.
 +The value falls-back to '#' if core.commentchar is set to 'auto'.
 +
 +=cut
 +
 +sub get_comment_line_char {
 +      my $comment_line_char = config("core.commentchar") || '#';
 +      $comment_line_char = '#' if ($comment_line_char eq 'auto');
 +      $comment_line_char = '#' if (length($comment_line_char) != 1);
 +      return $comment_line_char;
 +}
 +
 +=item comment_lines ( STRING [, STRING... ])
 +
 +Comments lines following core.commentchar configuration.
 +
 +=cut
 +
 +sub comment_lines {
 +      my $comment_line_char = get_comment_line_char;
 +      return prefix_lines("$comment_line_char ", @_);
 +}
 +
  =back
  
  =head1 ERROR HANDLING