Re: [PATCH v3] send-email: extract email-parsing code into a subroutine
- From
Matthieu Moy <matthieu.moy@univ-lyon1.fr>
- Date
- Dec 7, 2017, 07:57 UTC
- Message-ID
- <q7h9609jotqd.fsf@orange.lip.ens-lyon.fr>
- In-Reply-To
- <2b59497271cd4fada4ff590a001446cf@BPMBX2013-01.univ-lyon1.fr>
PAYRE NATHAN p1508475 <nathan.payre@etu.univ-lyon1.fr> writes:
> Without the "print" used for testing.
But still smoe broken indentation:
Show 32 quoted lines
> git-send-email.perl | 90 +++++++++++++++++++++++++++++++++++++----------------
> 1 file changed, 63 insertions(+), 27 deletions(-)
>
> diff --git a/git-send-email.perl b/git-send-email.perl
> index 2208dcc21..a10574a56 100755
> --- a/git-send-email.perl
> +++ b/git-send-email.perl
> @@ -715,41 +715,63 @@ EOT3
> if (!defined $compose_encoding) {
> $compose_encoding = "UTF-8";
> }
> - while(<$c>) {
> - next if m/^GIT:/;
> - if ($in_body) {
> - $summary_empty = 0 unless (/^\n$/);
> - } elsif (/^\n$/) {
> - $in_body = 1;
> - if ($need_8bit_cte) {
> +
> + my %parsed_email;
> + $parsed_email{'body'} = '';
> + while (my $line = <$c>) {
> + next if $line =~ m/^GIT:/;
> + parse_header_line($line, \%parsed_email);
> + if ($line =~ /^\n$/i) {
> + while (my $body_line = <$c>) {
> + if ($body_line !~ m/^GIT:/) {
> + $parsed_email{'body'} = $parsed_email{'body'} . $body_line;
> + }
> + }
> + }
> + }This may display properly in your text editor with your setting, but appears broken at least with tab-width=8. Don't mix tabs and spaces. The Git coding style is to indent with tabs.
To see what I mean, open the script in Emacs and type M-x whitespace-mode RET.
-- Matthieu Moy https://matthieu-moy.fr/