rivers@xyzzy.UUCP (Dave Rivers) (08/03/88)
Being that I am a hard working DG employee, I don't often have time to experiment, so... I was just getting around to trying out the stevie sources posted to comp.sources.unix, and I find that I am missing "stevie.h". Not only am I missing it, according to the supplied MANIFEST, it wasn't even sent! I was wondering if anyone has been able to compile it, and if so, how did you do it? I was initially interested in this for MINIX, but at the offset I was just trying to get it to compile on my SUN, or an MV (Running DG/UX - Data General's Sys V.3 clone) Thanx in advance... - Dave Rivers - -- +----------------------------------------------------------------------+ | Time Sharing is the use of | Dave Rivers: | | many people by the computer. | UUCP {Backbones}!rti!dg-rtp!rivers | | | Phone: (919) 248-6137 | +----------------------------------------------------------------------+
mat@emcard.UUCP (Mat Waites) (08/03/88)
In article <984@xyzzy.UUCP> rivers@dg-rtp.UUCP (Dave Rivers) writes: > > I was just getting around to trying out the stevie sources >posted to comp.sources.unix, and I find that I am missing "stevie.h". >Not only am I missing it, according to the supplied MANIFEST, it wasn't >even sent! > > Thanx in advance... > - Dave Rivers - >-- It was posted several days after the original post... Here it is: -------------------cut here-------------------------- /* * STevie - ST editor for VI enthusiasts. ...Tim Thompson...twitch!tjt... * * Extensive modifications by: Tony Andrews onecom!wldrdg!tony * */ /* * One (and only 1) of the following defines should be uncommented. * Most of the code is pretty machine-independent. Machine dependent * code goes in a file like tos.c or unix.c. The only other place * where machine dependent code goes is term.h for escape sequences. */ /* #define ATARI /* For the Atari ST */ #define UNIX /* System V */ /* #define OS2 /* Microsoft OS/2 */ /* * If ATARI is defined, one of the following compilers must be selected. */ #ifdef ATARI #define MEGAMAX /* Megamax Compiler */ /* #define ALCYON /* Alcyon C compiler */ #endif /* * If HELP is defined, the :help command shows a vi command summary. */ #define HELP /* enable help command */ #define INIT #include <stdio.h> #include <ctype.h> #include <string.h> #include "ascii.h" #include "keymap.h" #include "param.h" #include "term.h" extern char *strchr(); #define NORMAL 0 #define CMDLINE 1 #define INSERT 2 #define APPEND 3 #define FORWARD 4 #define BACKWARD 5 /* * Boolean type definition and constants */ typedef short bool_t; #ifndef TRUE #define FALSE (0) #define TRUE (1) #endif /* * SLOP is the amount of extra space we get for text on a line during * editing operations that need more space. This keeps us from calling * malloc every time we get a character during insert mode. No extra * space is allocated when the file is initially read. */ #define SLOP 10 /* * LINEINC is the gap we leave between the artificial line numbers. This * helps to avoid renumbering all the lines every time a new line is * inserted. */ #define LINEINC 10 /* * See 'normal.c' for a description of can_undo. */ extern bool_t can_undo; #define CHANGED Changed = !(can_undo = FALSE) #define UNCHANGED Changed=0 struct line { struct line *prev, *next; /* previous and next lines */ char *s; /* text for this line */ int size; /* actual size of space at 's' */ unsigned int num; /* line "number" */ }; #define LINEOF(x) (x->linep->num) struct lptr { struct line *linep; /* line we're referencing */ int index; /* position within that line */ }; typedef struct line LINE; typedef struct lptr LPTR; struct charinfo { char ch_size; char *ch_str; }; extern struct charinfo chars[]; extern int State; extern int Rows; extern int Columns; extern char *Realscreen; extern char *Nextscreen; extern char *Filename; extern LPTR *Filemem; extern LPTR *Fileend; extern LPTR *Topchar; extern LPTR *Botchar; extern LPTR *Curschar; extern LPTR *Insstart; extern int Cursrow, Curscol, Cursvcol, Curswant; extern bool_t set_want_col; extern int Prenum; extern bool_t Debug; extern bool_t Changed; extern bool_t Binary; extern char Redobuff[], Undobuff[], Insbuff[]; extern LPTR *Uncurschar; extern char *Insptr; extern int Ninsert, Undelchars; extern char *malloc(), *strcpy(); /* * alloc.c */ char *alloc(), *strsave(); void screenalloc(), filealloc(), freeall(); LINE *newline(); bool_t bufempty(), buf1line(), lineempty(), endofline(), canincrease(); /* * cmdline.c */ void readcmdline(), dotag(), msg(), emsg(), smsg(), gotocmd(), wait_return(); /* * edit.c */ void edit(), insertchar(), getout(), scrollup(), scrolldown(), beginline(); bool_t oneright(), oneleft(), oneup(), onedown(); /* * fileio.c */ void filemess(), renum(); bool_t readfile(), writeit(); /* * help.c */ bool_t help(); /* * linefunc.c */ LPTR *nextline(), *prevline(), *coladvance(); /* * main.c */ void stuffin(), stuffnum(), addtobuff(); int vgetc(), vpeekc(); bool_t anyinput(); /* * mark.c */ void setpcmark(), clrall(), clrmark(); bool_t setmark(); LPTR *getmark(); /* * misccmds.c */ void opencmd(), fileinfo(), inschar(), insstr(), delline(); bool_t delchar(); int cntllines(), plines(); LPTR *gotoline(); /* * normal.c */ void normal(), resetundo(); char *mkstr(); /* * param.c */ void doset(); /* * ptrfunc.c */ int inc(), dec(); int gchar(); void pchar(), pswap(); bool_t lt(), gt(), equal(), ltoreq(), gtoreq(); /* * screen.c */ void updatescreen(), updateline(); void screenclear(), cursupdate(); void s_ins(), s_del(); /* * search.c */ void dosearch(), repsearch(); bool_t searchc(), crepsearch(), findfunc(); LPTR *showmatch(); LPTR *fwd_word(), *bck_word(), *end_word(); /* * Machine-dependent routines. */ int inchar(); void outchar(), outstr(), beep(); #ifndef OS2 void remove(), rename(); #endif void windinit(), windexit(), windgoto(); void delay(); --------------------------cut here, too---------------------------- -- W Mat Waites | Emory Cardiac Data Bank | UUCP: gatech!emcard!mat | Atlanta, GA | PHONE: (404) 727-7197 ******** End of newsgroups--what next? [npq]