aboutsummaryrefslogtreecommitdiffstats
path: root/src/process.c
diff options
context:
space:
mode:
authorKaroly Lorentey2003-12-31 05:09:29 +0000
committerKaroly Lorentey2003-12-31 05:09:29 +0000
commit819b8f00ed7b8a9a2190efaa02376ed332ecf763 (patch)
treec30ab72204225385c428db008580a9f67f5c215c /src/process.c
parent16c290d8c16fb0fdb574c837c6b1badbc655efe2 (diff)
downloademacs-819b8f00ed7b8a9a2190efaa02376ed332ecf763.tar.gz
emacs-819b8f00ed7b8a9a2190efaa02376ed332ecf763.zip
A few more bugfixes and new features.
(Sigh.) I obviously need to remember to separate individual changes to multiple commits. src/emacsclient.c: Improved error handling. (decode_options): Changed frame option (again) from -f to -t. (print_help_and_exit): Ditto. (copy_from_to): Check EINTR after write, not EAGAIN. Removed SIGIO hack. (pty_conversation): Handle errors transmitted through the socket. Handle pty errors by not reading from it anymore. (main): Restore correct errno after socket_status failed. Send -tty on -t, not -pty. lisp/server.el (server-process-filter): Watch -tty, not -pty. Use make-frame-on-tty instead of make-terminal-frame. Don't set newframe to t if make-frame-on-tty failed. Don't delete frames here. Print correct message when there are no files to edit, but a new frame was requested. (server-sentinel): Delete the frame after the process. (server-handle-delete-frame): New function for delete-frame-functions. (server-start): Add server-handle-delete-frame to delete-frame-functions. (server-buffer-done): Don't delete frames here. src/alloc.c (mark_ttys): Add prototype. (Fgarbage_collect): Call mark_ttys. src/emacs.c: (shut_down_emacs): Don't flush stdout before reset_sys_modes(). src/process.c (add_keyboard_wait_descriptor_called_flag): Removed. (add_keyboard_wait_descriptor): Removed stdin hack. src/sysdep.c: Unconditionally include sysselect.h. (old_fcntl_flags): Changed to an array. (init_sigio, reset_sigio): Use it. (narrow_foreground_group, widen_foreground_group): Use setpgid, not setpgrp. (old_fcntl_owner): Changed to an array. (init_sys_modes, reset_sys_modes): Use it. Fix fsync() and reset_sigio() calls. src/term.c (Qframe_tty_name, Qframe_tty_type): New variables. (syms_of_term): Initialize them. (Fframe_tty_name, Fframe_tty_type): New functions. (term_init): Call add_keyboard_wait_descriptor(). (Fdelete_tty): New function. (delete_tty): Call delete_keyboard_wait_descriptor(). (get_current_tty): Removed. (mark_ttys): New function. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-28
Diffstat (limited to 'src/process.c')
-rw-r--r--src/process.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/src/process.c b/src/process.c
index ed0d5fe765b..3334f3258ae 100644
--- a/src/process.c
+++ b/src/process.c
@@ -275,11 +275,11 @@ extern int keyboard_bit_set P_ ((SELECT_TYPE *));
275 275
276static SELECT_TYPE input_wait_mask; 276static SELECT_TYPE input_wait_mask;
277 277
278/* Mask that excludes keyboard input descriptor (s). */ 278/* Mask that excludes keyboard input descriptor(s). */
279 279
280static SELECT_TYPE non_keyboard_wait_mask; 280static SELECT_TYPE non_keyboard_wait_mask;
281 281
282/* Mask that excludes process input descriptor (s). */ 282/* Mask that excludes process input descriptor(s). */
283 283
284static SELECT_TYPE non_process_wait_mask; 284static SELECT_TYPE non_process_wait_mask;
285 285
@@ -6430,20 +6430,10 @@ DEFUN ("process-filter-multibyte-p", Fprocess_filter_multibyte_p,
6430 6430
6431 6431
6432 6432
6433/* The first time this is called, assume keyboard input comes from DESC
6434 instead of from where we used to expect it.
6435 Subsequent calls mean assume input keyboard can come from DESC
6436 in addition to other places. */
6437
6438static int add_keyboard_wait_descriptor_called_flag;
6439
6440void 6433void
6441add_keyboard_wait_descriptor (desc) 6434add_keyboard_wait_descriptor (desc)
6442 int desc; 6435 int desc;
6443{ 6436{
6444 if (! add_keyboard_wait_descriptor_called_flag)
6445 FD_CLR (0, &input_wait_mask);
6446 add_keyboard_wait_descriptor_called_flag = 1;
6447 FD_SET (desc, &input_wait_mask); 6437 FD_SET (desc, &input_wait_mask);
6448 FD_SET (desc, &non_process_wait_mask); 6438 FD_SET (desc, &non_process_wait_mask);
6449 if (desc > max_keyboard_desc) 6439 if (desc > max_keyboard_desc)