Annotation of researchv10no/cmd/ex/ex.3b, revision 1.1

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: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.