|
|
1.1 root 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) 6/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)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.