-extern line *fendcore; /* First address in line pointer space */
-extern char file[FNSIZE]; /* Working file name */
-extern char genbuf[LBSIZE]; /* Working buffer when manipulating linebuf */
-extern bool hush; /* Command line option - was given, hush up! */
-extern char *globp; /* (Untyped) input string to command mode */
-extern bool holdcm; /* Don't cursor address */
-extern bool inappend; /* in ex command append mode */
-extern bool inglobal; /* Inside g//... or v//... */
-extern char *initev; /* Initial : escape for visual */
-extern bool inopen; /* Inside open or visual */
-extern char *input; /* Current position in cmd line input buffer */
-extern bool intty; /* Input is a tty */
-extern short io; /* General i/o unit (auto-closed on error!) */
-extern short lastc; /* Last character ret'd from cmd input */
-extern bool laste; /* Last command was an "e" (or "rec") */
-extern char lastmac; /* Last macro called for ** */
-extern char lasttag[TAGSIZE]; /* Last argument to a tag command */
-extern char *linebp; /* Used in substituting in \n */
-extern char linebuf[LBSIZE]; /* The primary line buffer */
-extern bool listf; /* Command should run in list mode */
-extern char *loc1; /* Where re began to match (in linebuf) */
-extern char *loc2; /* First char after re match (") */
-extern line names['z'-'a'+2]; /* Mark registers a-z,' */
-extern int notecnt; /* Count for notify (to visual from cmd) */
-extern bool numberf; /* Command should run in number mode */
-extern char obuf[BUFSIZ]; /* Buffer for tty output */
-extern short oprompt; /* Saved during source */
-extern short ospeed; /* Output speed (from gtty) */
-extern int otchng; /* Backup tchng to find changes in macros */
-extern short peekc; /* Peek ahead character (cmd mode input) */
-extern char *pkill[2]; /* Trim for put with ragged (LISP) delete */
-extern bool pfast; /* Have stty -nl'ed to go faster */
-extern int pid; /* Process id of child */
-extern int ppid; /* Process id of parent (e.g. main ex proc) */
-extern jmp_buf resetlab; /* For error throws to top level (cmd mode) */
-extern int rpid; /* Pid returned from wait() */
-extern bool ruptible; /* Interruptible is normal state */
-extern bool seenprompt; /* 1 if have gotten user input */
-extern bool shudclob; /* Have a prompt to clobber (e.g. on ^D) */
-extern int status; /* Status returned from wait() */
-extern int tchng; /* If nonzero, then [Modified] */
-extern short tfile; /* Temporary file unit */
-extern bool vcatch; /* Want to catch an error (open/visual) */
-extern jmp_buf vreslab; /* For error throws to a visual catch */
-extern bool writing; /* 1 if in middle of a file write */
-extern int xchng; /* Suppresses multiple "No writes" in !cmd */
+var line *fendcore; /* First address in line pointer space */
+var char file[FNSIZE]; /* Working file name */
+var char genbuf[LBSIZE]; /* Working buffer when manipulating linebuf */
+var bool hush; /* Command line option - was given, hush up! */
+var char *globp; /* (Untyped) input string to command mode */
+var bool holdcm; /* Don't cursor address */
+var bool inappend; /* in ex command append mode */
+var bool inglobal; /* Inside g//... or v//... */
+var char *initev; /* Initial : escape for visual */
+var bool inopen; /* Inside open or visual */
+var char *input; /* Current position in cmd line input buffer */
+var bool intty; /* Input is a tty */
+var short io; /* General i/o unit (auto-closed on error!) */
+extern short lastc; /* Last character ret'd from cmd input */
+var bool laste; /* Last command was an "e" (or "rec") */
+var char lastmac; /* Last macro called for ** */
+var char lasttag[TAGSIZE]; /* Last argument to a tag command */
+var char *linebp; /* Used in substituting in \n */
+var char linebuf[LBSIZE]; /* The primary line buffer */
+var bool listf; /* Command should run in list mode */
+var char *loc1; /* Where re began to match (in linebuf) */
+var char *loc2; /* First char after re match (") */
+var line names['z'-'a'+2]; /* Mark registers a-z,' */
+var int notecnt; /* Count for notify (to visual from cmd) */
+var bool numberf; /* Command should run in number mode */
+var char obuf[BUFSIZ]; /* Buffer for tty output */
+var short oprompt; /* Saved during source */
+extern short ospeed; /* Output speed (from gtty) */
+var int otchng; /* Backup tchng to find changes in macros */
+var short peekc; /* Peek ahead character (cmd mode input) */
+var char *pkill[2]; /* Trim for put with ragged (LISP) delete */
+var bool pfast; /* Have stty -nl'ed to go faster */
+var int pid; /* Process id of child */
+var int ppid; /* Process id of parent (e.g. main ex proc) */
+var jmp_buf resetlab; /* For error throws to top level (cmd mode) */
+var int rpid; /* Pid returned from wait() */
+var bool ruptible; /* Interruptible is normal state */
+var bool seenprompt; /* 1 if have gotten user input */
+var bool shudclob; /* Have a prompt to clobber (e.g. on ^D) */
+var int status; /* Status returned from wait() */
+var int tchng; /* If nonzero, then [Modified] */
+extern short tfile; /* Temporary file unit */
+var bool vcatch; /* Want to catch an error (open/visual) */
+var jmp_buf vreslab; /* For error throws to a visual catch */
+var bool writing; /* 1 if in middle of a file write */
+var int xchng; /* Suppresses multiple "No writes" in !cmd */