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