|
|
1.1 root 1: From cbosg!alice!mjm Sun Oct 11 19:47:11 1981
2: To: cbosg!cbosgd!mark
3: Subject: ex-vi
4: Status: RO
5:
6: Mark,
7: Just made vi on the 3B from the source on Jim Farrell's tape.
8: It seems to be working OK. Almost no problems but ...
9:
10: (1) In the makefile, expreserve is loaded with ex_extern.o;
11: ex_extern.o is not needed and furthermore it gives a
12: multiple declaration error for the global structure H.
13:
14: (2) In the xstr.c you provided there are two problems for the 3B.
15: I needed to change line 96 (added extern keyword) to:
16: printf("extern char\txstr[];\n");
17: and line 370 (%02x --> %.2x) to:
18: fprintf(xdotcf, "0x%.2x," ,c);
19: (The second one is a 3B library bug, but it will likely be around for a while.)
20:
21: (3) In termlib/tc3.c I needed to add the extern keyword
22: before the declaration "char *UP". And in termlib/tputs.c,
23: the #include <sgtty.h> is not needed (for anyone).
24:
25: (4) Here is my bcopy.c for vi, with an asm() ifdef'd in for the 3B;
26: you may or may not want to put it in the offical source.
27:
28: /* block copy from from to to, count bytes */
29: static char *sccsid = "@(#)bcopy.c 7.1 7/8/81";
30: bcopy(from, to, count)
31: #ifdef vax
32: char *from, *to;
33: int count;
34: {
35:
36: asm(" movc3 12(ap),*4(ap),*8(ap)");
37: }
38: #else ifdef u3b /* mjm */
39: register char *from, *to;
40: register int count;
41: {
42: asm(" movblkb %r6, %r8, %r7");
43: }
44: #else
45: register char *from, *to;
46: register int count;
47: {
48: while ((count--) > 0) /* mjm */
49: *to++ = *from++;
50: }
51: #endif
52:
53: (5) If there is an "exchanges" file for 3.7,
54: I would very much appreciate a copy of it.
55: Also I'd like to know about any future bugs and/or improvements.
56:
57: Thanks, Mel
58:
59:
60:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.