1 /* Copyright (c) 1981 Regents of the University of California */ 2 /* sccs id: @(#)ex_tune.h 7.3 09/03/81 */ 3 /* 4 * Definitions of editor parameters and limits 5 */ 6 7 /* 8 * Pathnames. 9 * 10 * Only exstrings is looked at "+4", i.e. if you give 11 * "/usr/lib/..." here, "/lib" will be tried only for strings. 12 */ 13 #include "local/uparm.h" 14 #define EXRECOVER libpath(ex3.7recover) 15 #define EXPRESERVE libpath(ex3.7preserve) 16 #ifndef VMUNIX 17 #define EXSTRINGS libpath(ex3.7strings) 18 #endif 19 20 /* 21 * If your system believes that tabs expand to a width other than 22 * 8 then your makefile should cc with -DTABS=whatever, otherwise we use 8. 23 */ 24 #ifndef TABS 25 #define TABS 8 26 #endif 27 28 /* 29 * Maximums 30 * 31 * The definition of LBSIZE should be the same as BUFSIZ (512 usually). 32 * Most other definitions are quite generous. 33 */ 34 /* FNSIZE is also defined in expreserve.c */ 35 #define FNSIZE 128 /* File name size */ 36 #ifdef VMUNIX 37 #define LBSIZE 1024 38 #define ESIZE 512 39 #define CRSIZE 1024 40 #else 41 #ifdef u370 42 #define LBSIZE 4096 43 #define ESIZE 512 44 #define CRSIZE 4096 45 #else 46 #define LBSIZE 512 /* Line length */ 47 #define ESIZE 128 /* Size of compiled re */ 48 #define CRSIZE 512 49 #endif 50 #endif 51 #define RHSSIZE 256 /* Size of rhs of substitute */ 52 #define NBRA 9 /* Number of re \( \) pairs */ 53 #define TAGSIZE 32 /* Tag length */ 54 #define ONMSZ 64 /* Option name size */ 55 #define GBSIZE 256 /* Buffer size */ 56 #define UXBSIZE 128 /* Unix command buffer size */ 57 #define VBSIZE 128 /* Partial line max size in visual */ 58 /* LBLKS is also defined in expreserve.c */ 59 #ifndef VMUNIX 60 #define LBLKS 125 /* Line pointer blocks in temp file */ 61 #define HBLKS 1 /* struct header fits in BUFSIZ*HBLKS */ 62 #else 63 #define LBLKS 900 64 #define HBLKS 2 65 #endif 66 #define MAXDIRT 12 /* Max dirtcnt before sync tfile */ 67 #define TCBUFSIZE 1024 /* Max entry size in termcap, see 68 also termlib and termcap */ 69 70 /* 71 * Except on VMUNIX, these are a ridiculously small due to the 72 * lousy arglist processing implementation which fixes core 73 * proportional to them. Argv (and hence NARGS) is really unnecessary, 74 * and argument character space not needed except when 75 * arguments exist. Argument lists should be saved before the "zero" 76 * of the incore line information and could then 77 * be reasonably large. 78 */ 79 #ifndef VMUNIX 80 #define NARGS 100 /* Maximum number of names in "next" */ 81 #define NCARGS LBSIZE /* Maximum arglist chars in "next" */ 82 #else 83 #define NCARGS 5120 84 #define NARGS (NCARGS/6) 85 #endif 86 87 /* 88 * Note: because the routine "alloca" is not portable, TUBESIZE 89 * bytes are allocated on the stack each time you go into visual 90 * and then never freed by the system. Thus if you have no terminals 91 * which are larger than 24 * 80 you may well want to make TUBESIZE 92 * smaller. TUBECOLS should stay at 160 since this defines the maximum 93 * length of opening on hardcopies and allows two lines of open on 94 * terminals like adm3's (glass tty's) where it switches to pseudo 95 * hardcopy mode when a line gets longer than 80 characters. 96 */ 97 #ifndef VMUNIX 98 #define TUBELINES 60 /* Number of screen lines for visual */ 99 #define TUBECOLS 160 /* Number of screen columns for visual */ 100 #define TUBESIZE 5000 /* Maximum screen size for visual */ 101 #else 102 #define TUBELINES 66 103 #define TUBECOLS 160 104 #define TUBESIZE 6600 /* 66 * 100 */ 105 #endif 106 107 /* 108 * Output column (and line) are set to this value on cursor addressible 109 * terminals when we lose track of the cursor to force cursor 110 * addressing to occur. 111 */ 112 #define UKCOL -20 /* Prototype unknown column */ 113 114 /* 115 * Attention is the interrupt character (normally 0177 -- delete). 116 * Quit is the quit signal (normally FS -- control-\) and quits open/visual. 117 */ 118 #define ATTN (-2) /* mjm: (char) ?? */ 119 #define QUIT ('\\' & 037) 120