Will that is the output that would have go into patch(1).  As Leah says, the old days we used diff -e to create the patch and then ed file <diff_output
That said, when Larry wrote patch, V7 was still very much alive and kicking and Larry had come from that world/his code would be likely to be fairly clean of vax-isms.  I bet if you can find a version that will compile and run on V7.   V6 is likely to be more difficult since the language changes for stdio.  But patch(1) is small and simple so I bet even that would be pretty straight forward.


On Sat, Jul 25, 2020 at 10:29 AM Will Senn <will.senn@gmail.com> wrote:
On 7/25/20 9:03 AM, Leah Neukirchen wrote:
> Will Senn <will.senn@gmail.com> writes:
>
>> I got a diff for adding actual backspace and delete to v7, linked off
>> of gunkies... Anyhow, I can manually edit the referenced files and
>> rebuild, but I would rather do it canonically. I don't see patch
>> anywhere, so did v7 users use diffs to patch source and if so what's
>> the magic?
> patch(1) was written by Larry Wall in 1985, and released over Usenet.
>
> v7 users likely used diff -e, and piped to ed to apply it.
>
That makes sense. So, if that's how it went then I'm wondering if my
diff is meant to run against source on the host and the results placed
into v7, rather than run in v7. Does this look like a modern diff vs the
old stuff?:

--- usr/src/cmd/getty.c    1979-05-05 08:19:21.000000000 +0100
+++ usr.fix/src/cmd/getty.c    2018-01-09 11:07:37.157953044 +0100
@@ -5,11 +5,11 @@

  #include <sgtty.h>
  #include <signal.h>
-#define ERASE    '#'
-#define KILL    '@'
+#define ERASE    '\177'
+#define KILL    '\025'

  struct sgttyb tmode;
-struct tchars tchars = { '\177', '\034', '\021', '\023', '\004', '\377' };
+struct tchars tchars = { '\003', '\034', '\021', '\023', '\004', '\377' };

  struct    tab {
      char    tname;        /* this table name */


Will

--
GPG Fingerprint: 68F4 B3BD 1730 555A 4462  7D45 3EAA 5B6D A982 BAAF