Fix C-x 5 2 on the controlling tty; fix some possible crash conditions and a memory...
authorKaroly Lorentey <lorentey@elte.hu>
Sat, 20 May 2006 17:12:43 +0000 (17:12 +0000)
committerKaroly Lorentey <lorentey@elte.hu>
Sat, 20 May 2006 17:12:43 +0000 (17:12 +0000)
commitab797f65de1b82ff9e96aab6989976a152385048
tree2622d33ce1a69cac40e5b31fa0f7f9e1faa8998b
parent8cbd7bed2db718a63ed37182c566f9e059925c71
Fix C-x 5 2 on the controlling tty; fix some possible crash conditions and a memory leak.

* src/frame.c (make_terminal_frame): Don't create frames on a terminal
  that is being deleted.
* src/xfns.c (Fx_create_frame, x_create_tip_frame): Ditto.

* src/keyboard.c (tty_read_avail_input): Don't read from a terminal that
  is being deleted.

* src/term.c (get_named_tty): Abort if tty name is NULL.  Simplify accordingly.

* src/term.c (Ftty_type): Return nil if terminal is not on a tty instead
  of throwing an error.  Doc update.

* src/term.c (init_tty): Set name before calling `get_named_tty'.

* src/term.c (delete_tty): Let delete_terminal delete the frames.  Plug
  memory leak caused by tty->name.  Remove reference to `deleting_tty'.

* src/term.c (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>: Doc update.

* src/termhooks.h (terminal) <name>: Explain why identifying terminals by
  name is a bad idea.

* src/terminal.c (delete_terminal): Doc update.

* src/xterm.c (XTread_socket): Disable loop on all X displays.

* src/xterm.c (x_delete_display): Doc update to reflect changes in
  delete_terminal.

* src/xterm.c (x_delete_terminal): Don't set terminal->deleted and let
  delete_terminal delete the frames on the terminal.

* src/xterm.h (x_display_info) <terminal>: Move member earlier in the struct.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-565
src/frame.c
src/keyboard.c
src/term.c
src/termhooks.h
src/terminal.c
src/xfns.c
src/xterm.c
src/xterm.h