V9/cmd/emacs/emacs_disp.h

Compare this file to the similar file:
Show the results in this format:

/* emacs display definitions */


/* EMACS_MODES: c !fill */

int wbase = 0;			/* line number of base of window */
int w1base = 0;			/* base of window 1 */

char osert = 0;				/* flag indicating insert char mode */
char umode = 0;				/* flag indicating overstrike mode */
int junked = 0;				/* display junky */
int keepg = 0;				/* amount of stuff to keep between scrolls */

int acost;				/* cost of absolute positioning */
int lUP;				/* cost of UP */
int lDOWN;				/* cost of DOWN */
int lBAK;				/* cost of BACK */
int lFOR;				/* cost of FORWARD */
int lCR;
int dccost;							/* Cost of 1 delete character */
int iccost;

/* two window mode stuff */

int wscrlines;			/* window scrlines */
int cwind = 0;			/* current window */
int windb[2];			/* buffer for windows */
int disbuf[2] = {-1,-1};		/* buffer number in display */
int wmaxln[2];				/* maxln in each buffer */
int wminln[2];				/* minln in each buffer */
int twowind = 0;			/* flag for two window mode */
int woff = 0;				/* extra lines in winndow 2 */
int hcol = 0;				/* Horizontal offset (picture mode */
int hrem;

int lgripe;				/* Flag indicating when it's time to complain about line size */
int minln;			/* first line of display*/
int maxln;			/* last line of display */
int lastln;			/* screen line of maxln */
int nln;			/* new line screen position */
int ncol;			/* ditto for col. */
int dsize;			/* size of area above the cursor */
int psx;
int psy;
int scrlin;
int scrcol;
int scrow;
int ttywarp;				/* tty warp factor (stty speed) */
int BLANK;				/* space or zero */

/* character type table (here because it can't be initted everywhere */

char ctype[128] = {
	CONTRL,	CONTRL,	CONTRL,	CONTRL,	CONTRL,	CONTRL,	CONTRL,	CONTRL,
	CONTRL,	TAB,	CONTRL,	CONTRL,	CONTRL,	CONTRL,	CONTRL,	CONTRL,
	CONTRL,	CONTRL,	CONTRL,	CONTRL,	CONTRL,	CONTRL,	CONTRL,	CONTRL,
	CONTRL,	CONTRL,	CONTRL,	CONTRL,	CONTRL,	CONTRL,	CONTRL,	CONTRL,
	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,
	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,
	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,
	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,
	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,
	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,
	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,
	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	UL,
	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,
	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,
	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,
	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	PLAIN,	CONTRL,
};

int metal = 2;				/* Extra Length of meta characters */

/* display data */

#define TTYLEN 512		/* total area for tty data strings */
char ttystrings[TTYLEN];
int ttyptr;				/* allocation offset in ttyp */


#ifdef PORTEXT

/* The following should be used if the C compiler does not lay out
 * external declarations in exactly the order declared.  This array
 * fixes this by assembling all of the addresses in the right order.
 * It may get some warnings in some implementations.  These
 * variables must be in exactly the same order as the capability
 * strings in ttydata.  This declaration may produce warnings from
 * some compilers, which can be ignored */

int *parmptr[] = {
	(int *) &UP,
	(int *) &DOWN,
	(int *) &BACK,
	(int *) &FORWARD,
	(int *) &HOME,
	(int *) &CLEAR,
	(int *) &CLREST,
	(int *) &CLINE,
	(int *) &BELL,
	(int *) &CURAD,
	(int *) &TMAP,
	(int *) &SMAP,
	(int *) &NOP,
	(int *) &LOPEN,
	(int *) &LDEL,
	(int *) &INSERTC,
	(int *) &INSERTM,
	(int *) &OSERTC,
	(int *) &INSERTP,
	(int *) &DELC,
	(int *) &SSCROLL,
	(int *) &RSCROLL,
	(int *) &CR,
	(int *) &SCREG,
	(int *) &ULINE,
	(int *) &UEND,
	(int *) &EOVER,
	(int *) &SCINIT,
	(int *) &VEXIT,
	(int *) &RELUP,
	(int *) &RELDOWN,
	(int *) &RELFORW,
	(int *) &RELBACK,
	(int *) &CLDEL,
	(int *) &CLSCROLL,
	(int *) &CRSCROLL,
	(int *) &CLOPEN,
	(int *) &CMPON,
	(int *) &XBASE,
	(int *) &YBASE,
	(int *) &SCRWID,
	(int *) &SCRNLIN,
	(int *) &SCRWRAP,
	(int *) &VCOST,
	(int *) &SRCADD,
	(int *) &MI,
	(int *) &IN,
	(int *) &DELMODE,
	0,
};

#endif

/* The order in this string must match that in emacs_gb.h. and the above list */ 

#ifndef PC
char *ttydata ="updobcndhoclcdceblcmtmtMpcaldlicimeiipdcsfsrcrcsulueeovsverurdrrrlDLSFSRALCMbxbycoliamvcrcmiindm";
#endif
char *endput = "____________________";

int REALBOT;				/* Real bottom of screen */
int REALWID;				/* Real width */

#define SCRCONT '!'
int TABSTOP = 8;

#ifdef pdp11
#define NSCRLIN 25			/* max screen lines */
#else
#define NSCRLIN 72			/* max screen lines */
#endif
#define NSCRCOL 128			/* max screen columns */
#ifndef PC
char cmap[NSCRLIN] [NSCRCOL];
#endif
int scrjnk[NSCRLIN];	/* column of last non-white character */
int scrmap[NSCRLIN+1];	/* line number of line in file on screen */
int fmap[NSCRLIN];	/* File Status Map */
#define LGOOD 1000			/* line is good marker (max length) */

#define MODHACK -1		/* File Line of Mode Line */
#define ECHOHACK -2		/* File Line of Echo Line */

#ifdef pdp11
#define SCRMSK 077777			/* line number filed of scrmap */
#define SCRCNL 0100000			/* continuation bit of scrmap */

/* special paramter to sputl to fix rest of lines */

#define REST 20000

#else
#define SCRMSK 07777777			/* line number filed of scrmap */
#define SCRCNL 010000000		/* continuation bit of scrmap */

/* special paramter to sputl to fix rest of lines */

#define REST 1000000

#endif
/* modes */

int LNOMOD = 1;
int LNOWID = 4;
int NOBEL = 0;
int NOTABS = 0;
int PMODE = 0;
extern int TABMD;

/* display heuristics */

#define CFILL 30			/* average chars/line */
#define PATIENCE 2000			/* number of millisecends of */
					/* output to buffer before */
					/* looking for type ahead */

extern char *myname;
extern char version[];
extern int curbf;
extern int BACKP;
int bit8;

/* Insert/delete parameters */

#ifdef u370

/* 370's have fast cpu's, slow I/O, thus spend more time looking for ins/del */

#define ILOOK 11			/* Insert look-ahead */
#define DLOOK 11			/* ditto for delete char */
#else
#define ILOOK 9				/* Insert look-ahead */
#define DLOOK 9				/* ditto for delete char */
#endif
#define lINSC 5		/* Number of characters that must match for inserting */
#define lDELC 5		/* ditto for delc */
 
/* Default Terminal Description */

char *nulltty = "cl=\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\nbs=\nco=80\nli=24\ndo=\\n\ncr=
\nbl=\n";

/* trace stuff */


#define TSIZE 200

/* int trcbuf[TSIZE]; */

/* int tnumb;*/

#define TRACE(event)
/*#define TRACE(event) if (tnumb<TSIZE) trcbuf[tnumb++] = event; else trcbuf[(tnumb=1)-1] = event;*/


#define VADJUST 1

/* external declarations */

extern int OVERW;
extern curbf;
extern int LNOMOD;
extern int fbkno;
extern int hipt[];
extern int lowpt[];
extern int timemd;
extern int numarg;
extern int DOCOMP;
extern char *fname();
extern char *bname();
extern char *mstrcpy();
extern char *strcpy();
extern char *getname();
extern char *expenv();

#ifdef TERMCAP
#define PUTS putpad
#define TPARM(x,y,z) tgoto(x,z,y)
#define WAIT1 "100"
char *dumbterm = "dumb";
#else
#ifdef TERMINFO
#define PUTS putpad
#define TPARM tparm
#define WAIT1 "$<100>"
char *dumbterm = "dumb";
#else
#define PUTS eprintf
#define WAIT1 "%100p"
#define TPARM(x,y,z) x,y,z
#endif
#endif

/* Blit ioctl's here, since they are harmless and the include file isn't always there */

struct jwinsize
{
	char	bytesx, bytesy;	/* Window size in characters */
	short	bitsx, bitsy;	/* Window size in bits */
};

#ifdef bsd
#define	IOCPARM_MASK	0x7f		/* parameters must be < 128 bytes */
#define	IOC_OUT		0x40000000	/* copy out parameters */
#define	_IOR(x,y,t)	(IOC_OUT|((sizeof(t)&IOCPARM_MASK)<<16)|('x'<<8)|y)
#define	JWINSIZE		_IOR(j, 5, struct jwinsize)
#else
#define JTYPE ('j'<<8)
#define	JWINSIZE	(JTYPE|5)
#endif
#ifdef PC

/* definitions required to control PC display */

#define VIDEO 0x10
#define REG(HIGH,LOW) (256*HIGH)+LOW
#define PAGE_0	0
#define PC_NULL	0
#define BELL	7
int NORMATB = 7;

#define POS_CUR	2
#define SCRL_UP 6
#define WR_ACHR 9
#define WR_TTY	14
#endif