cleanups, add manual page
[unix-history] / usr / src / usr.bin / ex / ex_tune.h
CommitLineData
edf71f48
DF
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 *
5a6c967e 6 * @(#)ex_tune.h 7.11 (Berkeley) %G%
edf71f48
DF
7 */
8
56dbf936
MH
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 */
cf1c0d32
SL
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"
5a6c967e 23#ifndef vms
cf1c0d32 24#define E_TERMCAP "/etc/termcap"
5a6c967e
CH
25#else
26#define E_TERMCAP "etc:termcap."
27#endif
cf1c0d32 28#define B_CSH "/bin/csh"
299f2784
MH
29#define EXRECOVER libpath(ex3.7recover)
30#define EXPRESERVE libpath(ex3.7preserve)
44232d5b 31#ifndef VMUNIX
5a6c967e 32#ifndef vms
299f2784 33#define EXSTRINGS libpath(ex3.7strings)
44232d5b 34#endif
5a6c967e 35#endif
56dbf936
MH
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).
44232d5b 49 * Most other definitions are quite generous.
56dbf936
MH
50 */
51/* FNSIZE is also defined in expreserve.c */
52#define FNSIZE 128 /* File name size */
44232d5b
MH
53#ifdef VMUNIX
54#define LBSIZE 1024
55#define ESIZE 512
d266c416 56#define CRSIZE 1024
44232d5b 57#else
3c7b865a
MH
58#ifdef u370
59#define LBSIZE 4096
60#define ESIZE 512
61#define CRSIZE 4096
62#else
5a6c967e
CH
63#ifdef vms
64#define LBSIZE 1024
65#define ESIZE 512
66#define CRSIZE 1024
67#else
56dbf936
MH
68#define LBSIZE 512 /* Line length */
69#define ESIZE 128 /* Size of compiled re */
d266c416 70#define CRSIZE 512
44232d5b 71#endif
3c7b865a 72#endif
5a6c967e 73#endif
56dbf936
MH
74#define RHSSIZE 256 /* Size of rhs of substitute */
75#define NBRA 9 /* Number of re \( \) pairs */
01c761d0 76#define TAGSIZE 128 /* Tag length */
887e3e0d 77#define ONMSZ 64 /* Option name size */
56dbf936
MH
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 */
44232d5b 82#ifndef VMUNIX
56dbf936 83#define LBLKS 125 /* Line pointer blocks in temp file */
44232d5b
MH
84#define HBLKS 1 /* struct header fits in BUFSIZ*HBLKS */
85#else
86#define LBLKS 900
87#define HBLKS 2
88#endif
56dbf936 89#define MAXDIRT 12 /* Max dirtcnt before sync tfile */
52596224 90#define TCBUFSIZE 2048 /* Max entry size in termcap, see
56dbf936
MH
91 also termlib and termcap */
92
93/*
44232d5b 94 * Except on VMUNIX, these are a ridiculously small due to the
56dbf936
MH
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 */
5a6c967e 102#ifndef vms
b2fb6264 103#undef NCARGS
5a6c967e 104#endif
44232d5b 105#ifndef VMUNIX
56dbf936 106#define NARGS 100 /* Maximum number of names in "next" */
44232d5b
MH
107#define NCARGS LBSIZE /* Maximum arglist chars in "next" */
108#else
109#define NCARGS 5120
110#define NARGS (NCARGS/6)
111#endif
56dbf936
MH
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
44232d5b 116 * and then never freed by the system. Thus if you have no terminals
56dbf936
MH
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 */
44232d5b 123#ifndef VMUNIX
ff59773d 124#define TUBELINES 60 /* Number of screen lines for visual */
56dbf936 125#define TUBECOLS 160 /* Number of screen columns for visual */
ff59773d 126#define TUBESIZE 5000 /* Maximum screen size for visual */
44232d5b 127#else
3065b911 128#define TUBELINES 100
44232d5b 129#define TUBECOLS 160
3065b911 130#define TUBESIZE (TUBELINES * 100)
44232d5b 131#endif
56dbf936
MH
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 */
299f2784 144#define ATTN (-2) /* mjm: (char) ?? */
56dbf936 145#define QUIT ('\\' & 037)