From: Phillip Wood Date: Mon, 12 May 2025 13:02:43 GMT Subject: Re: [PATCH v2 04/11] contrib: remove "thunderbird-patch-inline" Message-ID: In-Reply-To: <87jz6mo4n9.fsf@gmail.com> Hi Collin On 12/05/2025 05:05, Collin Funk wrote: > Hi, > > You said: > >> The "thunderbird-patch-inline" directory in "contrib/" contains a script >> to send patch files via Thunderbird. This script depends on the >> ExternalEditor extension [1], which seems to be effectively unmaintained >> with the last update being in 2008. While the extension has eventually >> been maintained in [2], that fork hasn't received any updates since >> 2020, either. >> >> In addition, the script itself hasn't really seen a lot of maintenance >> outside of a couple of global cleanups. It is quite unlikely that this >> setup still works, and if it did it's even less likely that somebody >> uses this script. > > FWIW, in case it helps any Thunderbird users, there is External Editor > Revived which seems to work pretty well when I used Thunderbird [1]. Thanks for pointing that out. I noticed that extensional the other day but had not got around to posting it. > I think this script would be irrelevant with that extension though. Users who want to post patches using thunderbird would still benefit from the script. It needs tweaking to account for a different separator between the headers and message body though. The patch below does that. Best Wishes Phillip ---- >8 ---- From: Phillip Wood Subject: [PATCH] contrib: update thunderbird-patch-inline This script uses an extension to run an external editor from thunderbird that is no-longer maintained. Replace it with a different extension that is maintained[1]. The new extension uses a different separator between the mail headers and message body so update the script to accommodate that. Signed-Off-By: Phillip Wood [1] https://github.com/Frederick888/external-editor-revived --- diff --git a/contrib/thunderbird-patch-inline/README b/contrib/thunderbird-patch-inline/README index 000147bbe4a..aa00b379a60 100644 --- a/contrib/thunderbird-patch-inline/README +++ b/contrib/thunderbird-patch-inline/README @@ -1,6 +1,6 @@ -appp.sh is a script that is supposed to be used together with ExternalEditor -for Mozilla Thunderbird. It will let you include patches inline in e-mails -in an easy way. +appp.sh is a script that is supposed to be used together with +ExternalEditorRevived for Mozilla Thunderbird. It will let you include +patches inline in e-mails in an easy way. Usage: - Generate the patch with git format-patch. @@ -14,7 +14,7 @@ will be moved to the section between the --- and the diffstat. All S-O-B:s and Cc:s in the patch will be added to the CC list. -To set it up, just install External Editor and tell it to use appp.sh as the -editor. +To set it up, just install External Editor Revived and tell it to use +appp.sh as the editor. Zenity is a required dependency. diff --git a/contrib/thunderbird-patch-inline/appp.sh b/contrib/thunderbird-patch-inline/appp.sh index fdcc9483520..72c37aace4e 100755 --- a/contrib/thunderbird-patch-inline/appp.sh +++ b/contrib/thunderbird-patch-inline/appp.sh @@ -1,10 +1,12 @@ #!/bin/sh # Copyright 2008 Lukas Sandström # -# AppendPatch - A script to be used together with ExternalEditor +# AppendPatch - A script to be used together with ExternalEditorRevived # for Mozilla Thunderbird to properly include patches inline in e-mails. -# ExternalEditor can be downloaded at http://globs.org/articles.php?lng=en&pg=2 +# ExternalEditorRevived extension can be installed using the Add-ons +# manager in thunderbird, the source is available at +# https://github.com/Frederick888/external-editor-revived CONFFILE=~/.appprc @@ -25,8 +27,12 @@ fi cd - > /dev/null +# The headers are separated from the message body by a blanks +# line. However the message uses CR LF line ending so on platforms +# where the native line ending is LF we see a line with a single CR. +SEP="$(printf '^\r\\{0,1\\}$')" SUBJECT=$(sed -n -e '/^Subject: /p' "${PATCH}") -HEADERS=$(sed -e '/^'"${SEP}"'$/,$d' $1) +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}") @@ -37,7 +43,7 @@ CCS=$(printf '%s\n%s\n' "$CMT_MSG" "$HEADERS" | sed -n -e 's/^Cc: \(.*\)$/\1,/gp echo "$SUBJECT" > $1 echo "Cc: $CCS" >> $1 echo "$HEADERS" | sed -e '/^Subject: /d' -e '/^Cc: /d' >> $1 -echo "$SEP" >> $1 +echo >> $1 echo "$CMT_MSG" >> $1 echo "---" >> $1