#!/bin/sh # Copyright 2008 Lukas Sandström # # AppendPatch - A script to be used together with ExternalEditor # 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 setglobal CONFFILE = "~/.appprc" setglobal SEP = '"-=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-'" if test -e $CONFFILE { setglobal LAST_DIR = $[grep -m 1 "^LAST_DIR=" $(CONFFILE)|sed -e 's/^LAST_DIR=//] cd $(LAST_DIR) } else { cd > /dev/null } setglobal PATCH = $[zenity --file-selection] if test "$Status" != "0" { #zenity --error --text "No patchfile given." exit 1 } cd - > /dev/null setglobal SUBJECT = $[sed -n -e '/^Subject: /p' $(PATCH)] setglobal HEADERS = $[sed -e '/^'"$(SEP)"'$/,$d' $1] setglobal BODY = $[sed -e "1,/$(SEP)/d" $1] setglobal CMT_MSG = $[sed -e '1,/^$/d' -e '/^---$/,$d' $(PATCH)] setglobal DIFF = $[sed -e '1,/^---$/d' $(PATCH)] setglobal CCS = $[echo -e "$CMT_MSG\n$HEADERS" | sed -n -e 's/^Cc: \(.*\)$/\1,/gp' \ -e 's/^Signed-off-by: \(.*\)/\1,/gp] echo $SUBJECT > $1 echo "Cc: $CCS" >> $1 echo $HEADERS | sed -e '/^Subject: /d' -e '/^Cc: /d' >> $1 echo $SEP >> $1 echo $CMT_MSG >> $1 echo "---" >> $1 if test "x$(BODY)x" != "xx" { echo >> $1 echo $BODY >> $1 echo >> $1 } echo $DIFF >> $1 setglobal LAST_DIR = $[dirname $(PATCH)] grep -v "^LAST_DIR=" $(CONFFILE) > "$(CONFFILE)_" echo "LAST_DIR=$(LAST_DIR)" >> "$(CONFFILE)_" mv "$(CONFFILE)_" $(CONFFILE)