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

1.1       root        1: /* emacs display definitions */
                      2: 
                      3: 
                      4: /* EMACS_MODES: c !fill */
                      5: 
                      6: int wbase = 0;                 /* line number of base of window */
                      7: int w1base = 0;                        /* base of window 1 */
                      8: 
                      9: char osert = 0;                                /* flag indicating insert char mode */
                     10: char umode = 0;                                /* flag indicating overstrike mode */
                     11: int junked = 0;                                /* display junky */
                     12: int keepg = 0;                         /* amount of stuff to keep between scrolls */
                     13: 
                     14: int acost;                             /* cost of absolute positioning */
                     15: int lUP;                               /* cost of UP */
                     16: int lDOWN;                             /* cost of DOWN */
                     17: int lBAK;                              /* cost of BACK */
                     18: int lFOR;                              /* cost of FORWARD */
                     19: int lCR;
                     20: int dccost;                                                    /* Cost of 1 delete character */
                     21: int iccost;
                     22: 
                     23: /* two window mode stuff */
                     24: 
                     25: int wscrlines;                 /* window scrlines */
                     26: int cwind = 0;                 /* current window */
                     27: int windb[2];                  /* buffer for windows */
                     28: int disbuf[2] = {-1,-1};               /* buffer number in display */
                     29: int wmaxln[2];                         /* maxln in each buffer */
                     30: int wminln[2];                         /* minln in each buffer */
                     31: int twowind = 0;                       /* flag for two window mode */
                     32: int woff = 0;                          /* extra lines in winndow 2 */
                     33: int hcol = 0;                          /* Horizontal offset (picture mode */
                     34: int hrem;
                     35: 
                     36: int lgripe;                            /* Flag indicating when it's time to complain about line size */
                     37: int minln;                     /* first line of display*/
                     38: int maxln;                     /* last line of display */
                     39: int lastln;                    /* screen line of maxln */
                     40: int nln;                       /* new line screen position */
                     41: int ncol;                      /* ditto for col. */
                     42: int dsize;                     /* size of area above the cursor */
                     43: int psx;
                     44: int psy;
                     45: int scrlin;
                     46: int scrcol;
                     47: int scrow;
                     48: int ttywarp;                           /* tty warp factor (stty speed) */
                     49: int BLANK;                             /* space or zero */
                     50: 
                     51: /* character type table (here because it can't be initted everywhere */
                     52: 
                     53: char ctype[128] = {
                     54:        CONTRL, CONTRL, CONTRL, CONTRL, CONTRL, CONTRL, CONTRL, CONTRL,
                     55:        CONTRL, TAB,    CONTRL, CONTRL, CONTRL, CONTRL, CONTRL, CONTRL,
                     56:        CONTRL, CONTRL, CONTRL, CONTRL, CONTRL, CONTRL, CONTRL, CONTRL,
                     57:        CONTRL, CONTRL, CONTRL, CONTRL, CONTRL, CONTRL, CONTRL, CONTRL,
                     58:        PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,
                     59:        PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,
                     60:        PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,
                     61:        PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,
                     62:        PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,
                     63:        PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,
                     64:        PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,
                     65:        PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  UL,
                     66:        PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,
                     67:        PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,
                     68:        PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,
                     69:        PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  PLAIN,  CONTRL,
                     70: };
                     71: 
                     72: int metal = 2;                         /* Extra Length of meta characters */
                     73: 
                     74: /* display data */
                     75: 
                     76: #define TTYLEN 512             /* total area for tty data strings */
                     77: char ttystrings[TTYLEN];
                     78: int ttyptr;                            /* allocation offset in ttyp */
                     79: 
                     80: 
                     81: #ifdef PORTEXT
                     82: 
                     83: /* The following should be used if the C compiler does not lay out
                     84:  * external declarations in exactly the order declared.  This array
                     85:  * fixes this by assembling all of the addresses in the right order.
                     86:  * It may get some warnings in some implementations.  These
                     87:  * variables must be in exactly the same order as the capability
                     88:  * strings in ttydata.  This declaration may produce warnings from
                     89:  * some compilers, which can be ignored */
                     90: 
                     91: int *parmptr[] = {
                     92:        (int *) &UP,
                     93:        (int *) &DOWN,
                     94:        (int *) &BACK,
                     95:        (int *) &FORWARD,
                     96:        (int *) &HOME,
                     97:        (int *) &CLEAR,
                     98:        (int *) &CLREST,
                     99:        (int *) &CLINE,
                    100:        (int *) &BELL,
                    101:        (int *) &CURAD,
                    102:        (int *) &TMAP,
                    103:        (int *) &SMAP,
                    104:        (int *) &NOP,
                    105:        (int *) &LOPEN,
                    106:        (int *) &LDEL,
                    107:        (int *) &INSERTC,
                    108:        (int *) &INSERTM,
                    109:        (int *) &OSERTC,
                    110:        (int *) &INSERTP,
                    111:        (int *) &DELC,
                    112:        (int *) &SSCROLL,
                    113:        (int *) &RSCROLL,
                    114:        (int *) &CR,
                    115:        (int *) &SCREG,
                    116:        (int *) &ULINE,
                    117:        (int *) &UEND,
                    118:        (int *) &EOVER,
                    119:        (int *) &SCINIT,
                    120:        (int *) &VEXIT,
                    121:        (int *) &RELUP,
                    122:        (int *) &RELDOWN,
                    123:        (int *) &RELFORW,
                    124:        (int *) &RELBACK,
                    125:        (int *) &CLDEL,
                    126:        (int *) &CLSCROLL,
                    127:        (int *) &CRSCROLL,
                    128:        (int *) &CLOPEN,
                    129:        (int *) &CMPON,
                    130:        (int *) &XBASE,
                    131:        (int *) &YBASE,
                    132:        (int *) &SCRWID,
                    133:        (int *) &SCRNLIN,
                    134:        (int *) &SCRWRAP,
                    135:        (int *) &VCOST,
                    136:        (int *) &SRCADD,
                    137:        (int *) &MI,
                    138:        (int *) &IN,
                    139:        (int *) &DELMODE,
                    140:        0,
                    141: };
                    142: 
                    143: #endif
                    144: 
                    145: /* The order in this string must match that in emacs_gb.h. and the above list */ 
                    146: 
                    147: #ifndef PC
                    148: char *ttydata ="updobcndhoclcdceblcmtmtMpcaldlicimeiipdcsfsrcrcsulueeovsverurdrrrlDLSFSRALCMbxbycoliamvcrcmiindm";
                    149: #endif
                    150: char *endput = "____________________";
                    151: 
                    152: int REALBOT;                           /* Real bottom of screen */
                    153: int REALWID;                           /* Real width */
                    154: 
                    155: #define SCRCONT '!'
                    156: int TABSTOP = 8;
                    157: 
                    158: #ifdef pdp11
                    159: #define NSCRLIN 25                     /* max screen lines */
                    160: #else
                    161: #define NSCRLIN 72                     /* max screen lines */
                    162: #endif
                    163: #define NSCRCOL 128                    /* max screen columns */
                    164: #ifndef PC
                    165: char cmap[NSCRLIN] [NSCRCOL];
                    166: #endif
                    167: int scrjnk[NSCRLIN];   /* column of last non-white character */
                    168: int scrmap[NSCRLIN+1]; /* line number of line in file on screen */
                    169: int fmap[NSCRLIN];     /* File Status Map */
                    170: #define LGOOD 1000                     /* line is good marker (max length) */
                    171: 
                    172: #define MODHACK -1             /* File Line of Mode Line */
                    173: #define ECHOHACK -2            /* File Line of Echo Line */
                    174: 
                    175: #ifdef pdp11
                    176: #define SCRMSK 077777                  /* line number filed of scrmap */
                    177: #define SCRCNL 0100000                 /* continuation bit of scrmap */
                    178: 
                    179: /* special paramter to sputl to fix rest of lines */
                    180: 
                    181: #define REST 20000
                    182: 
                    183: #else
                    184: #define SCRMSK 07777777                        /* line number filed of scrmap */
                    185: #define SCRCNL 010000000               /* continuation bit of scrmap */
                    186: 
                    187: /* special paramter to sputl to fix rest of lines */
                    188: 
                    189: #define REST 1000000
                    190: 
                    191: #endif
                    192: /* modes */
                    193: 
                    194: int LNOMOD = 1;
                    195: int LNOWID = 4;
                    196: int NOBEL = 0;
                    197: int NOTABS = 0;
                    198: int PMODE = 0;
                    199: extern int TABMD;
                    200: 
                    201: /* display heuristics */
                    202: 
                    203: #define CFILL 30                       /* average chars/line */
                    204: #define PATIENCE 2000                  /* number of millisecends of */
                    205:                                        /* output to buffer before */
                    206:                                        /* looking for type ahead */
                    207: 
                    208: extern char *myname;
                    209: extern char version[];
                    210: extern int curbf;
                    211: extern int BACKP;
                    212: int bit8;
                    213: 
                    214: /* Insert/delete parameters */
                    215: 
                    216: #ifdef u370
                    217: 
                    218: /* 370's have fast cpu's, slow I/O, thus spend more time looking for ins/del */
                    219: 
                    220: #define ILOOK 11                       /* Insert look-ahead */
                    221: #define DLOOK 11                       /* ditto for delete char */
                    222: #else
                    223: #define ILOOK 9                                /* Insert look-ahead */
                    224: #define DLOOK 9                                /* ditto for delete char */
                    225: #endif
                    226: #define lINSC 5                /* Number of characters that must match for inserting */
                    227: #define lDELC 5                /* ditto for delc */
                    228:  
                    229: /* Default Terminal Description */
                    230: 
                    231: 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";
                    232: 
                    233: /* trace stuff */
                    234: 
                    235: 
                    236: #define TSIZE 200
                    237: 
                    238: /* int trcbuf[TSIZE]; */
                    239: 
                    240: /* int tnumb;*/
                    241: 
                    242: #define TRACE(event)
                    243: /*#define TRACE(event) if (tnumb<TSIZE) trcbuf[tnumb++] = event; else trcbuf[(tnumb=1)-1] = event;*/
                    244: 
                    245: 
                    246: #define VADJUST 1
                    247: 
                    248: /* external declarations */
                    249: 
                    250: extern int OVERW;
                    251: extern curbf;
                    252: extern int LNOMOD;
                    253: extern int fbkno;
                    254: extern int hipt[];
                    255: extern int lowpt[];
                    256: extern int timemd;
                    257: extern int numarg;
                    258: extern int DOCOMP;
                    259: extern char *fname();
                    260: extern char *bname();
                    261: extern char *mstrcpy();
                    262: extern char *strcpy();
                    263: extern char *getname();
                    264: extern char *expenv();
                    265: 
                    266: #ifdef TERMCAP
                    267: #define PUTS putpad
                    268: #define TPARM(x,y,z) tgoto(x,z,y)
                    269: #define WAIT1 "100"
                    270: char *dumbterm = "dumb";
                    271: #else
                    272: #ifdef TERMINFO
                    273: #define PUTS putpad
                    274: #define TPARM tparm
                    275: #define WAIT1 "$<100>"
                    276: char *dumbterm = "dumb";
                    277: #else
                    278: #define PUTS eprintf
                    279: #define WAIT1 "%100p"
                    280: #define TPARM(x,y,z) x,y,z
                    281: #endif
                    282: #endif
                    283: 
                    284: /* Blit ioctl's here, since they are harmless and the include file isn't always there */
                    285: 
                    286: struct jwinsize
                    287: {
                    288:        char    bytesx, bytesy; /* Window size in characters */
                    289:        short   bitsx, bitsy;   /* Window size in bits */
                    290: };
                    291: 
                    292: #ifdef bsd
                    293: #define        IOCPARM_MASK    0x7f            /* parameters must be < 128 bytes */
                    294: #define        IOC_OUT         0x40000000      /* copy out parameters */
                    295: #define        _IOR(x,y,t)     (IOC_OUT|((sizeof(t)&IOCPARM_MASK)<<16)|('x'<<8)|y)
                    296: #define        JWINSIZE                _IOR(j, 5, struct jwinsize)
                    297: #else
                    298: #define JTYPE ('j'<<8)
                    299: #define        JWINSIZE        (JTYPE|5)
                    300: #endif
                    301: #ifdef PC
                    302: 
                    303: /* definitions required to control PC display */
                    304: 
                    305: #define VIDEO 0x10
                    306: #define REG(HIGH,LOW) (256*HIGH)+LOW
                    307: #define PAGE_0 0
                    308: #define PC_NULL        0
                    309: #define BELL   7
                    310: int NORMATB = 7;
                    311: 
                    312: #define POS_CUR        2
                    313: #define SCRL_UP 6
                    314: #define WR_ACHR 9
                    315: #define WR_TTY 14
                    316: #endif

unix.superglobalmegacorp.com

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