aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.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/alloc.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/alloc.c')
-rw-r--r--src/alloc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 1835d2a59eb..700845ab6c5 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -256,6 +256,7 @@ EMACS_INT gcs_done; /* accumulated GCs */
256 256
257static void mark_buffer P_ ((Lisp_Object)); 257static void mark_buffer P_ ((Lisp_Object));
258extern void mark_kboards P_ ((void)); 258extern void mark_kboards P_ ((void));
259extern void mark_ttys P_ ((void));
259static void gc_sweep P_ ((void)); 260static void gc_sweep P_ ((void));
260static void mark_glyph_matrix P_ ((struct glyph_matrix *)); 261static void mark_glyph_matrix P_ ((struct glyph_matrix *));
261static void mark_face_cache P_ ((struct face_cache *)); 262static void mark_face_cache P_ ((struct face_cache *));
@@ -4441,6 +4442,7 @@ returns nil, because real GC can't be done. */)
4441 mark_object (backlist->args[i]); 4442 mark_object (backlist->args[i]);
4442 } 4443 }
4443 mark_kboards (); 4444 mark_kboards ();
4445 mark_ttys ();
4444 4446
4445 /* Look thru every buffer's undo list 4447 /* Look thru every buffer's undo list
4446 for elements that update markers that were not marked, 4448 for elements that update markers that were not marked,