%!PS-Adobe-1.0 %%Creator: devps (Pipeline Associates, Inc.) %%CreationDate: Fri Sep 13 13:04:11 1996 %%Pages: (atend) %%DocumentFonts: (atend) /devps 180 dict def devps begin /res 10.000000 def /y_offset 843 def /X{exch}bind def /mm {transform round X round X itransform} bind def /r{rmoveto}bind def /m{moveto}bind def /l{lineto}bind def /rl{rlineto}bind def /st{stroke}bind def /gs{gsave}bind def /gr{grestore}bind def /cp{currentpoint}bind def /np{newpath}bind def /ct{curveto}bind def systemdict /setpacking known { /savepacking currentpacking def true setpacking } if /m0{0 0 moveto}bind def /xc{//res div}bind def /yc{//res neg div //y_offset add}bind def /lc{yc X xc X l st}bind def /mc{yc X xc X m}bind def /el{gs /a X def a div 1 X scale cp np a xc 2 div 0 360 arc st gr}bind def /ar{cp 7 2 roll np xc 5 1 roll atan 3 1 roll atan X arc st}bind def /sp{yc X xc X 6 2 roll yc X xc X 6 2 roll yc X xc X 6 2 roll ct}bind def /V{//res neg div //y_offset add currentpoint pop X m}bind def /H{//res div 0 transform X round X itransform pop currentpoint X pop moveto}bind def /h{//res div 0 r}bind def /v{//res neg div 0 X r}bind def /S{X H show}bind def /A{H //res div 1 index stringwidth pop sub 1 index length div 0 3 2 roll ashow}bind def /psize 10 def /height 0 def /cheight { height 0 ne { height } { psize } ifelse } bind def /slant 0 def /FF{findfont X dup 30 div 0 mm pop setlinewidth /psize X def [psize 0 cheight slant sin slant cos div mul cheight 0 0] makefont setfont}bind def /shade{gs /dy X def /dx X def np m 0 /dy rl /dx 0 rl 0 /dy neg rl /dx neg 0 rl closepath .9 setgray fill gr}bind def 1 setlinecap /resolution res 72 mul def /startFig { /SavedState save def userdict maxlength dict begin currentpoint transform DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix itransform moveto /ury exch def /urx exch def /lly exch def /llx exch def /y exch 72 mul resolution div def /x exch 72 mul resolution div def currentpoint /cy exch def /cx exch def /sx x urx llx sub div def /sy y ury lly sub div def sx sy scale cx sx div llx sub cy sy div ury sub translate /DefFigCTM matrix currentmatrix def /initmatrix { DefFigCTM setmatrix } def /defaultmatrix { DefFigCTM exch copy } def /initgraphics { DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap setlinewidth setmatrix DefFigCTM setmatrix } def /showpage { initgraphics } def }bind def /clipFig { currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll exch lineto exch lineto exch lineto closepath clip newpath moveto }bind def /doclip { llx lly urx ury clipFig } def /endFig { end SavedState restore }bind def /globalstart { fontnum psize slant height resolution currentpoint pagesave restore gsave }bind def /globalend { grestore moveto /resolution exch def /height exch def /slant exch def /psize exch def /fontnum exch def F /pagesave save def }bind def /fontnum 1 def systemdict /setpacking known { savepacking setpacking} if end /BP{ save mark devps begin m0 /DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecap currentlinejoin currentdash currentgray currentmiterlimit ] cvx def }bind def /EP{ end cleartomark restore showpage}def /R{/Times-Roman FF}def /B{/Times-Bold FF}def /I{/Times-Italic FF}def /Encoding-1 256 array def 0 1 255 {Encoding-1 exch /.notdef put} for Encoding-1 8#301 StandardEncoding 8#101 26 getinterval putinterval %A-B Encoding-1 8#341 StandardEncoding 8#141 26 getinterval putinterval %a-b Encoding-1 8#241 StandardEncoding 8#301 16 getinterval putinterval %accents Encoding-1 8#373 StandardEncoding 8#365 1 getinterval putinterval %dotlessi Encoding-1 dup 8#41 /copyright put dup 8#42 /registered put dup 8#43 /trademark put dup 8#44 /logicalnot put dup 8#45 /Eth put dup 8#46 /eth put dup 8#47 /Thorn put dup 8#50 /thorn put dup 8#51 /brokenbar put dup 8#52 /degree put dup 8#53 /divide put dup 8#54 /multiply put dup 8#55 /minus put dup 8#56 /onehalf put dup 8#57 /onequarter put dup 8#60 /threequarters put dup 8#101 /Aacute put dup 8#102 /Acircumflex put dup 8#103 /Adieresis put dup 8#104 /Agrave put dup 8#105 /Aring put dup 8#106 /Atilde put dup 8#107 /Ccedilla put dup 8#110 /Eacute put dup 8#111 /Ecircumflex put dup 8#112 /Edieresis put dup 8#113 /Egrave put dup 8#114 /Iacute put dup 8#115 /Icircumflex put dup 8#116 /Idieresis put dup 8#117 /Igrave put dup 8#120 /Ntilde put dup 8#121 /Oacute put dup 8#122 /Ocircumflex put dup 8#123 /Odieresis put dup 8#124 /Ograve put dup 8#125 /Otilde put dup 8#126 /Scaron put dup 8#127 /Uacute put dup 8#130 /Ucircumflex put dup 8#131 /Udieresis put dup 8#132 /Ugrave put dup 8#133 /Ydieresis put dup 8#134 /Zcaron put dup 8#135 /aacute put dup 8#136 /acircumflex put dup 8#137 /adieresis put dup 8#140 /agrave put dup 8#141 /aring put dup 8#142 /atilde put dup 8#143 /ccedilla put dup 8#144 /eacute put dup 8#145 /ecircumflex put dup 8#146 /edieresis put dup 8#147 /egrave put dup 8#150 /iacute put dup 8#151 /icircumflex put dup 8#152 /idieresis put dup 8#153 /igrave put dup 8#154 /ntilde put dup 8#155 /oacute put dup 8#156 /ocircumflex put dup 8#157 /odieresis put dup 8#160 /ograve put dup 8#161 /otilde put dup 8#162 /scaron put dup 8#163 /uacute put dup 8#164 /ucircumflex put dup 8#165 /udieresis put dup 8#166 /ugrave put dup 8#167 /ydieresis put dup 8#170 /zcaron put pop /Enc-dict 30 dict def Enc-dict /tmpstr1 50 string put Enc-dict /tmpstr2 50 string put Enc-dict /tmpstr3 50 string dup (Encoding-) exch cvs pop put /AEnc-def { % arguments: the original font's name, encoding nr Enc-dict begin tmpstr2 cvs /Enc-no exch def % Remember the number in a string dup /OrigName exch def % remember the name findfont dup maxlength dict /newdict exch def % get dictionary for new font { exch dup /FID ne { exch newdict 3 1 roll put } { pop pop } % Ignore FID ifelse } forall newdict begin /Encoding tmpstr3 9 Enc-no putinterval tmpstr3 0 9 Enc-no length add getinterval cvn load def % Replace encoding currentdict /UniqueID known { /UniqueID UniqueID Enc-no cvi 49999 mul add def } if % Derive New UniqueID end % newdict /FNlength OrigName tmpstr1 cvs length def % convert name, remember length FNlength 1 add Enc-no length add string dup 0 OrigName tmpstr1 cvs putinterval dup FNlength (-) putinterval dup FNlength 1 add Enc-no putinterval dup 0 tmpstr1 0 FNlength getinterval putinterval % Add old name cvn dup newdict /FontName 3 2 roll put newdict definefont end % Enc-dict } def /Times-Bold 1 AEnc-def pop /B-1{/Times-Bold-1 FF}def %%EndProlog %%Page: 1 1 BP /slant 0 def /height 0 def 480 V 10 R 720(PATCH)S 1059(\()S 1101(1)S 1159(\))S 2696(Eighth)S (Edition)296 2989 A 4788(PATCH)S 5127(\()S 5169(1)S 5227(\))S 960 V 9 R 720(N)S 722(NA)S 790(AM)S 858(ME)S 940(E)S 1080 V 10 R 1080(patch)S 1323(-)S 1382(apply)S 1630(a)S 1700(diff)S 1871(\256le)S 2025(to)S 2128(an)S 2248(original)S 1248 V 9 R 720(S)S 722(SY)S 774(YN)S 842(NO)S 910(OP)S 978(PS)S 1030(SI)S 1082(IS)S 1115(S)S 1368 V 10 B 1080(patch)S 10 R 1359([options])S 1760([orig\256le)S 2123([patch\256le]])S 2610([+)S 2739([options])S ([orig\256le]]...)468 3140 A 1608 V 1080(but)S 1246(usually)S 1574(just)S 1848 V 10 B 1080(patch)S 10 R 1359()S 6600 V 10 R 1330(sets)S 1520(the)S 1682(maximum)S 2128(fuzz)S 2341(factor.)S 2666(This)S 2884(switch)S 3186(only)S 3403(applies)S 3728(to)S 3846(context)S 4182(diffs,)S 4432(and)S 4617(causes)S 10 I 4920(patch)S 10 R 5183(to)S 6720 V (ignore)257 1330 A 1615(up)S 1743(to)S 1849(that)S 2028(many)S 2279(lines)S 2497(in)S (looking)306 2603 A 2937(for)S (places)252 3082 A 3361(to)S 3466(install)S 3739(a)S (hunk.)225 3811 A 4088(Note)S 4311(that)S 4489(a)S 4561(larger)S 4824(fuzz)S 5025(factor)S 6840 V 1330(increases)S 1731(the)S (odds)189 1885 A 2105(of)S 2220(a)S 2296(faulty)S 2562(patch.)S 2862(The)S 3051(default)S 3363(fuzz)S 3569(factor)S 3837(is)S 3936(2,)S 4043(and)S 4220(it)S 4308(may)S 4513(not)S 4673(be)S 4800(set)S 4944(to)S 5054(more)S 6960 V 1330(than)S 1528(the)S 1676(number)S 2008(of)S 2117(lines)S 2332(of)S 2441(context)S 2762(in)S 2865(the)S 3013(context)S 3334(diff,)S 3530(ordinarily)S 3952(3.)S 7128 V 10 B-1 1080(-)S 10 B 1137(l)S 10 R 1330(causes)S 1621(the)S 1772(pattern)S 2080(matching)S 2482(to)S 2588(be)S (done)195 2711 A 2934(loosely,)S 3277(in)S 3383(case)S 3585(the)S 3736(tabs)S 3927(and)S (spaces)263 4101 A 4393(have)S 4612(been)S (munged)323 4831 A 5183(in)S 7248 V (your)184 1330 A (input)206 1548 A 1788(\256le.)S 2001(Any)S 2208(sequence)S 2611(of)S (whitespace)448 2729 A 3211(in)S 3323(the)S 3480(pattern)S 3794(line)S (will)157 3978 A 4168(match)S 4447(any)S 4625(sequence)S 5027(in)S 5138(the)S 7368 V (input)206 1330 A 1561(\256le.)S 1765(Normal)S 2098(characters)S 2533(must)S (still)151 2753 A 2929(match)S 3200(exactly.)S 3566(Each)S 3793(line)S 3969(of)S 4078(the)S 4226(context)S 4547(must)S (still)151 4767 A 4944(match)S 5216(a)S 7488 V 1330(line)S 1506(in)S 1609(the)S (input)206 1757 A 1988(\256le.)S 7903 V 720(September)S 1176(13,)S (1996)200 1326 A 2780(\()S 2822(LOCAL)S 3167(\))S 4990(Page)S 5211(2)S 8143 V EP %%Page: 3 3 BP /slant 0 def /height 0 def 480 V 10 R 720(PATCH)S 1059(\()S 1101(1)S 1159(\))S 2696(Eighth)S (Edition)296 2989 A 4788(PATCH)S 5127(\()S 5169(1)S 5227(\))S 960 V 10 B-1 1080(-)S 10 B 1137(n)S 10 R 1330(forces)S 10 I 1602(patch)S 10 R 1850(to)S 1953(interpret)S 2320(the)S 2468(patch)S 2711(\256le)S 2865(as)S 2974(a)S 3044(normal)S 3354(diff.)S 1128 V 10 B-1 1080(-)S 10 B 1137(N)S 10 R 1330(causes)S 10 I 1618(patch)S 10 R 1866(to)S (ignore)257 1969 A 2251(patches)S 2578(that)S 2754(it)S 2835(thinks)S 3105(are)S 3254(reversed)S 3621(or)S 3730(already)S 4052(applied.)S 4423(See)S 4594(also)S 10 B-1 4781(-)S 10 B 4838(R)S 4936(.)S 1296 V 10 B-1 1080(-)S 10 B 1137(o)S 10 R 1330(causes)S 1618(the)S 1766(next)S 1964(argument)S 2369(to)S 2472(be)S 2592(interpreted)S 3054(as)S 3163(the)S 3311(output)S 3592(\256le)S 3746(name.)S 1464 V 10 B-1 1080(-)S 10 B 1137(p)S 1584 V 10 R 1330(sets)S 1511(the)S 1664(pathname)S 2085(strip)S (count,)248 2294 A 2572(which)S 2849(controls)S 3204(how)S 3408(pathnames)S (found)234 3869 A 4134(in)S 4243(the)S 4397(patch)S 4646(\256le)S 4806(are)S 4961(treated,)S 1704 V 1330(in)S 1444(case)S 1654(the)S (you)150 1813 A 1999(keep)S (your)184 2225 A 2445(\256les)S 2648(in)S 2761(a)S 2841(different)S 3224(directory)S 3623(than)S 3831(the)S 3989(person)S 4292(who)S 4500(sent)S 4697(out)S 4860(the)S 5018(patch.)S 1824 V 1330(The)S 1523(strip)S (count)223 1738 A 1997(speci\256es)S 2380(how)S 2589(many)S 2848(slashes)S 3169(are)S 3330(to)S 3445(be)S 3577(stripped)S 3938(from)S 4171(the)S 4331(front)S 4564(of)S 4685(the)S 4845(pathname.)S 1944 V 1330(\(Any)S 1576(intervening)S 2073(directory)S 2476(names)S 2772(also)S 2973(go)S 3112(away.\))S 3448(For)S 3627(example,)S (supposing)406 4032 A 4476(the)S 4637(\256lename)S 5022(in)S 5138(the)S 2064 V 1330(patch)S 1573(\256le)S 1727(was)S 2304 V 1690(/u/howard/src/blur\257/blur\257.c)S 2544 V (setting)268 1330 A 10 B-1 1623(-)S 10 B 1680(p)S 10 R 1761(or)S 10 B-1 1870(-)S 10 B 1927(p0)S 10 R 2058(gives)S 2295(the)S 2443(entire)S 2698(pathname)S 3114(unmodi\256ed,)S 10 B-1 3621(-)S 10 B 3678(p1)S 10 R 3809(gives)S 2784 V 1690(u/howard/src/blur\257/blur\257.c)S 3024 V (without)307 1330 A 1662(the)S 1810(leading)S 2131(slash,)S 10 B-1 2382(-)S 10 B 2439(p4)S 10 R 2570(gives)S 3264 V 1690(blur\257/blur\257.c)S 3504 V 1330(and)S 1508(not)S 1669(specifying)S 10 B-1 2121(-)S 10 B 2178(p)S 10 R 2267(at)S 2373(all)S 2507(just)S 2685(gives)S (you)150 2930 A 3113("blur\257.c",)S 3541(unless)S 3826(all)S 3961(of)S 4079(the)S 4236(directories)S 4696(in)S 4808(the)S 4965(leading)S 3624 V 1330(path)S 1539(\(u/howard/src/blur\257\))S 2415(exist)S 2641(and)S 2822(that)S 3009(path)S 3218(is)S 3321(relative,)S 3685(in)S 3798(which)S 4079(case)S (you)150 4288 A 4473(get)S 4631(the)S 4789(entire)S 5054(path-)S 3744 V 1330(name)S 1577(unmodi\256ed.)S 2113(Whatever)S (you)150 2534 A 2713(end)S 2887(up)S 3016(with)S 3224(is)S (looked)273 3320 A 3622(for)S 3769(either)S 4028(in)S 4136(the)S 4289(current)S 4605(directory,)S 5024(or)S 5138(the)S 3864 V 1330(directory)S 1719(speci\256ed)S 2102(by)S 2227(the)S 10 B-1 2375(-)S 10 B 2432(d)S 10 R 2513(switch.)S 4032 V 10 B-1 1080(-)S 10 B 1137(r)S 10 R 1330(causes)S 1618(the)S 1766(next)S 1964(argument)S 2369(to)S 2472(be)S 2592(interpreted)S 3054(as)S 3163(the)S 3311(reject)S 3561(\256le)S 3715(name.)S 4200 V 10 B-1 1080(-)S 10 B 1137(R)S 10 R 1330(tells)S 10 I 1528(patch)S 10 R 1781(that)S 1962(this)S 2137(patch)S 2385(was)S 2572(created)S 2894(with)S 3103(the)S 3256(old)S 3414(and)S 3589(new)S 3787(\256les)S 3986(swapped.)S 4419(\(Yes,)S 4666(I'm)S 4843(afraid)S 5110(that)S 4320 V 1330(does)S 1542(happen)S (occasionally,)528 1860 A 2416(human)S 2717(nature)S 2997(being)S 3248(what)S 3472(it)S 3556(is.\))S 10 I 3735(Patch)S 10 R (will)157 3997 A 4181(attempt)S 4510(to)S 4615(swap)S (each)185 4849 A (hunk)200 5061 A 4440 V (around)279 1330 A 1635(before)S 1919(applying)S 2297(it.)S 2430(Rejects)S (will)157 2754 A 2938(come)S 3183(out)S 3338(in)S 3443(the)S 3593(swapped)S 3972(format.)S 4318(The)S 10 B-1 4502(-)S 10 B 4559(R)S 10 R 4659(switch)S (will)157 4949 A 5133(not)S 4560 V 1330(work)S 1569(with)S 1779(ed)S 1905(diff)S 2082(scripts)S (because)319 2376 A 2726(there)S 2959(is)S 3057(too)S (little)185 3216 A 3432(information)S 3938(to)S 4047(reconstruct)S 4526(the)S 4680(reverse)S 5003(opera-)S 4680 V 1330(tion.)S 4860 V 1330(If)S 1428(the)S 1581(\256rst)S (hunk)200 1768 A 1998(of)S 2112(a)S 2187(patch)S 2435(fails,)S 10 I 2664(patch)S 10 R (will)157 2917 A 3105(reverse)S 3428(the)S (hunk)200 3582 A 3813(to)S 3922(see)S 4082(if)S 4175(it)S 4262(can)S 4433(be)S 4559(applied)S 4886(that)S 5068(way.)S 4980 V 1330(If)S 1427(it)S 1512(can,)S (you)150 1706 A (will)157 1885 A 2071(be)S 2195(asked)S 2453(if)S (you)150 2544 A 2723(want)S 2948(to)S 3055(have)S 3274(the)S 10 B-1 3426(-)S 10 B 3483(R)S 10 R 3584(switch)S 3875(set.)S 4065(If)S 4161(it)S 4245(can't,)S 4500(the)S 4651(patch)S (will)157 4897 A 5082(con-)S 5100 V 1330(tinue)S 1561(to)S 1669(be)S 1794(applied)S 2120(normally.)S 2563(\(Note:)S 2851(this)S (method)301 3026 A (cannot)268 3357 A 3655(detect)S 3926(a)S 4001(reversed)S 4373(patch)S 4622(if)S 4715(it)S 4802(is)S 4900(a)S 4976(normal)S 5220 V 1330(diff)S 1502(and)S 1673(if)S 1761(the)S 1910(\256rst)S 2092(command)S 2513(is)S 2605(an)S 2725(append)S 3040(\(i.e.)S 3222(it)S (should)267 3303 A 3595(have)S 3810(been)S 4025(a)S 4095(delete\))S 4395(since)S 4627(appends)S 4981(always)S 5340 V (succeed,)344 1330 A 1707(due)S 1885(to)S 1996(the)S 2152(fact)S 2337(that)S 2521(a)S 2599(null)S 2788(context)S (will)157 3117 A 3307(match)S 3586(anywhere.)S 4061(Luckily,)S 4433(most)S 4662(patches)S 4998(add)S 5177(or)S 5460 V 1330(change)S 1656(lines)S 1887(rather)S 2164(than)S 2378(delete)S 2660(them,)S 2927(so)S 3057(most)S 3293(reversed)S 3676(normal)S 4002(diffs)S (will)157 4228 A 4426(begin)S 4690(with)S 4910(a)S 4995(delete,)S 5580 V 1330(which)S (will)157 1601 A 1783(fail,)S 1968(triggering)S 2390(the)S 2538(heuristic.\))S 5748 V 10 B-1 1080(-)S 10 B 1137(s)S 10 R 1330(makes)S 10 I 1612(patch)S 10 R 1860(do)S 1985(its)S 2105(work)S 2337(silently,)S 2683(unless)S 2959(an)S 3079(error)S 3301(occurs.)S 5916 V 10 B-1 1080(-)S 10 B 1137(S)S 10 R 1330(causes)S 10 I 1618(patch)S 10 R 1866(to)S (ignore)257 1970 A 2253(this)S 2424(patch)S 2668(from)S 2890(the)S 3039(patch)S 3283(\256le,)S 3463(but)S 3617(continue)S 3989(on)S (looking)306 4115 A 4447(for)S 4591(the)S 4740(next)S 4939(patch)S 5183(in)S 6036 V 1330(the)S 1478(\256le.)S 1682(Thus)S 6276 V 1690(patch)S 1933(-S)S 2048(+)S 2130(-S)S 2245(+)S 2327()S 2352 V 10 R 1330(sets)S 1506(internal)S (debugging)423 1839 A 2287(\257ags,)S 2527(and)S 2697(is)S 2789(of)S 2898(interest)S 3220(only)S 3423(to)S 10 I 3526(patch)S 10 R 3774(patchers.)S 2520 V 9 R 720(A)S 722(AU)S 790(UT)S 858(TH)S 916(HO)S 984(OR)S 1052(R)S 2640 V 10 R 1080(Larry)S 1330(Wall)S 1551()S 2760 V 1080(with)S 1284(many)S 1532(other)S 1764(contributors.)S 2928 V 9 R 720(E)S 722(EN)S 780(NV)S 848(VI)S 916(IR)S 949(RO)S 1011(ON)S 1079(NM)S 1147(ME)S 1229(EN)S 1287(NT)S 1355(T)S 3048 V 10 B 1080(TMPDIR)S 3168 V 10 R 1440(Directory)S 1852(to)S 1955(put)S 2108(temporary)S 2547(\256les)S 2740(in;)S 2871(default)S 3176(is)S 3268(/tmp.)S 3336 V 10 B 1080(SIMPLE_BACKUP_SUFFIX)S 3456 V 10 R 1440(Extension)S 1867(to)S 1970(use)S 2129(for)S (backup)290 2272 A 2587(\256le)S 2741(names)S 3023(instead)S 3333(of)S 3442(``.orig'')S 3790(or)S (``\304''.)195 3899 A 3624 V 10 B 1080(VERSION_CONTROL)S 3744 V 10 R 1440(Selects)S 1751(when)S 1994(numbered)S (backup)290 2421 A 2736(\256les)S 2929(are)S 3078(made.)S 3912 V 9 R 720(F)S 722(FI)S 774(IL)S 807(LE)S 865(ES)S 923(S)S 4032 V 10 R 1080($TMPDIR/patch*)S 4200 V 9 R 720(S)S 722(SE)S 774(EE)S 832(E)S 928(A)S 930(AL)S 998(LS)S 1056(SO)S 1108(O)S 4320 V 10 R (diff\(1\))264 1080 A 4488 V 9 R 720(N)S 722(NO)S 790(OT)S 858(TE)S 916(ES)S 974(S)S 1064(F)S 1066(FO)S 1118(OR)S 1186(R)S 1286(P)S 1288(PA)S 1340(AT)S 1408(TC)S 1466(CH)S 1528(H)S 1634(S)S 1636(SE)S 1688(EN)S 1746(ND)S 1814(DE)S 1882(ER)S 1940(RS)S 2002(S)S 4608 V 10 R 1080(There)S 1343(are)S 1494(several)S 1807(things)S (you)150 2079 A (should)267 2256 A 2550(bear)S 2752(in)S 2858(mind)S 3092(if)S (you)150 3182 A 3360(are)S 3512(going)S 3768(to)S 3874(be)S 3997(sending)S 4337(out)S 4493(patches.)S 4873(First,)S (you)150 5111 A 4728 V 1080(can)S 1256(save)S 1471(people)S 1775(a)S 1856(lot)S 1998(of)S 2118(grief)S 2345(by)S 2481(keeping)S 2835(a)S 2915(patchlevel.h)S 3439(\256le)S 3603(which)S 3884(is)S 3986(patched)S 4334(to)S 4447(increment)S 4885(the)S 5043(patch)S 4848 V 1080(level)S 1305(as)S 1418(the)S 1570(\256rst)S 1756(diff)S 1931(in)S 2038(the)S 2190(patch)S 2437(\256le)S (you)150 2595 A 2774(send)S 2987(out.)S 3194(If)S (you)150 3291 A 3470(put)S 3627(a)S 3701(Prereq:)S 4022(line)S 4202(in)S 4309(with)S 4517(the)S 4669(patch,)S 4941(it)S 5026(won't)S 4968 V 1080(let)S 1219(them)S 1458(apply)S 1719(patches)S 2059(out)S 2225(of)S 2347(order)S (without)307 2598 A 2943(some)S 3192(warning.)S (Second,)321 3609 A 3967(make)S 4222(sure)S (you've)279 4427 A 4743(speci\256ed)S 5138(the)S 5088 V 1080(\256lenames)S 1493(right,)S 1735(either)S 1992(in)S 2097(a)S 2169(context)S 2492(diff)S 2665(header,)S 2986(or)S 3097(with)S 3303(an)S 3425(Index:)S 3709(line.)S 3937(If)S (you)150 4033 A 4211(are)S 4363(patching)S 4737(something)S 5183(in)S 5208 V 1080(a)S (subdirectory,)528 1155 A 1713(be)S 1838(sure)S 2036(to)S 2144(tell)S 2303(the)S 2456(patch)S 2704(user)S 2902(to)S 3010(specify)S 3331(a)S 10 B-1 3406(-)S 10 B 3463(p)S 10 R 3549(switch)S 3842(as)S 3955(needed.)S 4319(Third,)S (you)150 4597 A 4776(can)S 4945(create)S 5216(a)S 5328 V 1080(\256le)S 1237(by)S 1365(sending)S 1705(out)S 1861(a)S 1934(diff)S 2108(that)S 2287(compares)S 2701(a)S 2774(null)S 2958(\256le)S 3115(to)S 3221(the)S 3372(\256le)S (you)150 3530 A 3709(want)S 3934(to)S 4041(create.)S 4362(This)S (will)157 4570 A 4756(only)S 4963(work)S 5199(if)S 5448 V 1080(the)S 1229(\256le)S (you)150 1384 A 1560(want)S 1782(to)S 1886(create)S 2154(doesn't)S 2476(exist)S 2692(already)S 3015(in)S 3119(the)S 3268(target)S 3524(directory.)S 3963(Fourth,)S 4281(take)S 4474(care)S 4668(not)S 4821(to)S 4924(send)S 5133(out)S 5568 V 1080(reversed)S 1457(patches,)S 1819(since)S 2061(it)S 2152(makes)S 2444(people)S (wonder)302 2747 A 3084(whether)S 3444(they)S 3652(already)S 3985(applied)S 4317(the)S 4476(patch.)S 4780(Fifth,)S 5037(while)S 5688 V (you)150 1080 A 1264(may)S 1471(be)S 1600(able)S 1802(to)S 1914(get)S 2071(away)S 2317(with)S (putting)284 2529 A (582)150 2846 A 3029(diff)S 3208(listings)S 3531(into)S 3720(one)S 3898(\256le,)S 4085(it)S 4174(is)S 4274(probably)S 4664(wiser)S 4916(to)S (group)234 5027 A 5808 V 1080(related)S 1380(patches)S 1707(into)S 1888(separate)S 2244(\256les)S 2437(in)S 2540(case)S 2739(something)S 3182(goes)S 3391(haywire.)S 5976 V 9 R 720(D)S 722(DI)S 790(IA)S 823(AG)S 891(GN)S 959(NO)S 1027(OS)S 1095(ST)S 1147(TI)S 1205(IC)S 1238(CS)S 1300(S)S 6096 V 10 R 1080(Too)S 1267(many)S 1515(to)S 1618(list)S 1766(here,)S 1990(but)S 2143(generally)S 2543(indicative)S 2965(that)S 10 I 3141(patch)S 10 R 3389(couldn't)S 3749(parse)S (your)184 3987 A 4196(patch)S 4439(\256le.)S 6264 V 1080(The)S 1279(message)S (``Hmm...'')440 1662 A 2144(indicates)S 2544(that)S 2737(there)S 2982(is)S (unprocessed)497 3092 A 3632(text)S 3826(in)S 3947(the)S 4113(patch)S 4374(\256le)S 4546(and)S 4734(that)S 10 I 4928(patch)S 10 R 5194(is)S 6384 V 1080(attempting)S 1535(to)S 1638(intuit)S 1875(whether)S 2225(there)S 2452(is)S 2544(a)S 2614(patch)S 2857(in)S 2960(that)S 3136(text)S 3312(and,)S 3507(if)S 3594(so,)S 3733(what)S 3954(kind)S 4157(of)S 4266(patch)S 4509(it)S 4590(is.)S 6552 V 10 I 1080(Patch)S 10 R (will)157 1340 A 1522(exit)S 1698(with)S 1902(a)S (non-zero)358 1972 A 2355(status)S 2609(if)S 2696(any)S 2866(reject)S 3116(\256les)S 3309(were)S 3531(created.)S 3898(When)S 4163(applying)S 4539(a)S 4609(set)S 4746(of)S 4855(patches)S 5183(in)S 6672 V 1080(a)S (loop)178 1158 A 1369(it)S (behooves)379 1458 A (you)150 1870 A 2053(to)S 2164(check)S 2431(this)S 2608(exit)S 2791(status)S 3052(so)S (you)150 3173 A (don't)212 3355 A 3599(apply)S 3854(a)S 3931(later)S 4143(patch)S 4393(to)S 4503(a)S 4580(partially)S 4948(patched)S 6792 V 1080(\256le.)S 6960 V 9 R 720(C)S 722(CA)S 784(AV)S 852(VE)S 920(EA)S 978(AT)S 1046(TS)S 1104(S)S 7080 V 10 I 1080(Patch)S 10 R (cannot)268 1345 A 1643(tell)S 1802(if)S 1894(the)S 2047(line)S 2228(numbers)S 2604(are)S 2758(off)S 2906(in)S 3014(an)S 3139(ed)S 3264(script,)S 3544(and)S 3720(can)S 3891(only)S 4100(detect)S 4372(bad)S 4548(line)S 4730(numbers)S 5107(in)S 5216(a)S 7200 V 1080(normal)S 1393(diff)S 1567(when)S 1813(it)S 1897(\256nds)S 2120(a)S 2193(``change'')S 2642(or)S 2754(a)S 2827(``delete'')S 3232(command.)S 3706(A)S 3807(context)S 4130(diff)S 4303(using)S 4547(fuzz)S 4748(factor)S 5011(3)S 5088(may)S 7320 V 1080(have)S 1301(the)S 1455(same)S 1693(problem.)S (Until)207 2109 A 2347(a)S 2423(suitable)S 2767(interactive)S (interface)354 3224 A 3609(is)S 3707(added,)S (you)150 4003 A (should)267 4185 A 4484(probably)S 4873(do)S 5005(a)S 5082(con-)S 7440 V 1080(text)S 1257(diff)S 1429(in)S 1533(these)S 1766(cases)S 2005(to)S 2109(see)S 2264(if)S 2352(the)S 2501(changes)S 2851(made)S 3095(sense.)S 3389(Of)S 3522(course,)S (compiling)407 3836 A (without)307 4269 A 4602(errors)S 4864(is)S 4956(a)S 5026(pretty)S 7903 V 720(September)S 1176(13,)S (1996)200 1326 A 2780(\()S 2822(LOCAL)S 3167(\))S 4990(Page)S 5211(4)S 8143 V EP %%Page: 5 5 BP /slant 0 def /height 0 def 480 V 10 R 720(PATCH)S 1059(\()S 1101(1)S 1159(\))S 2696(Eighth)S (Edition)296 2989 A 4788(PATCH)S 5127(\()S 5169(1)S 5227(\))S 960 V (good)200 1080 A 1305(indication)S 1732(that)S 1908(the)S 2056(patch)S 2299(worked,)S 2651(but)S 2804(not)S 2957(always.)S 1128 V 10 I 1080(Patch)S 10 R 1354(usually)S (produces)363 1683 A 2085(the)S 2247(correct)S 2567(results,)S 2894(even)S 3123(when)S 3380(it)S 3475(has)S 3649(to)S 3767(do)S 3907(a)S 3992(lot)S 4138(of)S 4262(guessing.)S 4703(However,)S 5138(the)S 1248 V 1080(results)S 1377(are)S 1535(guaranteed)S 2010(to)S 2121(be)S 2249(correct)S 2563(only)S 2774(when)S 3025(the)S 3181(patch)S 3432(is)S 3532(applied)S 3861(to)S 3972(exactly)S 4296(the)S 4452(same)S 4692(version)S 5021(of)S 5138(the)S 1368 V 1080(\256le)S 1234(that)S 1410(the)S 1558(patch)S 1801(was)S 1983(generated)S 2400(from.)S 1536 V 9 R 720(B)S 722(BU)S 784(UG)S 852(GS)S 920(S)S 1656 V 10 R 1080(Could)S 1355(be)S 1480(smarter)S (about)223 1813 A 2067(partial)S 2356(matches,)S 2742(excessively)S 3237(deviant)S 3564(offsets)S 3864(and)S 4040(swapped)S 4423(code,)S 4669(but)S 4828(that)S 5010(would)S 1776 V 1080(take)S 1273(an)S 1393(extra)S 1620(pass.)S 1944 V 1080(If)S 1174(code)S 1390(has)S 1550(been)S (duplicated)419 1766 A 2211(\(for)S 2389(instance)S 2745(with)S 2950(#ifdef)S 3217(OLDCODE)S (...)75 3726 A 3827(#else)S (...)75 4061 A 4188(#endif\),)S 10 I 4531(patch)S 10 R 4781(is)S 4875(incapable)S 2064 V 1080(of)S 1190(patching)S 1562(both)S 1765(versions,)S 2150(and,)S 2345(if)S 2432(it)S 2513(works)S 2784(at)S 2882(all,)S (will)157 3033 A 3215(likely)S 3469(patch)S 3712(the)S (wrong)257 3860 A 4142(one,)S 4337(and)S 4507(tell)S (you)150 4661 A 4836(that)S 5012(it)S 5093(suc-)S 2184 V (ceeded)280 1080 A 1385(to)S (boot.)203 1488 A 2352 V 1080(If)S (you)150 1184 A 1370(apply)S 1629(a)S 1710(patch)S (you've)279 1964 A 2279(already)S 2612(applied,)S 10 I 2969(patch)S 10 R (will)157 3228 A 3421(think)S 3663(it)S 3755(is)S 3858(a)S 3939(reversed)S 4317(patch,)S 4596(and)S 4778(offer)S 5012(to)S 5127(un-)S 2472 V 1080(apply)S 1328(the)S 1476(patch.)S 1769(This)S 1973(could)S 2221(be)S 2341(construed)S 2757(as)S 2866(a)S 2936(feature.)S 7903 V 720(Page)S 941(5)S 2780(\()S 2822(LOCAL)S 3167(\))S 4455(September)S 4911(13,)S (1996)200 5061 A 8143 V EP %%Trailer %%DocumentFonts: Times-Roman Times-Bold Times-Italic %%Pages: 5