xref: /freebsd/contrib/tcsh/config_f.h (revision 0b3105a37d7adcadcb720112fed4dc4e8040be99)
1 /* $Header: /p/tcsh/cvsroot/tcsh/config_f.h,v 3.47 2011/02/05 20:34:55 christos Exp $ */
2 /*
3  * config_f.h -- configure various defines for tcsh
4  *
5  * This is included by config.h.
6  *
7  * Edit this to match your particular feelings; this is set up to the
8  * way I like it.
9  */
10 /*-
11  * Copyright (c) 1980, 1991 The Regents of the University of California.
12  * All rights reserved.
13  *
14  * Redistribution and use in source and binary forms, with or without
15  * modification, are permitted provided that the following conditions
16  * are met:
17  * 1. Redistributions of source code must retain the above copyright
18  *    notice, this list of conditions and the following disclaimer.
19  * 2. Redistributions in binary form must reproduce the above copyright
20  *    notice, this list of conditions and the following disclaimer in the
21  *    documentation and/or other materials provided with the distribution.
22  * 3. Neither the name of the University nor the names of its contributors
23  *    may be used to endorse or promote products derived from this software
24  *    without specific prior written permission.
25  *
26  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
27  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
29  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
30  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
31  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
32  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
33  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
34  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
35  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
36  * SUCH DAMAGE.
37  */
38 #ifndef _h_config_f
39 #define _h_config_f
40 
41 /*
42  * SHORT_STRINGS Use at least 16 bit characters instead of 8 bit chars
43  * 	         This fixes up quoting problems and eases implementation
44  *	         of nls...
45  *
46  */
47 #define SHORT_STRINGS
48 
49 /*
50  * WIDE_STRINGS	Represent strings using wide characters
51  *		Allows proper function in multibyte encodings like UTF-8
52  */
53 #if defined (SHORT_STRINGS) && defined (NLS) && !defined (WINNT_NATIVE) && !defined(_OSD_POSIX)
54 # define WIDE_STRINGS
55 # if SIZEOF_WCHAR_T < 4
56 #  define UTF16_STRINGS
57 # endif
58 #endif
59 
60 /*
61  * LOGINFIRST   Source ~/.login before ~/.cshrc
62  */
63 #undef LOGINFIRST
64 
65 /*
66  * VIDEFAULT    Make the VI mode editor the default
67  */
68 #undef VIDEFAULT
69 
70 /*
71  * KAI          use "bye" command and rename "log" to "watchlog"
72  */
73 #undef KAI
74 
75 /*
76  * TESLA	drops DTR on logout. Historical note:
77  *		tesla.ee.cornell.edu was a vax11/780 with a develcon
78  *		switch that sometimes would not hang up.
79  */
80 #undef TESLA
81 
82 /*
83  * DOTLAST      put "." last in the default path, for security reasons
84  */
85 #define DOTLAST
86 
87 /*
88  * NODOT	Don't put "." in the default path, for security reasons
89  */
90 #undef NODOT
91 
92 /*
93  * AUTOLOGOUT	tries to determine if it should set autologout depending
94  *		on the name of the tty, and environment.
95  *		Does not make sense in the modern window systems!
96  */
97 #define AUTOLOGOUT
98 
99 /*
100  * SUSPENDED	Newer shells say 'Suspended' instead of 'Stopped'.
101  *		Define to get the same type of messages.
102  */
103 #define SUSPENDED
104 
105 /*
106  * KANJI	Ignore meta-next, and the ISO character set. Should
107  *		be used with SHORT_STRINGS (or WIDE_STRINGS)
108  *
109  */
110 #define KANJI
111 
112 /*
113  * DSPMBYTE	add variable "dspmbyte" and display multi-byte string at
114  *		only output, when "dspmbyte" is set. Should be used with
115  *		KANJI
116  */
117 #if defined (SHORT_STRINGS) && !defined (WIDE_STRINGS)
118 # define DSPMBYTE
119 #endif
120 
121 /*
122  * MBYTEDEBUG	when "dspmbyte" is changed, set multi-byte checktable to
123  *		variable "mbytemap".
124  *		(use for multi-byte table check)
125  */
126 #undef MBYTEDEBUG
127 
128 /*
129  * NEWGRP	Provide a newgrp builtin.
130  */
131 #undef NEWGRP
132 
133 /*
134  * SYSMALLOC	Use the system provided version of malloc and friends.
135  *		This can be much slower and no memory statistics will be
136  *		provided.
137  */
138 #if defined(__MACHTEN__) || defined(PURIFY) || defined(MALLOC_TRACE) || defined(_OSD_POSIX) || defined(__MVS__) || defined (__CYGWIN__) || defined(__GLIBC__)
139 # define SYSMALLOC
140 #else
141 # undef SYSMALLOC
142 #endif
143 
144 /*
145  * USE_ACCESS	Use access(2) rather than stat(2) when POSIX is defined.
146  *		POSIX says to use stat, but stat(2) is less accurate
147  *		than access(2) for determining file access.
148  */
149 #undef USE_ACCESS
150 
151 /*
152  * REMOTEHOST	Try to determine the remote host that we logged in from
153  *		using first getpeername, and then the utmp file. If
154  *		successful, set $REMOTEHOST to the name or address of the
155  *		host
156  */
157 #define REMOTEHOST
158 
159 /*
160  * COLOR_LS_F Do you want to use builtin color ls-F ?
161  *
162  */
163 #define COLOR_LS_F
164 
165 /*
166  * COLORCAT Do you want to colorful message ?
167  *
168  */
169 #undef COLORCAT
170 
171 /*
172  * FILEC    support for old style file completion
173  */
174 #define FILEC
175 
176 /*
177  * RCSID	This defines if we want rcs strings in the binary or not
178  *
179  */
180 #if !defined(lint) && !defined(SABER) && !defined(__CLCC__)
181 # ifndef __GNUC__
182 #  define RCSID(id) static char *rcsid = (id);
183 # else
184 #  define RCSID(id) static const char rcsid[] __attribute__((__used__)) = (id);
185 # endif /* !__GNUC__ */
186 #else
187 # define RCSID(id)	/* Nothing */
188 #endif /* !lint && !SABER */
189 
190 /* Consistency checks */
191 #ifdef WIDE_STRINGS
192 # ifdef WINNT_NATIVE
193     #error "WIDE_STRINGS cannot be used together with WINNT_NATIVE"
194 # endif
195 
196 # ifndef SHORT_STRINGS
197     #error "SHORT_STRINGS must be defined if WIDE_STRINGS is defined"
198 # endif
199 
200 # ifndef NLS
201     #error "NLS must be defined if WIDE_STRINGS is defined"
202 # endif
203 
204 # ifdef DSPMBYTE
205     #error "DSPMBYTE must not be defined if WIDE_STRINGS is defined"
206 # endif
207 #endif
208 
209 #if !defined (SHORT_STRINGS) && defined (DSPMBYTE)
210     #error "SHORT_STRINGS must be defined if DSPMBYTE is defined"
211 #endif
212 
213 #endif /* _h_config_f */
214