breuel@h-sc1.UUCP (thomas breuel) (05/13/86)
|I just finished getting MicroEMACS 3.6 (the one just posted to mod.sources |from Daniel Lawrence) up on Amy ... works great ... thanks, Daniel! | |To get this version, as posted, to compile and link with Lattice 3.03, |the following changes must be made in the file "estruct.h": MicroEMACS 3.6 has some severe type problems that show up if you compile it with Manx 'C' and 16 bit integers. Running the code through lint gives pages and pages of output. I wish someone would fix it. Anyhow, you can also compile it fine with Manx 'C' and 32 bit integers, and it works. |The object file ends up being 71K+ (Whew!) ... anyone have the size that |the Manx compiler produces? The Manx compiler produces a 43k object file. (In case you are interested, the relevant figures for C-Kermit are 113k with Lattice and 77k with Manx). |I am still trying to get the v30 version of MicroEMACS (posted a few weeks |ago to mod.sources) with Mic Kaczmarczik's Amiga code to work. I've |installed all the diffs that Fred Fish posted, and I get clean compiles, |but when I try executing it, the MicroEMACS window opens for a split- |second, then closes, and the program terminates ... no error messages or |guru med's ... just a (seemingly) normal exit. Anyone in net.land have |any ideas? (Fred ... are you using Manx or Lattice?) Presumably you are using the intuition driver. It makes reference to a few undefined functions. To get it to run, you have to comment out two lines in the file ttykbd.c: #ifdef NEVER keydup(KSUP, "goto-bop"); keydup(KSDOWN, "goto-eop"); #endif Now, a few remaks: MicroEMACS 3.6 has modes (CMODE, WRAP, OVERWRITE, READONLY, ...). Unfortunately, it has several type errors (i.e. it doesn't pass lint and doesn't work when sizeof(int)!=sizeof(char *)), and it appears to be a little bit buggy (I had problems with it writing out more to a disk file than is contained in the buffer). MicroEMACS v30 is very reliable and compiles and runs fine regardless of what size integers are. This gives me the impression that the author was a bit more careful about type-correct programming. Also, on the Amiga, v30 supports the mouse and menus. In fact, you can even re-size the EMACS window. MicroEMACS v30 also supports incremental search. It does not support automatic word wrap or modes. Personally, I feel more comfortable using v30 (but, then, I feel most comfortable using /bin/ed :-), but I wish that some features of 3.6 could be incorporated. Other items on the wishlist are regular expression matching and substitution (using the public domain regexp package?), and some increadibly useful goodies like kill-some-buffers-interactively, automatic buffer-name and command completion, &c. Thomas.
kim@mips.UUCP (05/21/86)
> |I am still trying to get the v30 version of MicroEMACS (posted a few weeks > |ago to mod.sources) with Mic Kaczmarczik's Amiga code to work. > > Presumably you are using the intuition driver. It makes reference to > a few undefined functions. Well, yes I was trying to use the Intuition driver (the AmigaDOS driver worked fine), but I had already commented-out the undefined functions. This past weekend, I was able to isolate the trouble. For anyone who may still be having trouble getting v30 to work using Lattice 3.03 and V1.1 Intuition, these fixes (which are not in Fred Fish's v30.diffs) should help: The major problem is in file "console.c", and is the infamous "DoIO/SendIO calls trash D7" bug that has been reported here on the net (supposedly fixed in V1.2). The workaround is to put something like the following code at the beginning of each of the four functions in console.c that call either DoIO or SendIO: #ifdef DOIOBUG register int DoIO_Bug; /* gets D7 assigned to a dummy */ DoIO_Bug = 1; /* stops complaints about unused variables */ #endif A #define DOIOBUG 1 is also needed at the top of the file until this bug gets fixed. Second bug is a typo in file "menu.c" that Mike Meyer told me about. There is one occurrence of "ItuiText" ... that should be "IntuiText". I would have expected Lattice (v3.03) to at least complain about there being an undefined structure when compiling this file, but it does not ... hmmmmm! With these fixes, everything *seems* to work fine ... at least so far! /kim -- UUCP: {decvax,ucbvax,ihnp4}!decwrl!mips!kim DDD: 408-720-1700 x231 USPS: MIPS Computer Systems Inc, 930 E. Arques Av, Sunnyvale, CA 94086 CIS: 76535,25