annotate src/process.h @ 59146:9bde7721ad0f

* dispextern.h: Change HAVE_CARBON to MAC_OS. (struct glyph_string): Likewise. * emacs.c (main) [MAC_OS8]: Call mac_term_init instead of mac_initialize. * fileio.c (Fnext_read_file_uses_dialog_p, Fread_file_name): Change TARGET_API_MAC_CARBON to HAVE_CARBON. * fns.c (vector): Change MAC_OSX to MAC_OS. * frame.c (x_set_frame_parameters, x_report_frame_params) (x_set_fullscreen): Remove #ifndef HAVE_CARBON. (x_set_border_width, Vdefault_frame_scroll_bars): Change HAVE_CARBON to MAC_OS. * image.c [MAC_OS]: Include sys/stat.h. [MAC_OS && !MAC_OSX]: Include sys/param.h, ImageCompression.h, and QuickTimeComponents.h. * mac.c [!MAC_OSX] (mac_wait_next_event): Add extern. [!MAC_OSX] (select): Use mac_wait_next_event. [!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to Vexec_suffixes. [!MAC_OSX] (select, run_mac_command): Change `#ifdef TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'. (mac_clear_font_name_table): Add extern. (Fmac_clear_font_name_table): New defun. (syms_of_mac): Defsubr it. [MAC_OSX] (SELECT_POLLING_PERIOD_USEC): New define. [MAC_OSX] (select_and_poll_event): New function. [MAC_OSX] (sys_select): Use it. [MAC_OSX && SELECT_USE_CFSOCKET] (socket_callback): New function. [MAC_OSX && SELECT_USE_CFSOCKET] (SELECT_TIMEOUT_THRESHOLD_RUNLOOP, EVENT_CLASS_SOCK): New defines. [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Use CFSocket and RunLoop for simultaneously monitoring two kinds of inputs, window events and process outputs, without periodically polling. * macfns.c (mac_initialized): Remove extern. (stricmp): Put in #if 0. All callers changed to use xstricmp in xfaces.c. (strnicmp): Decrement `n' at the end of each loop, not the beginning. (check_mac): Use the term "Mac native windows" instead of "Mac OS". (check_x_display_info, x_display_info_for_name): Sync with xfns.c. (mac_get_rdb_resource): New function (from w32reg.c). (x_get_string_resource): Use it. (install_window_handler): Add extern. (mac_window): New function. (Fx_create_frame): Use it instead of make_mac_frame. Set parameter for Qfullscreen. Call x_wm_set_size_hint. (Fx_open_connection, Fx_close_connection): New defuns. (syms_of_macfns): Defsubr them. (x_create_tip_frame) [TARGET_API_MAC_CARBON]: Add kWindowNoUpdatesAttribute to the window attribute. (x_create_tip_frame) [!TARGET_API_MAC_CARBON]: Use NewCWindow. (x_create_tip_frame): Don't call ShowWindow. (Fx_show_tip): Call ShowWindow. (Fx_file_dialog): Change `#ifdef TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'. (mac_frame_parm_handlers): Set handlers for Qfullscreen. (syms_of_macfns) [MAC_OSX]: Initialize mac_in_use to 0. * macgui.h [!MAC_OSX]: Don't include Controls.h. Include Windows.h. (Window): Typedef to WindowPtr and move outside `#if TARGET_API_MAC_CARBON'. (XSizeHints): New struct. * macterm.c (x_update_begin, x_update_end) [TARGET_API_MAC_CARBON]: Disable screen updates during update of a frame. (x_draw_glyph_string_background, x_draw_glyph_string_foreground) [MAC_OS8]: Use XDrawImageString/XDrawImageString16. (construct_mouse_click): Put in #if 0. (x_check_fullscreen, x_check_fullscreen_move): Remove decls. (x_scroll_bar_create, x_scroll_bar_handle_click): Change `#ifdef TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'. (activate_scroll_bars, deactivate_scroll_bars) [!TARGET_API_MAC_CARBON]: Use ActivateControl/DeactivateControl. (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Reposition window if the position is neither user-specified nor program-specified. (x_free_frame_resources): Free size_hints. (x_wm_set_size_hint): Allocate size_hints if needed. Set size_hints. (mac_clear_font_name_table): New function. (mac_do_list_fonts): Initialize font_name_table if needed. (x_list_fonts): Don't initialize font_name_table. Add BLOCK_INPUT around mac_do_list_fonts. (mac_unload_font): New function. (x_load_font): Add BLOCK_INPUT around XLoadQueryFont. (init_mac_drag_n_drop, mac_do_receive_drag): Enclose declarations and definitions with #if TARGET_API_MAC_CARBON. [USE_CARBON_EVENTS] (mac_handle_window_event): Add decl. (install_window_handler): Add decl. (do_window_update): Add BeginUpdate/EndUpdate for the tooltip window. Use UpdateControls. Get the rectangle that should be updated and restrict the target of expose_frame to it. (do_grow_window): Set minimum height/width according to size_hints. (do_grow_window) [TARGET_API_MAC_CARBON]: Use ResizeWindow. (do_zoom_window): Don't use x_set_window_size. [USE_CARBON_EVENTS] (mac_handle_window_event): New function. (install_window_handler): New function. [!USE_CARBON_EVENTS] (mouse_region): New variable. [!USE_CARBON_EVENTS] (mac_wait_next_event): New function. (XTread_socket) [USE_CARBON_EVENTS]: Move call to GetEventDispatcherTarget inside BLOCK_INPUT. (XTread_socket) [!USE_CARBON_EVENTS]: Use mac_wait_next_event. Update mouse_region when mouse is moved. (make_mac_frame): Remove. (make_mac_terminal_frame): Put in #ifdef MAC_OS8. Initialize mouse pointer shapes. Change values of f->left_pos and f->top_pos. Don't use make_mac_frame. Use NewCWindow. Don't call ShowWindow. (mac_initialize_display_info) [MAC_OSX]: Create mac_id_name from Vinvocation_name and Vsystem_name. (mac_make_rdb): New function (from w32term.c). (mac_term_init): Use it. Add BLOCK_INPUT. Error if display has already been opened. Don't pass argument to mac_initialize_display_info. Don't set dpyinfo->height/width. Add entries to x_display_list and x_display_name_list. (x_delete_display): New function. (mac_initialize): Don't call mac_initialize_display_info. (syms_of_macterm) [!MAC_OSX]: Don't call Fprovide. * macterm.h (check_mac): Add extern. (struct mac_output): New member size_hints. (FRAME_SIZE_HINTS): New macro. (mac_unload_font): Add extern. * xdisp.c (expose_window, expose_frame): Remove kludges for Mac. * xfaces.c (clear_font_table) [MAC_OS]: call mac_unload_font.
author Steven Tamm <steventamm@mac.com>
date Mon, 27 Dec 2004 17:27:30 +0000
parents f37373c2902a
children 20c2d120fc79
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.
7307
cd81dba38a49 Update copyright.
Karl Heuer <kwzh@gnu.org>
parents: 6191
diff changeset
2 Copyright (C) 1985, 1994 Free Software Foundation, Inc.
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4 This file is part of GNU Emacs.
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
7 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
8 the Free Software Foundation; either version 2, or (at your option)
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
9 any later version.
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
10
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 GNU General Public License for more details.
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
14186
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 14036
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
ee40177f6c68 Update FSF's address in the preamble.
Erik Naggum <erik@naggum.no>
parents: 14036
diff changeset
19 Boston, MA 02111-1307, USA. */
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
20
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
21
21849
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
22 /* 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
23 or network connection.
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
24
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
25 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
26 must be a Lisp_Object, for GC's sake. */
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
27
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
28 struct Lisp_Process
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
29 {
10286
5689759b9329 Make size field an EMACS_INT.
Richard M. Stallman <rms@gnu.org>
parents: 8888
diff changeset
30 EMACS_INT size;
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
31 struct Lisp_Vector *v_next;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32 /* Descriptor by which we read from this process */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 Lisp_Object infd;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 /* Descriptor by which we write to this process */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
35 Lisp_Object outfd;
8888
84527c2d9f75 (struct process): New field tty_name.
Richard M. Stallman <rms@gnu.org>
parents: 7307
diff changeset
36 /* Name of subprocess terminal. */
84527c2d9f75 (struct process): New field tty_name.
Richard M. Stallman <rms@gnu.org>
parents: 7307
diff changeset
37 Lisp_Object tty_name;
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
38 /* Name of this process */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39 Lisp_Object name;
43967
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
40 /* 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
41 Is set to t for a stopped network process; nil otherwise. */
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
42 Lisp_Object command;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 /* (funcall FILTER PROC STRING) (if FILTER is non-nil)
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 to dispose of a bunch of chars from the process all at once */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 Lisp_Object filter;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 /* (funcall SENTINEL PROCESS) when process state changes */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47 Lisp_Object sentinel;
43967
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
48 /* (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
49 accepts a connection from a client. */
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
50 Lisp_Object log;
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
51 /* Buffer that output is going to */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52 Lisp_Object buffer;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53 /* Number of this process */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
54 Lisp_Object pid;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
55 /* Non-nil if this is really a command channel */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
56 Lisp_Object command_channel_p;
16059
ad4cd2505623 Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 14451
diff changeset
57 /* 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
58 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
59 Lisp_Object childp;
49222
bfa7cad7b524 (struct Lisp_Process): New member plist replaces old
Kim F. Storm <storm@cua.dk>
parents: 49163
diff changeset
60 /* 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
61 Lisp_Object plist;
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62 /* Marker set to end of last buffer-inserted output from this process */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
63 Lisp_Object mark;
43967
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
64 /* 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
65 This is the inverse of the `query-on-exit' flag. */
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
66 Lisp_Object kill_without_query;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
67 /* Record the process status in the raw form in which it comes from `wait'.
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
68 This is to avoid consing in a signal handler. */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69 Lisp_Object raw_status_low;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
70 Lisp_Object raw_status_high;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
71 /* Symbol indicating status of process.
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
72 This may be a symbol: run, open, or closed.
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
73 Or it may be a list, whose car is stop, exit or signal
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
74 and whose cdr is a pair (EXIT_CODE . COREDUMP_FLAG)
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
75 or (SIGNAL_NUMBER . COREDUMP_FLAG). */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
76 Lisp_Object status;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
77 /* Non-nil if communicating through a pty. */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
78 Lisp_Object pty_flag;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
79 /* Event-count of last event in which this process changed status. */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
80 Lisp_Object tick;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
81 /* Event-count of last such event reported. */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
82 Lisp_Object update_tick;
17042
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
83 /* Coding-system for decoding the input from this process. */
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
84 Lisp_Object decode_coding_system;
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
85 /* Working buffer for decoding. */
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
86 Lisp_Object decoding_buf;
20714
ead6c5a556e1 (struct Lisp_Process): New members decoding_carryover
Kenichi Handa <handa@m17n.org>
parents: 17042
diff changeset
87 /* Size of carryover in decoding. */
ead6c5a556e1 (struct Lisp_Process): New members decoding_carryover
Kenichi Handa <handa@m17n.org>
parents: 17042
diff changeset
88 Lisp_Object decoding_carryover;
17042
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
89 /* Coding-system for encoding the output to this process. */
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
90 Lisp_Object encode_coding_system;
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
91 /* Working buffer for encoding. */
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
92 Lisp_Object encoding_buf;
20714
ead6c5a556e1 (struct Lisp_Process): New members decoding_carryover
Kenichi Handa <handa@m17n.org>
parents: 17042
diff changeset
93 /* Size of carryover in encoding. */
ead6c5a556e1 (struct Lisp_Process): New members decoding_carryover
Kenichi Handa <handa@m17n.org>
parents: 17042
diff changeset
94 Lisp_Object encoding_carryover;
21657
373f809e0b95 (struct Lisp_Process): Add inherit_coding_system_flag member.
Eli Zaretskii <eliz@gnu.org>
parents: 20714
diff changeset
95 /* 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
96 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
97 Lisp_Object inherit_coding_system_flag;
49666
9f435c19ea6f (struct Lisp_Process): New member filter_multibyte.
Kenichi Handa <handa@m17n.org>
parents: 49222
diff changeset
98 /* 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
99 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
100 `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
101 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
102 `set-process-fileter-multibyte'. */
9f435c19ea6f (struct Lisp_Process): New member filter_multibyte.
Kenichi Handa <handa@m17n.org>
parents: 49222
diff changeset
103 Lisp_Object filter_multibyte;
53471
b3ac4cfe9253 (struct Lisp_Process): New members for adaptive read
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
104 /* 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
105 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
106 Lisp_Object adaptive_read_buffering;
b3ac4cfe9253 (struct Lisp_Process): New members for adaptive read
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
107 /* Hysteresis to try to read process output in larger blocks.
b3ac4cfe9253 (struct Lisp_Process): New members for adaptive read
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
108 On some systems, e.g. the Linux kernel, emacs is seen as
b3ac4cfe9253 (struct Lisp_Process): New members for adaptive read
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
109 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
110 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
111 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
112 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
113 Lisp_Object read_output_delay;
b3ac4cfe9253 (struct Lisp_Process): New members for adaptive read
Kim F. Storm <storm@cua.dk>
parents: 52401
diff changeset
114 /* 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
115 Lisp_Object read_output_skip;
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
116 };
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
117
21849
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
118 /* 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
119 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
120
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
121 #define ChannelMask(n) (1<<(n))
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
122
6165
9c0cc4128da8 (chan_process, Vprocess_alist): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 2432
diff changeset
123 /* 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
124 extern Lisp_Object chan_process[];
6165
9c0cc4128da8 (chan_process, Vprocess_alist): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 2432
diff changeset
125
9c0cc4128da8 (chan_process, Vprocess_alist): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 2432
diff changeset
126 /* Alist of elements (NAME . PROCESS). */
9c0cc4128da8 (chan_process, Vprocess_alist): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 2432
diff changeset
127 extern Lisp_Object Vprocess_alist;
9c0cc4128da8 (chan_process, Vprocess_alist): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 2432
diff changeset
128
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
129 /* 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
130 are waiting for it. */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
131 extern int synch_process_alive;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
132
14036
621a575db6f7 Comment fixes.
Karl Heuer <kwzh@gnu.org>
parents: 12244
diff changeset
133 /* Communicate exit status of sync process to from sigchld_handler
546
c10a468c6203 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 365
diff changeset
134 to Fcall_process. */
c10a468c6203 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 365
diff changeset
135
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
136 /* Nonzero => this is a string explaining death of synchronous subprocess. */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
137 extern char *synch_process_death;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
138
53714
77ad9650fc55 synch_process_termsig new variable.
Jan Djärv <jan.h.d@swipnet.se>
parents: 53471
diff changeset
139 /* 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
140 extern int synch_process_termsig;
53714
77ad9650fc55 synch_process_termsig new variable.
Jan Djärv <jan.h.d@swipnet.se>
parents: 53471
diff changeset
141
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
142 /* If synch_process_death is zero,
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
143 this is exit code of synchronous subprocess. */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
144 extern int synch_process_retcode;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
145
2432
17a84e60603b New macros NULL_DEVICE and EXEC_SUFFIXES, to give the name of the
Jim Blandy <jimb@redhat.com>
parents: 546
diff changeset
146 /* 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
147 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
148 #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
149 #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
150 #endif
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49903
diff changeset
151
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49903
diff changeset
152 /* arch-tag: dffedfc4-d7bc-4b58-a26f-c16155449c72
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49903
diff changeset
153 (do not change this comment) */