#!/bin/rc # # Reply to message shown in the Acme window # where it runs, or to the 1st mail named in # std. input or compose a new mail otherwise. rfork e if(~ $#file 0 && ~ $#winid 0 ){ echo must run under o/live or acme >[1=2] exit fail } d=`{pwd} if(~ $#file 0){ w = /mnt/acme/$winid file = `{cat $w/tag | sed 's/ .*//'} } fname=/mail/box/$user/out/Out.$pid if(! ~ $"file *text){ file=`{sed 1q | sed 's,(.* )?(20[0-9][0-9][0-9][0-9])/(.?\.?[0-9]*)/text.*,\2/\3/text,'} if(! ~ $"file *text){ file=new { echo 'To: ' echo 'Subject: ' echo } > $fname } if not file=`{pwd}^/^$"file } switch($file){ case /mail/*/text m=`{echo $file | sed 's,/text$,,'} upas/fs -p -f $m/raw rt=`{cat /mail/fs/mbox/1/replyto} f=`{cat /mail/fs/mbox/1/from} cc=`{cat /mail/fs/mbox/1/cc} if(! ~ $#cc 0) cc=`{echo $cc ; echo ; cat /mail/fs/mbox/1/to} if not cc=`{cat /mail/fs/mbox/1/to} attachs=`{for (f in `{ls $m | grep -v '/(text|L.mbox|raw)$'}) { test -d $f || echo $f }} { if (~ $#rt 0) echo To: $f if not echo To: $rt if (! ~ $#cc 0) echo Cc: $cc grep '^Subject: ' $m/text | sed 1q echo Replying: $m/raw for(a in $attachs) echo Attach: $a echo q '> ' $m/text } > $fname unmount /mail/fs } if(test -e /mnt/ui/appl/*ox*/ctl){ ox=`{ls -d /mnt/ui/appl/*ox*/ctl | sed 1q} echo look $fname >$ox } if not plumb $fname exit ''