Commit | Line | Data |
---|---|---|
27704fe4 BJ |
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) |