xref: /original-bsd/usr.bin/ex/ex_tune.h (revision c7de680c)
1 /* Copyright (c) 1981 Regents of the University of California */
2 /* sccs id:	@(#)ex_tune.h	7.3	09/03/81  */
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"
14 #define	EXRECOVER	libpath(ex3.7recover)
15 #define	EXPRESERVE	libpath(ex3.7preserve)
16 #ifndef VMUNIX
17 #define	EXSTRINGS	libpath(ex3.7strings)
18 #endif
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 #define CRSIZE		1024
40 #else
41 #ifdef u370
42 #define LBSIZE		4096
43 #define ESIZE		512
44 #define CRSIZE		4096
45 #else
46 #define	LBSIZE		512		/* Line length */
47 #define	ESIZE		128		/* Size of compiled re */
48 #define CRSIZE		512
49 #endif
50 #endif
51 #define	RHSSIZE		256		/* Size of rhs of substitute */
52 #define	NBRA		9		/* Number of re \( \) pairs */
53 #define	TAGSIZE		32		/* Tag length */
54 #define	ONMSZ		64		/* Option name size */
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 */
59 #ifndef VMUNIX
60 #define	LBLKS		125		/* Line pointer blocks in temp file */
61 #define	HBLKS		1		/* struct header fits in BUFSIZ*HBLKS */
62 #else
63 #define	LBLKS		900
64 #define	HBLKS		2
65 #endif
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 /*
71  * Except on VMUNIX, these are a ridiculously small due to the
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  */
79 #ifndef VMUNIX
80 #define	NARGS	100		/* Maximum number of names in "next" */
81 #define	NCARGS	LBSIZE		/* Maximum arglist chars in "next" */
82 #else
83 #define	NCARGS	5120
84 #define	NARGS	(NCARGS/6)
85 #endif
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
90  * and then never freed by the system.  Thus if you have no terminals
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  */
97 #ifndef VMUNIX
98 #define	TUBELINES	60	/* Number of screen lines for visual */
99 #define	TUBECOLS	160	/* Number of screen columns for visual */
100 #define	TUBESIZE	5000	/* Maximum screen size for visual */
101 #else
102 #define	TUBELINES	66
103 #define	TUBECOLS	160
104 #define	TUBESIZE	6600	/* 66 * 100 */
105 #endif
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  */
118 #define	ATTN	(-2)	/* mjm: (char) ??  */
119 #define	QUIT	('\\' & 037)
120