Marco Stornelli <marco.stornelli@xxxxxxxxx> 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 from Cc used in the commit message > instead of using the Cc field filled by format-patch in the email > header. > > Added comments for point 1), added parsing of To: for point 2) and > added parsing of Cc: in the email header for point 3), removing the > Cc: parsing from commit message. > > Signed-off-by: Marco Stornelli <marco.stornelli@xxxxxxxxx> > --- > > v3: parse only To: and Cc: in the email header, fix some comments > v2: changed the commit message to reflect better the script implementation > v1: first draft > > contrib/thunderbird-patch-inline/appp.sh | 21 +++++++++++++++++---- > 1 files changed, 17 insertions(+), 4 deletions(-) > > diff --git a/contrib/thunderbird-patch-inline/appp.sh b/contrib/thunderbird-patch-inline/appp.sh > index 5eb4a51..9325366 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,27 @@ 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}"` > +MAILHEADER=`sed '/^$/q' "${PATCH}"` > + > +export MAILHEADER > +CCS=`perl -e 'local $/=undef; $text=$ENV{'MAILHEADER'}; > +$cc = $1 if $text =~ /Cc: (.*?(,\n .*?)*)\n/s; $cc =~ s/\n//g; > +print $cc;'` > > -CCS=`echo -e "$CMT_MSG\n$HEADERS" | sed -n -e 's/^Cc: \(.*\)$/\1,/gp' \ > - -e 's/^Signed-off-by: \(.*\)/\1,/gp'` > +TO=`perl -e 'local $/=undef; $text=$ENV{'MAILHEADER'}; > +$to = $1 if $text =~ /To: (.*?(,\n .*?)*)\n/s; $to =~ s/\n//g; > +print $to;'` > > +# Change Subject: before next line according to Thunderbird language > +# for example to translate in Italian: > +# SUBJECT=`echo $SUBJECT | sed -e 's/Subject/Oggetto/g'` > echo "$SUBJECT" > $1 Yeah that is much easier to understand. You would want to write it with 's/^Subject:/Oggetto:/', though; you want to rewrite Subject: Subject appears as Oggetto in Thunderbird for Italian to Oggetto: Subject appears as Oggetto in Thunderbird for Italian without touching "Subject" that appear anywhere other than at the beginning, suffixed with ":". > +# Change To: according to Thunderbird language > +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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html