Commit 63286bb2 authored by Chong Yidong's avatar Chong Yidong

Fix gc bug in terminal allocation.

* xterm.c (x_term_init): Avoid garbage-collecting the new terminal
during call to vendor-specific-keysyms (Bug#5365).
parent 6c49ab95
2010-01-13 Chong Yidong <cyd@stupidchicken.com>
* xterm.c (x_term_init): Avoid garbage-collecting the new terminal
during call to vendor-specific-keysyms (Bug#5365).
2010-01-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* keyboard.c (input_available_signal) [SYNC_INPUT]:
......
......@@ -10218,13 +10218,16 @@ x_term_init (display_name, xrm_option, resource_name)
if (!EQ (XSYMBOL (Qvendor_specific_keysyms)->function, Qunbound))
{
char *vendor = ServerVendor (dpy);
/* Temporarily hide the partially initialized terminal */
/* Temporarily hide the partially initialized terminal,
but make sure it doesn't get garbage collected. */
int count = inhibit_garbage_collection ();
terminal_list = terminal->next_terminal;
UNBLOCK_INPUT;
terminal->kboard->Vsystem_key_alist
= call1 (Qvendor_specific_keysyms,
vendor ? build_string (vendor) : empty_unibyte_string);
BLOCK_INPUT;
unbind_to (count, Qnil);
terminal->next_terminal = terminal_list;
terminal_list = terminal;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment