[rec.games.hack] polymorphing

jdarcy@multimax.UUCP (Jeff d'Arcy) (10/11/89)

If you're having increasing trouble applying patches to your nethack 3.0
sources despite every precaution, here's a possible explanation.

It seems that some versions of the "patch" program (including the version
on uunet) are not very happy with a particular construct which is very
common in the nethack patches, as follows:

*** 24, 29 ***
--- 24, 31 ---
  context line 1
  context line 2
  context line 3
+    first additional line
+    second additional line
  context line 4
  context line 5
  context line 6
************

After seeing the "*** x, y ***" line, the affected versions of patch
expect (y-x+1) lines of context.  If they don't get that context, as
in the above example, they will complain about "unexpected ---" and
quit, skipping any subsequent patches in that input file.  This may
not be detectable until you try to apply the *next* patch, and patch
keeps looking for context lines that don't exist in your file because
it never got patched properly.

Don't even think about fixing the patch files before using them; there
are hundreds of instances similar to the above in patchlevels 1-4.  The
only approach is to find a version of the patch program that recognizes
this type of difference listing.

Can someone else mail me sources for a version of patch that can deal
with this type of difference, or will I have to make my own modifications?


Jeff d'Arcy		jdarcy@encore.com		(508) 460-0500
    Encore has provided the medium, but the message remains my own