V9/cmd/emacs/emacs_buf.h

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

/* buffer definitions for emacs */

/* EMACS_MODES: c !fill */

int BUFILE;			/* buffer file number */
int BUFEND;		/* next free line of buffer */
#define bufname bbfname[curbf]
#define filename bfilname[curbf]
#define bufmod bbfmod[curbf]
#define diron dirbuf[curbf]

/* Undo information */

#define NUNDO 64			/* Number of undo segments kept */

long undostack[NUNDO];
int undop;
int unseg;

/* Format of an entry.  This should be done with fields, but it
 * doesn't work on some machines since the fields are bigger than ints */

#define UNDMASK 7			/* Mask for type field */
#define UNDSHIFT 3			/* Shift to extract parameter */

#define UNDEL 1				/* next item is a deletion */
#define UNINS 2				/* next item is an insertion */
#define UNMUL 3				/* Next item is a multiple undo */
#define UNBAD 4				/* Next item is a partial multiple */

/* kill stack stuff */

#define KBSIZE 512
#define NKILLP 16
#ifdef PC
#define KBLIM 8192L
int BINMODE = 0;
#else
#define KBLIM 262144L			/* size of kill buffer */
#endif PC
int kbdfile = 0;

/* File size limit -- rejects huge files */

#ifdef PC
#define MAXFS 140000
#else
#ifdef u370
#define MAXFS 1500000
#else
#define MAXFS 750000
#endif
#endif
long kstk[NKILLP+1];
char kbuf[KBSIZE];
int kbapp = 0;				/* append kill buffer flag */
int nkp = -1;
long kend = 0L;
long kbwrt = 0L;
int kptr = 0;
long kbase = 0L;
int kbmod = 0;
int kfile = 0;
int crashes = 0;
int EOFNL = 1;				/* If 1, force newline on EOF */

/* Cryptography */

#ifdef CRYPTO
int crypt = 0;
char cryptkey[10];
long bufkey;
#endif

/* block buffer stuff */


#ifdef PC
/* Stupid compiler won't do compile time computations */

#define BFACT 32
#define BMASK 0777
#define BRESID 037
#define BRMASK 0177740
#define BRSHIFT 5
#else
#define BFACT (BLEN/LSMALL)
#ifdef v8
#undef BMASK
#endif
#define BMASK (BLEN-1)
#define BRESID (BFACT-1)
#define BRMASK (~BRESID)
#define BRSHIFT (BSHIFT-LSSHIFT)
#endif

/* sbrk rounding factor */

#ifdef univac
#define	BRKMSK	0377777777000
#else
#ifdef pdp11
#define BRKMSK 0177000
#else
#define BRKMSK ~0777
#endif
#endif

int fbkno;				/* first block buffer */
int macptr;				/* macro storage pointer */

int sblk;
int curblk;
int mostwrit;
int nxtflsh;


char bstat[NBLOCK];
unsigned bblock[NBLOCK];

int hipt[NBLOCK];
int lowpt[NBLOCK];
int xline;

/* multiple buffer stuff */

#define NBUF 12
#ifdef PC
char *BTEMPATH = "c";
#else
#ifndef BTEMPATH
#define BTEMPATH "/tmp"
#endif
#endif PC
int btmpfile[NBUF]= {0,0,0,0,0,0,0,0};		/* temp file frn */
int btmpfree[NBUF]= {0,0,0,0,0,0,0,0};		/* temp file free pointer */
int bcurln[NBUF] = {0,0,0,0,0,0,0,0};		/* current line */
int bcolumn[NBUF];					/* current column */
int bnlines[NBUF];					/* number of lines */
char bbfmod[NBUF];
time_t mtime[NBUF];
#ifdef DIRED
char dirbuf[NBUF];
#endif
char bbfname[NBUF] [FNLEN];		/* buffer names */
char bfilname[NBUF] [FNLEN];		/* buffer file name */

int curbf = 0;					/* current buffer number */

#define bnext() (blockp<blocke ? *blockp++: bnxt())
#define bput(chr) if(blockp<blocke) *blockp++ = (chr) ; else bpt(chr)

/* trace stuff */


#define TSIZE 200

/*int trcbuf[TSIZE];*/
/*int tnumb;*/

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

#define TRSEEK 0
#define TRREAD 1
#define TRWRIT 2
#define TRMAKE 3
#define TRCKEX 4
#define TRCKCP 5
#define TRMKEM 6
#define TRBGRAB 7

extern int VERBOSE;
char *expenv();
extern char *mkl();
extern int NSCHAR;
extern int SAVEMD;
extern char mdchar[];	
extern char *endput;
extern char *getenv();
extern char *myname;
extern char version[];
char serial[10] = {' ',' ',' ',' ',' ',' ',' ',' ','0',0};
extern int READONLY;
extern int USILENT;
extern int savelink;			/* Mode fails to ask on links */
extern int etrace;