Re: [PATCH v2] Thunderbird: fix appp.sh format problems
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:54:36
Marco Stornelli [off-list ref] 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 <redacted> --- 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".
quoted hunk
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>.
+# Change <To> according to Thunderbird language
# Change "To: " according to... 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