182 lines
8.1 KiB
C
182 lines
8.1 KiB
C
/*
|
|
* $Id: edef.h 13816 2004-10-14 01:27:01Z hubert $
|
|
*
|
|
* Program: Global definitions and initializations
|
|
*
|
|
*
|
|
* Michael Seibel
|
|
* Networks and Distributed Computing
|
|
* Computing and Communications
|
|
* University of Washington
|
|
* Administration Builiding, AG-44
|
|
* Seattle, Washington, 98195, USA
|
|
* Internet: mikes@cac.washington.edu
|
|
*
|
|
* Please address all bugs and comments to "pine-bugs@cac.washington.edu"
|
|
*
|
|
*
|
|
* Pine and Pico are registered trademarks of the University of Washington.
|
|
* No commercial use of these trademarks may be made without prior written
|
|
* permission of the University of Washington.
|
|
*
|
|
* Pine, Pico, and Pilot software and its included text are Copyright
|
|
* 1989-2004 by the University of Washington.
|
|
*
|
|
* The full text of our legal notices is contained in the file called
|
|
* CPYRIGHT, included with this distribution.
|
|
*
|
|
*/
|
|
/* EDEF: Global variable definitions for
|
|
MicroEMACS 3.2
|
|
|
|
written by Dave G. Conroy
|
|
modified by Steve Wilhite, George Jones
|
|
greatly modified by Daniel Lawrence
|
|
*/
|
|
|
|
#ifndef EDEF_H
|
|
#define EDEF_H
|
|
|
|
#ifdef maindef
|
|
|
|
/* for MAIN.C */
|
|
|
|
/* initialized global definitions */
|
|
|
|
int fillcol = 72; /* Current fill column */
|
|
int userfillcol = -1; /* Fillcol set from cmd line */
|
|
char pat[NPAT]; /* Search pattern */
|
|
char rpat[NPAT]; /* Replace pattern */
|
|
int eolexist = TRUE; /* does clear to EOL exist */
|
|
int optimize = FALSE; /* optimize flag(cf line speed) */
|
|
int scrollexist = TRUE; /* does insert line exist */
|
|
int inschar = TRUE; /* does insert character exist */
|
|
int delchar = TRUE; /* does delete character exist */
|
|
int sgarbk = TRUE; /* TRUE if keyhelp garbaged */
|
|
int sup_keyhelp = FALSE; /* TRUE if keyhelp is suppressed*/
|
|
int mline_open = FALSE; /* TRUE if message line is open */
|
|
int ComposerTopLine = 2; /* TRUE if message line is open */
|
|
int ComposerEditing = FALSE; /* TRUE if message line is open */
|
|
int revexist = FALSE; /* does reverse video exist? */
|
|
char modecode[] = "WCSEVO"; /* letters to represent modes */
|
|
long gmode = MDWRAP; /* global editor mode */
|
|
int sgarbf = TRUE; /* TRUE if screen is garbage */
|
|
int mpresf = FALSE; /* TRUE if message in last line */
|
|
int clexec = FALSE; /* command line execution flag */
|
|
char *alt_speller = NULL; /* alt spell checking command */
|
|
int preserve_start_stop = FALSE; /* TRUE if pass ^S/^Q to term */
|
|
char *glo_quote_str = NULL; /* points to quote string if set*/
|
|
|
|
/* uninitialized global definitions */
|
|
int currow; /* Cursor row */
|
|
int curcol; /* Cursor column */
|
|
int thisflag; /* Flags, this command */
|
|
int lastflag; /* Flags, last command */
|
|
int curgoal; /* Goal for C-P, C-N */
|
|
char opertree[NLINE+1]; /* operate within this tree */
|
|
char browse_dir[NLINE+1]; /* directory of last browse (cwd) */
|
|
char glo_quote_str_buf[NLINE+1]; /* Indent string (for justify) */
|
|
WINDOW *curwp; /* Current window */
|
|
BUFFER *curbp; /* Current buffer */
|
|
WINDOW *wheadp; /* Head of list of windows */
|
|
BUFFER *bheadp; /* Head of list of buffers */
|
|
BUFFER *blistp; /* Buffer for C-X C-B */
|
|
|
|
BUFFER *bfind PROTO((char *, int, int)); /* Lookup a buffer by name */
|
|
LINE *lalloc PROTO((int)); /* Allocate a line */
|
|
int km_popped; /* menu popped up */
|
|
int panicking; /* we are currently panicking */
|
|
#if defined(USE_TERMCAP) || defined(USE_TERMINFO) || defined(VMS)
|
|
KBESC_T *kbesc; /* keyboard esc sequence trie */
|
|
#endif /* USE_TERMCAP/USE_TERMINFO/VMS */
|
|
|
|
#else /* maindef */
|
|
|
|
/* for all the other .C files */
|
|
|
|
/* initialized global external declarations */
|
|
|
|
extern int fillcol; /* Fill column */
|
|
extern int userfillcol; /* Fillcol set from cmd line */
|
|
extern char pat[]; /* Search pattern */
|
|
extern char rpat[]; /* Replace pattern */
|
|
extern int eolexist; /* does clear to EOL exist? */
|
|
extern int optimize; /* optimize flag(cf line speed) */
|
|
extern int scrollexist; /* does insert line exist */
|
|
extern int inschar; /* does insert character exist */
|
|
extern int delchar; /* does delete character exist */
|
|
extern int sgarbk;
|
|
extern int sup_keyhelp;
|
|
extern int mline_open; /* Message line is open */
|
|
extern int ComposerTopLine; /* TRUE if message line is open */
|
|
extern int ComposerEditing; /* TRUE if message line is open */
|
|
extern int timeo; /* how long we wait in GetKey */
|
|
extern time_t time_of_last_input; /* Last keyboard activity */
|
|
extern int revexist; /* does reverse video exist? */
|
|
extern char modecode[]; /* letters to represent modes */
|
|
extern KEYTAB keytab[]; /* key bind to functions table */
|
|
extern KEYTAB pkeytab[]; /* pico's function table */
|
|
extern long gmode; /* global editor mode */
|
|
extern int sgarbf; /* State of screen unknown */
|
|
extern int mpresf; /* Stuff in message line */
|
|
extern int clexec; /* command line execution flag */
|
|
extern char *alt_speller; /* alt spell checking command */
|
|
extern int preserve_start_stop; /* TRUE if pass ^S/^Q to term */
|
|
extern char *glo_quote_str; /* points to quote string if set*/
|
|
/* initialized global external declarations */
|
|
extern int currow; /* Cursor row */
|
|
extern int curcol; /* Cursor column */
|
|
extern int thisflag; /* Flags, this command */
|
|
extern int lastflag; /* Flags, last command */
|
|
extern int curgoal; /* Goal for C-P, C-N */
|
|
extern char opertree[]; /* operate within this tree */
|
|
extern char browse_dir[]; /* operate within this tree */
|
|
extern char glo_quote_str_buf[]; /* Indent string (for justify) */
|
|
extern WINDOW *curwp; /* Current window */
|
|
extern BUFFER *curbp; /* Current buffer */
|
|
extern WINDOW *wheadp; /* Head of list of windows */
|
|
extern BUFFER *bheadp; /* Head of list of buffers */
|
|
extern BUFFER *blistp; /* Buffer for C-X C-B */
|
|
|
|
extern BUFFER *bfind PROTO((char *, int, int)); /* Lookup a buffer by name */
|
|
extern LINE *lalloc PROTO((int)); /* Allocate a line */
|
|
extern int km_popped; /* menu popped up */
|
|
extern int panicking; /* we are currently panicking */
|
|
/*
|
|
* This is a weird one. It has to be defined differently for pico and for
|
|
* pine. It seems to need to be defined at startup as opposed to set later.
|
|
* It doesn't work to set it later in pico. When pico is used with a
|
|
* screen reader it seems to jump to the cursor every time through the
|
|
* mswin_charavail() loop in GetKey, and the timeout is this long. So we
|
|
* just need to set it higher than we do in pine. If we understood this
|
|
* we would probably see that we don't need any timer at all in pico, but
|
|
* we don't remember why it is here so we'd better leave it.
|
|
*
|
|
* This is defined in .../pico/main.c and in .../pine/pine.c.
|
|
*/
|
|
extern int my_timer_period; /* here so can be set */
|
|
#ifdef MOUSE
|
|
extern MENUITEM menuitems[]; /* key labels and functions */
|
|
extern MENUITEM *mfunc; /* single generic function */
|
|
extern mousehandler_t mtrack; /* func used to track the mouse */
|
|
#endif /* MOUSE */
|
|
|
|
#if defined(USE_TERMCAP) || defined(USE_TERMINFO) || defined(VMS)
|
|
extern KBESC_T *kbesc; /* keyboard esc sequence trie */
|
|
#endif /* USE_TERMCAP/USE_TERMINFO/VMS */
|
|
|
|
#endif /* maindef */
|
|
|
|
/* terminal table defined only in TERM.C */
|
|
|
|
#ifndef termdef
|
|
#if defined(VMS) && !defined(__ALPHA)
|
|
globalref
|
|
#else
|
|
extern
|
|
#endif /* VMS */
|
|
TERM term; /* Terminal information. */
|
|
#endif /* termdef */
|
|
|
|
#endif /* EDEF_H */
|