1#!/bin/rc 2 3rfork e 4if(! test -d /n/sources/patch){ 5 rfork n 6 9fs sources 7} 8 9pref='' 10cd /n/sources/patch || { 11 echo 'can''t cd /n/sources/patch' >[2=1] 12 exit no-sources 13} 14 15if(~ $1 saved sorry applied undecided){ 16 pref=$1^'/' 17 shift 18} 19if(~ $#* 0) 20 *=(`{if(~ $pref *?*) cd $pref; ls -t | grep -v '^(saved|sorry|applied|undecided)$'}) 21 22trunc=(sed 5q) 23if(~ $#* 1) 24 trunc=cat 25 26 27{ 28for(i in $*){ 29 i=$pref^$i 30 if(test -f $i/origls) 31 cat $i/origls | awk '{$NF="'$i'"; print}' 32 if not 33 ls -ld $i 34 if(patch/okay $i){ 35 if(test -r $i/email) 36 echo from `{cat $i/email} 37 cat $i/files | awk '{print " " $1}' 38 cat $i/readme | sed 's/^/ /' | $trunc 39 if(test -f $i/notes){ 40 echo 41 cat $i/notes 42 } 43 } 44 if not 45 echo ' 'bad patch: $status >[2=1] 46 echo 47} 48 49} >/tmp/patchtmp.$pid 50 51cat /tmp/patchtmp.$pid 52rm -f /tmp/patchtmp.$pid 53