annotate src/process.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 7077caf6dc5a
children c7ba95ddeb1d 2ecafc6d5db7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 /* Definitions for asynchronous process control in GNU Emacs.
64770
a0d1312ede66 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64084
diff changeset
2 Copyright (C) 1985, 1994, 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.
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5 This file is part of GNU Emacs.
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 GNU Emacs is free software; you can redistribute it and/or modify
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
12244
ac7375e60931 Update GPL to version 2.
Karl Heuer <kwzh@gnu.org>
parents: 10286
diff changeset
9 the Free Software Foundation; either version 2, or (at your option)
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10 any later version.
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 GNU General Public License for more details.
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
18 along with GNU Emacs; see the file COPYING. If not, write to
64084
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 63132
diff changeset
19 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 63132
diff changeset
20 Boston, MA 02110-1301, USA. */
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21
70209
7077caf6dc5a Include headers for pid_t.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 69873
diff changeset
22 #ifdef HAVE_SYS_TYPES_H
7077caf6dc5a Include headers for pid_t.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 69873
diff changeset
23 #include <sys/types.h>
7077caf6dc5a Include headers for pid_t.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 69873
diff changeset
24 #endif
7077caf6dc5a Include headers for pid_t.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 69873
diff changeset
25 #ifdef HAVE_UNISTD_H
7077caf6dc5a Include headers for pid_t.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 69873
diff changeset
26 #include <unistd.h>
7077caf6dc5a Include headers for pid_t.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 69873
diff changeset
27 #endif
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28
21849
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
29 /* This structure records information about a subprocess
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
30 or network connection.
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
31
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
32 Every field in this structure except for the first two
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
33 must be a Lisp_Object, for GC's sake. */
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35 struct Lisp_Process
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36 {
10286
5689759b9329 Make size field an EMACS_INT.
Richard M. Stallman <rms@gnu.org>
parents: 8888
diff changeset
37 EMACS_INT size;
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 struct Lisp_Vector *v_next;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39 /* Descriptor by which we read from this process */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 Lisp_Object infd;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
41 /* Descriptor by which we write to this process */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 Lisp_Object outfd;
8888
84527c2d9f75 (struct process): New field tty_name.
Richard M. Stallman <rms@gnu.org>
parents: 7307
diff changeset
43 /* Name of subprocess terminal. */
84527c2d9f75 (struct process): New field tty_name.
Richard M. Stallman <rms@gnu.org>
parents: 7307
diff changeset
44 Lisp_Object tty_name;
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 /* Name of this process */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 Lisp_Object name;
43967
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
47 /* List of command arguments that this process was run with.
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
48 Is set to t for a stopped network process; nil otherwise. */
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
49 Lisp_Object command;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
50 /* (funcall FILTER PROC STRING) (if FILTER is non-nil)
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
51 to dispose of a bunch of chars from the process all at once */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52 Lisp_Object filter;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53 /* (funcall SENTINEL PROCESS) when process state changes */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
54 Lisp_Object sentinel;
43967
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
55 /* (funcall LOG SERVER CLIENT MESSAGE) when a server process
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
56 accepts a connection from a client. */
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
57 Lisp_Object log;
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
58 /* Buffer that output is going to */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
59 Lisp_Object buffer;
16059
ad4cd2505623 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 14451
diff changeset
60 /* t if this is a real child process.
43967
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
61 For a net connection, it is a plist based on the arguments to make-network-process. */
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62 Lisp_Object childp;
49222
bfa7cad7b524 (struct Lisp_Process): New member plist replaces old
Kim F. Storm <storm@cua.dk>
parents: 49163
diff changeset
63 /* Plist for programs to keep per-process state information, parameters, etc. */
bfa7cad7b524 (struct Lisp_Process): New member plist replaces old
Kim F. Storm <storm@cua.dk>
parents: 49163
diff changeset
64 Lisp_Object plist;
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
65 /* Marker set to end of last buffer-inserted output from this process */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
66 Lisp_Object mark;
43967
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
67 /* Non-nil means kill silently if Emacs is exited.
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
68 This is the inverse of the `query-on-exit' flag. */
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69 Lisp_Object kill_without_query;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
70 /* Symbol indicating status of process.
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
71 This may be a symbol: run, open, or closed.
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72 Or it may be a list, whose car is stop, exit or signal
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
73 and whose cdr is a pair (EXIT_CODE . COREDUMP_FLAG)
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
74 or (SIGNAL_NUMBER . COREDUMP_FLAG). */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
75 Lisp_Object status;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
76 /* Non-nil if communicating through a pty. */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
77 Lisp_Object pty_flag;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
78 /* Event-count of last event in which this process changed status. */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
79 Lisp_Object tick;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
80 /* Event-count of last such event reported. */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
81 Lisp_Object update_tick;
17042
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
82 /* Coding-system for decoding the input from this process. */
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
83 Lisp_Object decode_coding_system;
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
84 /* Working buffer for decoding. */
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
85 Lisp_Object decoding_buf;
20714
ead6c5a556e1 (struct Lisp_Process): New members decoding_carryover
Kenichi Handa <handa@m17n.org>
parents: 17042
diff changeset
86 /* Size of carryover in decoding. */
ead6c5a556e1 (struct Lisp_Process): New members decoding_carryover
Kenichi Handa <handa@m17n.org>
parents: 17042
diff changeset
87 Lisp_Object decoding_carryover;
17042
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
88 /* Coding-system for encoding the output to this process. */
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
89 Lisp_Object encode_coding_system;
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
90 /* Working buffer for encoding. */
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
91 Lisp_Object encoding_buf;
20714
ead6c5a556e1 (struct Lisp_Process): New members decoding_carryover
Kenichi Handa <handa@m17n.org>
parents: 17042
diff changeset
92 /* Size of carryover in encoding. */
ead6c5a556e1 (struct Lisp_Process): New members decoding_carryover
Kenichi Handa <handa@m17n.org>
parents: 17042
diff changeset
93 Lisp_Object encoding_carryover;
21657
373f809e0b95 (struct Lisp_Process): Add inherit_coding_system_flag member.
Eli Zaretskii <eliz@gnu.org>
parents: 20714
diff changeset
94 /* Flag to set coding-system of the process buffer from the
373f809e0b95 (struct Lisp_Process): Add inherit_coding_system_flag member.
Eli Zaretskii <eliz@gnu.org>
parents: 20714
diff changeset
95 coding_system used to decode process output. */
21849
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
96 Lisp_Object inherit_coding_system_flag;
49666
9f435c19ea6f (struct Lisp_Process): New member filter_multibyte.
Kenichi Handa <handa@m17n.org>
parents: 49222
diff changeset
97 /* Flat to decide the multibyteness of a string given to the
9f435c19ea6f (struct Lisp_Process): New member filter_multibyte.
Kenichi Handa <handa@m17n.org>
parents: 49222
diff changeset
98 filter (if any). It is initialized to the value of
9f435c19ea6f (struct Lisp_Process): New member filter_multibyte.
Kenichi Handa <handa@m17n.org>
parents: 49222
diff changeset
99 `default-enable-multibyte-characters' when the process is
9f435c19ea6f (struct Lisp_Process): New member filter_multibyte.
Kenichi Handa <handa@m17n.org>
parents: 49222
diff changeset
100 generated, and can be changed by the function
9f435c19ea6f (struct Lisp_Process): New member filter_multibyte.
Kenichi Handa <handa@m17n.org>
parents: 49222
diff changeset
101 `set-process-fileter-multibyte'. */
9f435c19ea6f (struct Lisp_Process): New member filter_multibyte.
Kenichi Handa <handa@m17n.org>
parents: 49222
diff changeset
102 Lisp_Object filter_multibyte;
53471
b3ac4cfe9253 (struct Lisp_Process): New members for adaptive read
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
103 /* Should we delay reading output from this process.
b3ac4cfe9253 (struct Lisp_Process): New members for adaptive read
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
104 Initialized from `Vprocess_adaptive_read_buffering'. */
b3ac4cfe9253 (struct Lisp_Process): New members for adaptive read
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
105 Lisp_Object adaptive_read_buffering;
b3ac4cfe9253 (struct Lisp_Process): New members for adaptive read
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
106 /* Hysteresis to try to read process output in larger blocks.
63127
20c2d120fc79 (struct process): Conditionalize slots adaptive_read_buffering,
Richard M. Stallman <rms@gnu.org>
parents: 53726
diff changeset
107 On some systems, e.g. GNU/Linux, Emacs is seen as
53471
b3ac4cfe9253 (struct Lisp_Process): New members for adaptive read
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
108 an interactive app also when reading process output, meaning
b3ac4cfe9253 (struct Lisp_Process): New members for adaptive read
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
109 that process output can be read in as little as 1 byte at a
b3ac4cfe9253 (struct Lisp_Process): New members for adaptive read
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
110 time. Value is micro-seconds to delay reading output from
b3ac4cfe9253 (struct Lisp_Process): New members for adaptive read
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
111 this process. Range is 0 .. 50000. */
b3ac4cfe9253 (struct Lisp_Process): New members for adaptive read
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
112 Lisp_Object read_output_delay;
b3ac4cfe9253 (struct Lisp_Process): New members for adaptive read
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
113 /* Skip reading this process on next read. */
b3ac4cfe9253 (struct Lisp_Process): New members for adaptive read
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
114 Lisp_Object read_output_skip;
69873
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
115
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
116 /* After this point, there are no Lisp_Objects any more. */
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
117
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
118 /* Number of this process.
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
119 allocate_process assumes this is the first non-Lisp_Object field.
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
120 A value 0 is used for pseudo-processes such as network connections. */
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
121 pid_t pid;
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
122 /* Record the process status in the raw form in which it comes from `wait'.
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
123 This is to avoid consing in a signal handler. The `raw_status_new'
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
124 flag indicates that `raw_status' contains a new status that still
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
125 needs to be synced to `status'. */
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
126 int raw_status_new : 1;
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
127 int raw_status;
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
128 };
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
129
21849
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
130 /* Every field in the preceding structure except for the first two
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
131 must be a Lisp_Object, for GC's sake. */
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
132
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
133 #define ChannelMask(n) (1<<(n))
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
134
6165
9c0cc4128da8 (chan_process, Vprocess_alist): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 2432
diff changeset
135 /* Indexed by descriptor, gives the process (if any) for that descriptor. */
6191
84fc456177e2 (chan_process): Don't specify size.
Karl Heuer <kwzh@gnu.org>
parents: 6165
diff changeset
136 extern Lisp_Object chan_process[];
6165
9c0cc4128da8 (chan_process, Vprocess_alist): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 2432
diff changeset
137
9c0cc4128da8 (chan_process, Vprocess_alist): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 2432
diff changeset
138 /* Alist of elements (NAME . PROCESS). */
9c0cc4128da8 (chan_process, Vprocess_alist): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 2432
diff changeset
139 extern Lisp_Object Vprocess_alist;
9c0cc4128da8 (chan_process, Vprocess_alist): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 2432
diff changeset
140
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
141 /* True iff we are about to fork off a synchronous process or if we
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
142 are waiting for it. */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
143 extern int synch_process_alive;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
144
14036
621a575db6f7 Comment fixes.
Karl Heuer <kwzh@gnu.org>
parents: 12244
diff changeset
145 /* Communicate exit status of sync process to from sigchld_handler
546
c10a468c6203 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 365
diff changeset
146 to Fcall_process. */
c10a468c6203 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 365
diff changeset
147
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
148 /* Nonzero => this is a string explaining death of synchronous subprocess. */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
149 extern char *synch_process_death;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
150
53714
77ad9650fc55 synch_process_termsig new variable.
Jan Djärv <jan.h.d@swipnet.se>
parents: 53471
diff changeset
151 /* Nonzero => this is the signal number that terminated the subprocess. */
53726
f37373c2902a * process.h: Add extern to synch_process_termsig.
Jan Djärv <jan.h.d@swipnet.se>
parents: 53714
diff changeset
152 extern int synch_process_termsig;
53714
77ad9650fc55 synch_process_termsig new variable.
Jan Djärv <jan.h.d@swipnet.se>
parents: 53471
diff changeset
153
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
154 /* If synch_process_death is zero,
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
155 this is exit code of synchronous subprocess. */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
156 extern int synch_process_retcode;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
157
2432
17a84e60603b New macros NULL_DEVICE and EXEC_SUFFIXES, to give the name of the
Jim Blandy <jimb@redhat.com>
parents: 546
diff changeset
158 /* The name of the file open to get a null file, or a data sink.
17a84e60603b New macros NULL_DEVICE and EXEC_SUFFIXES, to give the name of the
Jim Blandy <jimb@redhat.com>
parents: 546
diff changeset
159 VMS, MS-DOS, and OS/2 redefine this. */
17a84e60603b New macros NULL_DEVICE and EXEC_SUFFIXES, to give the name of the
Jim Blandy <jimb@redhat.com>
parents: 546
diff changeset
160 #ifndef NULL_DEVICE
17a84e60603b New macros NULL_DEVICE and EXEC_SUFFIXES, to give the name of the
Jim Blandy <jimb@redhat.com>
parents: 546
diff changeset
161 #define NULL_DEVICE "/dev/null"
17a84e60603b New macros NULL_DEVICE and EXEC_SUFFIXES, to give the name of the
Jim Blandy <jimb@redhat.com>
parents: 546
diff changeset
162 #endif
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49903
diff changeset
163
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49903
diff changeset
164 /* arch-tag: dffedfc4-d7bc-4b58-a26f-c16155449c72
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49903
diff changeset
165 (do not change this comment) */