Annotation of researchv9/cmd/emacs/emacs_buf.h, revision 1.1.1.1

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;

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.