|
|
researchv9-SUN3(old)
/* 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;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.