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