1#!/bin/rc 2# patch/diff [-w] patch-name 3rfork e 4dopts=(-c) 5if (~ $1 -w) { 6 dopts=($dopts $1) 7 shift 8} 9if(! ~ $#* 1){ 10 echo 'usage: patch/diff patch-name' >[1=2] 11 exit usage 12} 13 14if(! test -d /n/sources/patch){ 15 rfork n 16 9fs sources 17} 18 19if(! test -d /n/sources/patch/$1){ 20 echo 'no such patch' /n/sources/patch/$1 >[1=2] 21 exit nopatch 22} 23 24cd /n/sources/patch/$1 || exit nopatch 25if(! patch/okay .){ 26 echo 'bad patch: '$status >[1=2] 27 exit badpatch 28} 29 30d=/n/sources/patch/$1 31fn xxx { 32 echo $1 33 diff $dopts $2.orig $d/$2 | sed 's/^/ /' 34} 35cat files | sed 's/^/xxx /' | rc 36