Article 1099 of comp.os.minix: Path: fishpond!nud!asuvax!noao!ncar!tank!oddjob!uwvax!rutgers!pyrnj!pyrdc!uunet!mcvax!unido!fauern!faui44!rtregn From: rtregn@faui44.informatik.uni-erlangen.de (Robert Regn) Newsgroups: comp.os.minix Subject: Very good news for vi fans Keywords: stevie runs on minix Message-ID: <641@faui44.informatik.uni-erlangen.de> Date: 23 Sep 88 13:39:24 GMT Organization: CSD., University of Erlangen, W-Germany Lines: 375 Posted: Fri Sep 23 14:39:24 1988 In <350@ucrmath.UUCP> pascal@ucrmath.UUCP (Freeman Pascal) writes: >While attempting to port stevie to MINIX /usr/lib/opt have me a very >strange error... > > /usr/lib/opt: error on line 205(%*s): redefined symbole .0 > >It occured when I was compiling search.c. Anyone have any ideas what >this means and how to fix it??? How do you even track down this error? Stevie was posted in comp.sources.unix on june. (It is a good subset of vi, only tricky visual commands and many 'ex' commands are missed) Meantime i have splitted search.c many times and found the problem. It was a 'internal static declaration of a procedure' Above this fix is listed and other bugfixes Stevie uses system V ioctl, which is also modified for minix (Ver. 7) Some changes are included by ifdef so you must define MINIX. If you see the changing in search.c at line 92, you could think i have improved efficiency. That's not the reason for it. If i call strsave unconditionally, then -!- the string received by strsave is NOT the same as the string given in the call of strsave !! The first two chars are changed. So the 'n' command wasn't working. I think, this is a bug in the minix compiler. Remaining problems are: scrolling (because minix tty don't support all ansi escapes) slow - for ^E the full screen is updated probably stevie can improved to clever use the existing features ( ESC M for ^U ) search with '^' (don't know why) cursor keys don't work - they generate three chars beginning with ESC - stevie expect one char (keymap.h) the u (undo) works only after a r command - Tony Andrews is asked to improve that. dW works as dw editing an empty file hangs stevie (don't know why) the possible file size is limited (about 24700 Bytes, a little more than mined). editing an empty file hangs stevie If Stevie writes the file back, it renames the existing to .bak and creates it new. After successfully writing the .bak is deleted. Fatal consequence: A write protected file will overwritten if you have w-permission on directory. Because of this i have suppressed the renaming if there is no write acess for the file. Also the [Read only] message is displayed. Permissions are restored on the new file and (if possible,) the owner. For the :e command i have added handling of %, but only one % is expanded. Stevie can work with a tag file!! But knows anyone a PD ctags program? For linking you must increase the stack of asld (45000). My system for the test was 1.3a.