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