Mercurial > emacs
annotate src/syswait.h @ 72367:12fa9bdadf0a
(allout-prior-bindings, allout-added-bindings): Remove, after long deprecation.
(allout-beginning-of-line-cycles, allout-end-of-line-cycles):
Add customization vars controlling allout-beginning-of-line and
allout-end-of-line conveniences.
(allout-header-prefix, allout-use-mode-specific-leader)
(allout-use-mode-specific-leader, allout-mode-leaders): Revised docstrings.
(allout-infer-header-lead): Change to be an alias for
allout-infer-header-lead-and-primary-bullet.
(allout-infer-header-lead-and-primary-bullet): New version of
allout-infer-header-lead which assigns the primary bullet to the
same as the header lead, when its being changed.
(allout-infer-body-reindent): Apply regexp-quote instead of unconditionally
prepending "\\", so that all literal allout-header-prefix and
allout-primary-bullet strings are properly handled.
(allout-add-resumptions): Add optional qualifier for extending or appending to
existing values, rather than replacing them.
(allout-view-change-hook): Clarify docstring.
(allout-exposure-change-hook): Take explicit arguments, via run-hook-with-args.
(allout-structure-added-hook, allout-structure-deleted-hook)
(allout-structure-shifted-hook): New hooks analogous to
allout-exposure-change-hook for other kinds of structural outline edits.
(allout-encryption-plaintext-sanitization-regexps): New encryption
customization variable, by which cooperating modes can provde massage of the
plaintext without actually being passed it.
(allout-encryption-ciphertext-rejection-regexps)
(allout-encryption-ciphertext-rejection-ceiling): New encryption
customization variables, by which cooperating modes can prohibit rare but
possible ciphertext patterns from fouling their operation, with actually being
passed the ciphertext.
(allout-mode): Run activation and deactivation hooks after the minor-mode
variable has been toggled, to clarify the mode disposition. The new encryption
ciphertext rejection variable is used to ensure that the ciphertext does not
contain text that would be recognized as outline structural elements by allout.
Substite allout-beginning-of-line and allout-end-of-line for conventionall
beginning-of-line and end-of-line bindings. If allout-old-style-prefixes is
non-nil, don't nullify it on mode activation!
(allout-beginning-of-line): Respect `allout-beginning-of-line-cycles'.
(allout-end-of-line): Respect `allout-end-of-line-cycles'.
(allout-chart-subtree): Implement new mode, charting only the visible items in
the subtree, when new 'visible' parameter is non-nil.
(allout-end-of-subtree): Properly handle the last item in the buffer.
(allout-pre-command-business, allout-command-counter): Increment an advertised
counter so that cooperating enhancements can track revisions of items.
(allout-open-topic): Run allout-structure-added-hook with suitable arguments.
(allout-shift-in): Run allout-structure-shifted-hook with suitable arguments.
(allout-shift-out): Fix doubling for negative args and ensure call of
allout-structure-shifted-hook by solely using allout-shift-in.
(allout-kill-line, allout-kill-topic): Run allout-structure-deleted-hook with
suitable arguments.
(allout-yank-processing): Run allout-structure-added-hook with proper arguments.
(allout-yank): Enclose activity in allout-unprotected.
(allout-flag-region): Run allout-exposure-change-hook with suitable arguments,
instead of making the callee infer the arguments.
(allout-encrypt-string): Support
allout-encryption-plaintext-sanitization-regexps,
allout-encryption-ciphertext-rejection-regexps, and
allout-encryption-ciphertext-rejection-ceiling. Indicate correct
en/decryption mode in symmetric encryption failure message.
(allout-obtain-passphrase): Use copy-sequence to get a distinct copy of the
passphrase, and don't zero it or we'll corrupt the stashed copy.
(allout-create-encryption-passphrase-verifier)
(allout-verify-passphrase): Respect the new signature for allout-encrypt-string.
(allout-get-configvar-values): Convenience for getting a configuration variable
value and handling its absence gracefully.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Sat, 12 Aug 2006 12:33:32 +0000 |
parents | 3bd95f4f2941 |
children | e90d04cd455a c5406394f567 |
rev | line source |
---|---|
4626 | 1 /* Define wait system call interface for Emacs. |
64770
a0d1312ede66
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64084
diff
changeset
|
2 Copyright (C) 1993, 1994, 1995, 2000, 2002, 2003, 2004, |
68651
3bd95f4f2941
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64770
diff
changeset
|
3 2005, 2006 Free Software Foundation, Inc. |
4626 | 4 |
5 This file is part of GNU Emacs. | |
6 | |
7 GNU Emacs is free software; you can redistribute it and/or modify | |
8 it under the terms of the GNU General Public License as published by | |
9 the Free Software Foundation; either version 2, or (at your option) | |
10 any later version. | |
11 | |
12 GNU Emacs is distributed in the hope that it will be useful, | |
13 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 GNU General Public License for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
18 along with GNU Emacs; see the file COPYING. If not, write to | |
64084 | 19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
20 Boston, MA 02110-1301, USA. */ | |
4626 | 21 |
22 /* Define the structure that the wait system call stores. | |
23 On many systems, there is a structure defined for this. | |
24 But on vanilla-ish USG systems there is not. */ | |
25 | |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
26 #ifndef EMACS_SYSWAIT_H |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
27 #define EMACS_SYSWAIT_H |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
28 |
4626 | 29 #ifndef VMS |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
30 |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
31 /* This is now really the approach recommended by Autoconf. If this |
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
32 doesn't cause trouble anywhere, remove the original code, which is |
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
33 #if'd out below. */ |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
34 |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
35 #if 1 |
30465 | 36 #include <sys/types.h> |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
37 |
41185
d12c8d3334f4
Delete conditionals for HPUX7, ISC 4.1, and convex.
Richard M. Stallman <rms@gnu.org>
parents:
41138
diff
changeset
|
38 #ifdef HAVE_SYS_WAIT_H /* We have sys/wait.h with POSIXoid definitions. */ |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
39 #include <sys/wait.h> |
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
40 #endif /* !HAVE_SYS_WAIT_H */ |
30465 | 41 |
42 #ifndef WCOREDUMP /* not POSIX */ | |
43 #define WCOREDUMP(status) ((status) & 0x80) | |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
44 #endif |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
45 #ifndef WEXITSTATUS |
30465 | 46 #define WEXITSTATUS(status) (((status) & 0xff00) >> 8) |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
47 #endif |
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
48 #ifndef WIFEXITED |
30465 | 49 #define WIFEXITED(status) (WTERMSIG(status) == 0) |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
50 #endif |
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
51 #ifndef WIFSTOPPED |
30465 | 52 #define WIFSTOPPED(status) (((status) & 0xff) == 0x7f) |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
53 #endif |
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
54 #ifndef WIFSIGNALED |
30465 | 55 #define WIFSIGNALED(status) (!WIFSTOPPED(status) && !WIFEXITED(status)) |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
56 #endif |
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
57 #ifndef WSTOPSIG |
30465 | 58 #define WSTOPSIG(status) WEXITSTATUS(status) |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
59 #endif |
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
60 #ifndef WTERMSIG |
30465 | 61 #define WTERMSIG(status) ((status) & 0x7f) |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
62 #endif |
30465 | 63 |
64 #undef WAITTYPE | |
65 #define WAITTYPE int | |
66 #undef WRETCODE | |
67 #define WRETCODE(status) WEXITSTATUS (status) | |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
68 |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
69 #else /* 0 */ |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
70 |
4626 | 71 #ifndef WAITTYPE |
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
72 |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
73 #ifdef WAIT_USE_INT |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
74 /* Some systems have union wait in their header, but we should use |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
75 int regardless of that. */ |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
76 #include <sys/wait.h> |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
77 #define WAITTYPE int |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
78 #define WRETCODE(w) WEXITSTATUS (w) |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
79 |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
80 #else /* not WAIT_USE_INT */ |
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
81 |
16220
02044b05d8e0
Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents:
15000
diff
changeset
|
82 #if (!defined (BSD_SYSTEM) && !defined (UNIPLUS) && !defined (STRIDE) && !(defined (HPUX) && !defined (NOMULTIPLEJOBS)) && !defined (HAVE_WAIT_HEADER)) |
4626 | 83 #define WAITTYPE int |
84 #define WIFSTOPPED(w) ((w&0377) == 0177) | |
85 #define WIFSIGNALED(w) ((w&0377) != 0177 && (w&~0377) == 0) | |
86 #define WIFEXITED(w) ((w&0377) == 0) | |
87 #define WRETCODE(w) (w >> 8) | |
88 #define WSTOPSIG(w) (w >> 8) | |
30465 | 89 #define WTERMSIG(w) (w & 0177) |
4626 | 90 #ifndef WCOREDUMP |
91 #define WCOREDUMP(w) ((w&0200) != 0) | |
92 #endif | |
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
93 |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
46865
diff
changeset
|
94 #else |
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
95 |
4626 | 96 #ifdef BSD4_1 |
97 #include <wait.h> | |
98 #else | |
99 #include <sys/wait.h> | |
100 #endif /* not BSD 4.1 */ | |
101 | |
102 #define WAITTYPE union wait | |
103 #define WRETCODE(w) w.w_retcode | |
6015
1a2b17eab8d9
[BSD]: #undef WCOREDUMP before defining it.
Roland McGrath <roland@gnu.org>
parents:
4955
diff
changeset
|
104 #undef WCOREDUMP /* Later BSDs define this name differently. */ |
4626 | 105 #define WCOREDUMP(w) w.w_coredump |
106 | |
4955 | 107 #if defined (HPUX) || defined (convex) |
4626 | 108 /* HPUX version 7 has broken definitions of these. */ |
4955 | 109 /* pvogel@convex.com says the convex does too. */ |
4626 | 110 #undef WTERMSIG |
111 #undef WSTOPSIG | |
112 #undef WIFSTOPPED | |
113 #undef WIFSIGNALED | |
114 #undef WIFEXITED | |
4955 | 115 #endif /* HPUX | convex */ |
4626 | 116 |
117 #ifndef WTERMSIG | |
118 #define WTERMSIG(w) w.w_termsig | |
119 #endif | |
120 #ifndef WSTOPSIG | |
121 #define WSTOPSIG(w) w.w_stopsig | |
122 #endif | |
123 #ifndef WIFSTOPPED | |
124 #define WIFSTOPPED(w) (WTERMSIG (w) == 0177) | |
125 #endif | |
126 #ifndef WIFSIGNALED | |
127 #define WIFSIGNALED(w) (WTERMSIG (w) != 0177 && (WSTOPSIG (w)) == 0) | |
128 #endif | |
129 #ifndef WIFEXITED | |
130 #define WIFEXITED(w) (WTERMSIG (w) == 0) | |
131 #endif | |
16220
02044b05d8e0
Replaced symbol BSD with BSD_SYSTEM.
Karl Heuer <kwzh@gnu.org>
parents:
15000
diff
changeset
|
132 #endif /* BSD_SYSTEM || UNIPLUS || STRIDE || HPUX */ |
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
133 #endif /* not WAIT_USE_INT */ |
4626 | 134 #endif /* no WAITTYPE */ |
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
135 |
46865
971ae7795f13
Only the include of sys/wait.h tests HAVE_SYS_WAIT_H.
Richard M. Stallman <rms@gnu.org>
parents:
41185
diff
changeset
|
136 #endif /* 0 */ |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
137 |
4626 | 138 #else /* VMS */ |
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
139 |
4626 | 140 #define WAITTYPE int |
141 #define WIFSTOPPED(w) 0 | |
142 #define WIFSIGNALED(w) 0 | |
143 #define WIFEXITED(w) ((w) != -1) | |
144 #define WRETCODE(w) (w) | |
145 #define WSTOPSIG(w) (w) | |
146 #define WCOREDUMP(w) 0 | |
147 #define WTERMSIG(w) (w) | |
148 #include <ssdef.h> | |
149 #include <iodef.h> | |
150 #include <clidef.h> | |
151 #include "vmsproc.h" | |
10773
d8bc42dd7235
New alternative specified by WAIT_USE_INT.
Richard M. Stallman <rms@gnu.org>
parents:
10715
diff
changeset
|
152 |
4626 | 153 #endif /* VMS */ |
30066
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
154 |
0c8b413f3f35
Use the autoconf recommended approach. Old code #if'd out in case we
Dave Love <fx@gnu.org>
parents:
16220
diff
changeset
|
155 #endif /* EMACS_SYSWAIT_H */ |
52401 | 156 |
157 /* arch-tag: 7e5d9719-ec66-4b6f-89bb-563eea16a899 | |
158 (do not change this comment) */ |