Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: $Revision: 1.6.2.14 $; site siemens.UUCP Path: utzoo!watmath!clyde!cbosgd!ihnp4!houxm!mhuxt!mhuxr!ulysses!allegra!princeton!siemens!jrv From: jrv@siemens.UUCP Newsgroups: net.sources Subject: Re: MICRO_EMACS for PC-AT (Re Posting... Message-ID: <28600019@siemens.UUCP> Date: Tue, 18-Mar-86 12:04:00 EST Article-I.D.: siemens.28600019 Posted: Tue Mar 18 12:04:00 1986 Date-Received: Mon, 24-Mar-86 00:26:18 EST References: <2403@pogo.UUCP> Lines: 58 Nf-ID: #R:pogo:-240300:siemens:28600019:000:2266 Nf-From: siemens!jrv Mar 18 12:04:00 1986 Here is a list of the changes which I had to make to get the posting of MicroEMACS to compile with Lattice-C version 2.15 small model: 1. In termio.c and spawn.c the file 'dos.h' is included. For some strange reason Lattice defines a symbol CPM as 1 in this file. That will conflict with a symbol by the same name in microEMACS. > #undef CPM #include > #undef CPM > #define CPM 0 Add the indicated lines where the 'dos.h' include statement is in both termio.c and spawn.c. They should compile with no warnings. 2. tcap.c is currently defined as an empty file. Lattice does not generate an object file for it. If you will not use it then remove tcap.obj from your link list. Alternatively, you can keep it but must force the .obj to be generated. The following at the end of the file will accomplish this: > #else > static int dummy; #endif TERMCAP 3. In meta.c there is a symbol table collision between the functions replace_string() and replace_occ(). Either change the name of one of them (I changed replace_occ) or specify to the compiler to keep more than 8 characters for symbols, i.e. '-n' option. 4. In display.c there are two function calls to vtputcl which are passing an empty character constant, vtputcl('');. From the context it looks like an escape character got lost. Modify the two calls to pass an escape as: vtputcl('\033'); (That's the octal constant for escape in case it gets lost also.) 5. There will still be several warnings generated. (I investigated the cause but did not make modifications to remove them.) Some can be easily coded around. One or two of them are problems with pointers being assigned to integers. A little more work would be invovled to see if this can be easily modified. Because of this the code will probably not work correctly if compiled with a large data space and therefore has a segment size limit on data. I could not get all of a 59K file in for editting. I have only used the editor briefly after having made the above fixes. It worked correctly during the testing I performed on both an IBM PC/XT and a PC/AT. Jim Vallino Siemens Research and Technology Lab. Princeton, NJ {allegra,ihnp4}!princeton!siemens!jrv