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