Re: [PATCH v2] Thunderbird: fix appp.sh format problems
- From
- Marco Stornelli <marco.stornelli@gmail.com>
- Date
- Aug 31, 2012, 07:09 UTC
- Message-ID
- <50406328.60003@gmail.com>
- In-Reply-To
- <7vtxvks4aj.fsf@alter.siamese.dyndns.org>
Il 30/08/2012 19:00, Junio C Hamano ha scritto:
Show 29 quoted lines
> Marco Stornelli <marco.stornelli@gmail.com> writes: > >> The current script has got the following problems: >> >> 1) It doesn't work if the language used by Thunderbird is not English; >> 2) The field To: filled by format-patch is not evaluated; >> 3) The field Cc: is loaded only from Cc used in the commit message >> instead of using even the Cc field filled by format-patch in the email >> header. >> >> Added comments for point 1). Fixed point 2) and 3). >> >> Signed-off-by: Marco Stornelli <marco.stornelli@gmail.com> >> --- >> v2: changed the commit message to reflect better the script implementation > > I actually thought what the log message of the previous version > claimed to do was much more sensible. > > The language used in the above 3 items describe what you perceive as > a problem, but it is unclear what the desired behaviour that is > different from the current one is. (2) "... is not evaluated" > implies ", which is a problem, so fix it by evaluating it", but > there is no single obvious fix to (3) "loaded only from Cc in commit > and not Cc from format-patch". Should it ignore Cc from commit log > message, or should it take Cc from both log message and e-mail > header? I personally think it should the former, but it is not > clear which you think is the right thing to do (or perhaps you have > a third answer) if you only say "Fixed point 3".
Ok, I can change the commit. Actually with the new implementation Cc: is evaluated in both cases.
Show 43 quoted lines
>>
>> contrib/thunderbird-patch-inline/appp.sh | 18 ++++++++++++++----
>> 1 files changed, 14 insertions(+), 4 deletions(-)
>>
>> diff --git a/contrib/thunderbird-patch-inline/appp.sh b/contrib/thunderbird-patch-inline/appp.sh
>> index 5eb4a51..e6e1b85 100755
>> --- a/contrib/thunderbird-patch-inline/appp.sh
>> +++ b/contrib/thunderbird-patch-inline/appp.sh
>> @@ -6,6 +6,9 @@
>>
>> # ExternalEditor can be downloaded at http://globs.org/articles.php?lng=en&pg=2
>>
>> +# NOTE: You must change some words in this script according to the language
>> +# used by Mozilla Thunderbird, as <Subject>, <To>, <Don't remove this line>.
>> +
>> CONFFILE=~/.appprc
>>
>> SEP="-=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-"
>> @@ -26,17 +29,24 @@ fi
>> cd - > /dev/null
>>
>> SUBJECT=`sed -n -e '/^Subject: /p' "${PATCH}"`
>> -HEADERS=`sed -e '/^'"${SEP}"'$/,$d' $1`
>> BODY=`sed -e "1,/${SEP}/d" $1`
>> CMT_MSG=`sed -e '1,/^$/d' -e '/^---$/,$d' "${PATCH}"`
>> DIFF=`sed -e '1,/^---$/d' "${PATCH}"`
>>
>> -CCS=`echo -e "$CMT_MSG\n$HEADERS" | sed -n -e 's/^Cc: \(.*\)$/\1,/gp' \
>> - -e 's/^Signed-off-by: \(.*\)/\1,/gp'`
>> +export PATCH
>> +CCS=`perl -e 'local $/=undef; open FILE, $ENV{'PATCH'}; $text=<FILE>;
>> +close FILE; $cc = $1 if $text =~ /Cc: (.*?(,\n .*?)*)\n/s; $cc =~ s/\n//g;
>> +print $cc;'`
>> +
>> +TO=`perl -e 'local $/=undef; open FILE, $ENV{'PATCH'}; $text=<FILE>;
>> +close FILE; $to = $1 if $text =~ /To: (.*?(,\n .*?)*)\n/s; $to =~ s/\n//g;
>> +print $to;'`
>>
>> +# Change <Subject> before next line according to Thunderbird language
>> echo "$SUBJECT" > $1
>
> "before next line"??? I do not think you meant to rename the
> variable $SUBJECT to $<localized string for subject>.In my case I add a line before in this way:
.... SUBJECT=`echo $SUBJECT | sed 's/Subject/Oggetto/g'` echo "$SUBJECT" > $1 ....
> >> +# Change <To> according to Thunderbird language > > # Change "To: " according to...
Ok.
Show 12 quoted lines
> > would be less confusing, as the line has to "to" on it when viewed > case insensitively. > >> +echo "To: $TO" >> $1 > >> echo "Cc: $CCS" >> $1 >> -echo "$HEADERS" | sed -e '/^Subject: /d' -e '/^Cc: /d' >> $1 >> echo "$SEP" >> $1 >> >> echo "$CMT_MSG" >> $1 >