Mercurial > hg > xemacs-beta
annotate src/s/usg5-4.h @ 4901:7504864a986c
Don't use Boyer-Moore if repeated octets & case-insensitive search.
2010-01-30 Aidan Kehoe <kehoea@parhasard.net>
* search.c (search_buffer):
Don't use Boyer-Moore for case-insensitive search if the search
pattern contains repeated Ibytes and the corresponding character
has case information (or, equivalently, if one of its case
equivalents would contain repeated Ibytes).
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sat, 30 Jan 2010 22:25:39 +0000 |
parents | aa5ed11f473b |
children | 906ccc7dcd70 308d34e9f07d 861f2601a38b |
rev | line source |
---|---|
613 | 1 /* Definitions file for XEmacs running on AT&T's System V Release 4 |
428 | 2 Copyright (C) 1987, 1990 Free Software Foundation, Inc. |
3 | |
613 | 4 This file is part of XEmacs. |
428 | 5 |
613 | 6 XEmacs is free software; you can redistribute it and/or modify |
428 | 7 it under the terms of the GNU General Public License as published by |
8 the Free Software Foundation; either version 2, or (at your option) | |
9 any later version. | |
10 | |
613 | 11 XEmacs is distributed in the hope that it will be useful, |
428 | 12 but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 GNU General Public License for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with XEmacs; see the file COPYING. If not, write to | |
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
19 Boston, MA 02111-1307, USA. */ | |
20 | |
21 /* Synched up with: FSF 19.31. */ | |
22 | |
23 /* This file written by James Van Artsdalen of Dell Computer Corporation. | |
24 * james@bigtex.cactus.org. Subsequently improved for Dell 2.2 by Eric | |
25 * S. Raymond <esr@snark.thyrsus.com>. | |
26 */ | |
27 | |
4759
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
28 #define USG /* System III, System V, etc */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
29 #define USG5 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
30 #define USG5_4 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
31 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
32 /* SYSTEM_TYPE should indicate the kind of system you are using. |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
33 * It sets the Lisp variable system-type. */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
34 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
35 #define SYSTEM_TYPE "usg-unix-v" |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
36 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
37 /* Letter to use in finding device name of first pty, |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
38 * if system supports pty's. 'p' means it is /dev/ptyp0 */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
39 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
40 #define FIRST_PTY_LETTER 'z' |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
41 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
42 /* define MAIL_USE_FLOCK if the mailer uses flock |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
43 * to interlock access to /usr/spool/mail/$USER. |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
44 * The alternative is that a lock file named |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
45 * /usr/spool/mail/$USER.lock. */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
46 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
47 /* #define MAIL_USE_FLOCK */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
48 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
49 /* The file containing the kernel's symbol table is called /unix. */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
50 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
51 #define KERNEL_FILE "/unix" |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
52 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
53 /* The symbol in the kernel where the load average is found |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
54 * is named avenrun. */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
55 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
56 #define LDAV_SYMBOL "avenrun" |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
57 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
58 /* Special hacks needed to make Emacs run on this system. */ |
428 | 59 |
4759
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
60 /* On USG systems the system calls are interruptible by signals |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
61 * that the user program has elected to catch. Thus the system call |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
62 * must be retried in these cases. To handle this without massive |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
63 * changes in the source code, we remap the standard system call names |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
64 * to names for our own functions in sysdep.c that do the system call |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
65 * with retries. */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
66 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
67 #define INTERRUPTIBLE_OPEN |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
68 #define INTERRUPTIBLE_IO |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
69 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
70 /* Compiler bug bites on many systems when default ADDR_CORRECT is used. */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
71 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
72 #define ADDR_CORRECT(x) (x) |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
73 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
74 /* Prevent -lg from being used for debugging. Not implemented? */ |
428 | 75 |
4759
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
76 #define LIBS_DEBUG |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
77 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
78 /* Use terminfo instead of termcap. */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
79 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
80 #define TERMINFO |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
81 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
82 /* 5.3 apparently makes close() interruptible */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
83 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
84 #define INTERRUPTIBLE_CLOSE |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
85 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
86 /* Apparently -lg is provided in 5.3 */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
87 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
88 #undef LIBS_DEBUG |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
89 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
90 /* Enable support for shared libraries in unexec. */ |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
91 |
aa5ed11f473b
Remove support for obsolete systems. See xemacs-patches message with ID
Jerry James <james@xemacs.org>
parents:
978
diff
changeset
|
92 #define USG_SHARED_LIBRARIES |
428 | 93 |
94 #define LIBS_SYSTEM "-lsocket -lnsl -lelf" | |
95 #define ORDINARY_LINK | |
96 #define LIB_STANDARD | |
97 | |
98 /* there are no -lg libraries on this system, and no libPW */ | |
99 | |
100 #define LIBS_DEBUG | |
101 | |
102 /* No <sioctl.h> */ | |
103 | |
104 #define NO_SIOCTL_H | |
105 | |
106 #define UNEXEC "unexelf.o" | |
107 | |
108 /* Get <sys/ttold.h> to get struct | |
109 * tchars. But get <termio.h> first to make sure ttold.h doesn't | |
110 * interfere. | |
111 */ | |
112 | |
113 #ifndef NOT_C_CODE | |
114 #include <sys/wait.h> | |
115 #endif | |
116 | |
117 #ifdef emacs | |
118 #include <sys/filio.h> | |
119 #include <termio.h> | |
120 #include <sys/ttold.h> | |
121 #include <sys/stream.h> | |
122 #include <sys/termios.h> | |
123 #endif | |
124 | |
125 /* This sets the name of the master side of the PTY. */ | |
126 | |
127 #define PTY_NAME_SPRINTF strcpy (pty_name, "/dev/ptmx"); | |
128 | |
129 /* This sets the name of the slave side of the PTY. On SysVr4, | |
130 grantpt(3) forks a subprocess, so keep sigchld_handler() from | |
131 intercepting that death. If any child but grantpt's should die | |
132 within, it should be caught after EMACS_UNBLOCK_SIGNAL. */ | |
133 | |
134 /* XEmacs change */ | |
135 #ifndef NOT_C_CODE | |
136 # if !__STDC__ && !defined(STDC_HEADERS) | |
137 char *ptsname (); | |
138 # endif | |
139 #endif | |
140 | |
141 #define PTY_TTY_NAME_SPRINTF \ | |
142 { \ | |
143 char *ptyname; \ | |
144 \ | |
145 EMACS_BLOCK_SIGCHLD; \ | |
146 if (grantpt (fd) == -1) \ | |
147 { close (fd); return -1; } \ | |
148 EMACS_UNBLOCK_SIGCHLD; \ | |
149 if (unlockpt (fd) == -1) \ | |
150 { close (fd); return -1; } \ | |
151 if (!(ptyname = ptsname (fd))) \ | |
152 { close (fd); return -1; } \ | |
153 strncpy (pty_name, ptyname, sizeof (pty_name)); \ | |
154 pty_name[sizeof (pty_name) - 1] = 0; \ | |
155 } | |
156 | |
157 /* Push various streams modules onto a PTY channel. */ | |
158 | |
159 #define SETUP_SLAVE_PTY \ | |
160 if (ioctl (xforkin, I_PUSH, "ptem") == -1) \ | |
161 fatal ("ioctl I_PUSH ptem: errno %d\n", errno); \ | |
162 if (ioctl (xforkin, I_PUSH, "ldterm") == -1) \ | |
163 fatal ("ioctl I_PUSH ldterm: errno %d\n", errno); \ | |
164 if (ioctl (xforkin, I_PUSH, "ttcompat") == -1) \ | |
165 fatal ("ioctl I_PUSH ttcompat: errno %d\n", errno); | |
166 | |
167 /* Tell x11term.c and keyboard.c we have the system V streams feature. */ | |
168 #define SYSV_STREAMS | |
169 /* On Some SysV System , w3 freeze. If freeze your xemacs , Add below definition */ | |
170 /* This definition added by Shogo Fujii(shogo@bsd1.kbnes.nec.co.jp) */ | |
171 #define PROCESS_IO_BLOCKING |