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