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