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