|
|
1.1 ! root 1: /* buffer definitions for emacs */ ! 2: ! 3: /* EMACS_MODES: c !fill */ ! 4: ! 5: int BUFILE; /* buffer file number */ ! 6: int BUFEND; /* next free line of buffer */ ! 7: #define bufname bbfname[curbf] ! 8: #define filename bfilname[curbf] ! 9: #define bufmod bbfmod[curbf] ! 10: #define diron dirbuf[curbf] ! 11: ! 12: /* Undo information */ ! 13: ! 14: #define NUNDO 64 /* Number of undo segments kept */ ! 15: ! 16: long undostack[NUNDO]; ! 17: int undop; ! 18: int unseg; ! 19: ! 20: /* Format of an entry. This should be done with fields, but it ! 21: * doesn't work on some machines since the fields are bigger than ints */ ! 22: ! 23: #define UNDMASK 7 /* Mask for type field */ ! 24: #define UNDSHIFT 3 /* Shift to extract parameter */ ! 25: ! 26: #define UNDEL 1 /* next item is a deletion */ ! 27: #define UNINS 2 /* next item is an insertion */ ! 28: #define UNMUL 3 /* Next item is a multiple undo */ ! 29: #define UNBAD 4 /* Next item is a partial multiple */ ! 30: ! 31: /* kill stack stuff */ ! 32: ! 33: #define KBSIZE 512 ! 34: #define NKILLP 16 ! 35: #ifdef PC ! 36: #define KBLIM 8192L ! 37: int BINMODE = 0; ! 38: #else ! 39: #define KBLIM 262144L /* size of kill buffer */ ! 40: #endif PC ! 41: int kbdfile = 0; ! 42: ! 43: /* File size limit -- rejects huge files */ ! 44: ! 45: #ifdef PC ! 46: #define MAXFS 140000 ! 47: #else ! 48: #ifdef u370 ! 49: #define MAXFS 1500000 ! 50: #else ! 51: #define MAXFS 750000 ! 52: #endif ! 53: #endif ! 54: long kstk[NKILLP+1]; ! 55: char kbuf[KBSIZE]; ! 56: int kbapp = 0; /* append kill buffer flag */ ! 57: int nkp = -1; ! 58: long kend = 0L; ! 59: long kbwrt = 0L; ! 60: int kptr = 0; ! 61: long kbase = 0L; ! 62: int kbmod = 0; ! 63: int kfile = 0; ! 64: int crashes = 0; ! 65: int EOFNL = 1; /* If 1, force newline on EOF */ ! 66: ! 67: /* Cryptography */ ! 68: ! 69: #ifdef CRYPTO ! 70: int crypt = 0; ! 71: char cryptkey[10]; ! 72: long bufkey; ! 73: #endif ! 74: ! 75: /* block buffer stuff */ ! 76: ! 77: ! 78: #ifdef PC ! 79: /* Stupid compiler won't do compile time computations */ ! 80: ! 81: #define BFACT 32 ! 82: #define BMASK 0777 ! 83: #define BRESID 037 ! 84: #define BRMASK 0177740 ! 85: #define BRSHIFT 5 ! 86: #else ! 87: #define BFACT (BLEN/LSMALL) ! 88: #ifdef v8 ! 89: #undef BMASK ! 90: #endif ! 91: #define BMASK (BLEN-1) ! 92: #define BRESID (BFACT-1) ! 93: #define BRMASK (~BRESID) ! 94: #define BRSHIFT (BSHIFT-LSSHIFT) ! 95: #endif ! 96: ! 97: /* sbrk rounding factor */ ! 98: ! 99: #ifdef univac ! 100: #define BRKMSK 0377777777000 ! 101: #else ! 102: #ifdef pdp11 ! 103: #define BRKMSK 0177000 ! 104: #else ! 105: #define BRKMSK ~0777 ! 106: #endif ! 107: #endif ! 108: ! 109: int fbkno; /* first block buffer */ ! 110: int macptr; /* macro storage pointer */ ! 111: ! 112: int sblk; ! 113: int curblk; ! 114: int mostwrit; ! 115: int nxtflsh; ! 116: ! 117: ! 118: char bstat[NBLOCK]; ! 119: unsigned bblock[NBLOCK]; ! 120: ! 121: int hipt[NBLOCK]; ! 122: int lowpt[NBLOCK]; ! 123: int xline; ! 124: ! 125: /* multiple buffer stuff */ ! 126: ! 127: #define NBUF 12 ! 128: #ifdef PC ! 129: char *BTEMPATH = "c"; ! 130: #else ! 131: #ifndef BTEMPATH ! 132: #define BTEMPATH "/tmp" ! 133: #endif ! 134: #endif PC ! 135: int btmpfile[NBUF]= {0,0,0,0,0,0,0,0}; /* temp file frn */ ! 136: int btmpfree[NBUF]= {0,0,0,0,0,0,0,0}; /* temp file free pointer */ ! 137: int bcurln[NBUF] = {0,0,0,0,0,0,0,0}; /* current line */ ! 138: int bcolumn[NBUF]; /* current column */ ! 139: int bnlines[NBUF]; /* number of lines */ ! 140: char bbfmod[NBUF]; ! 141: time_t mtime[NBUF]; ! 142: #ifdef DIRED ! 143: char dirbuf[NBUF]; ! 144: #endif ! 145: char bbfname[NBUF] [FNLEN]; /* buffer names */ ! 146: char bfilname[NBUF] [FNLEN]; /* buffer file name */ ! 147: ! 148: int curbf = 0; /* current buffer number */ ! 149: ! 150: #define bnext() (blockp<blocke ? *blockp++: bnxt()) ! 151: #define bput(chr) if(blockp<blocke) *blockp++ = (chr) ; else bpt(chr) ! 152: ! 153: /* trace stuff */ ! 154: ! 155: ! 156: #define TSIZE 200 ! 157: ! 158: /*int trcbuf[TSIZE];*/ ! 159: /*int tnumb;*/ ! 160: ! 161: /*#define TRACE(event) if (tnumb<TSIZE) trcbuf[tnumb++] = event; else trcbuf[(tnumb=1)-1] = event;*/ ! 162: #define TRACE(event) ! 163: ! 164: #define TRSEEK 0 ! 165: #define TRREAD 1 ! 166: #define TRWRIT 2 ! 167: #define TRMAKE 3 ! 168: #define TRCKEX 4 ! 169: #define TRCKCP 5 ! 170: #define TRMKEM 6 ! 171: #define TRBGRAB 7 ! 172: ! 173: extern int VERBOSE; ! 174: char *expenv(); ! 175: extern char *mkl(); ! 176: extern int NSCHAR; ! 177: extern int SAVEMD; ! 178: extern char mdchar[]; ! 179: extern char *endput; ! 180: extern char *getenv(); ! 181: extern char *myname; ! 182: extern char version[]; ! 183: char serial[10] = {' ',' ',' ',' ',' ',' ',' ',' ','0',0}; ! 184: extern int READONLY; ! 185: extern int USILENT; ! 186: extern int savelink; /* Mode fails to ask on links */ ! 187: extern int etrace;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.