BSD 3 development
[unix-history] / usr / src / cmd / ex / ex_tune.h
CommitLineData
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)