[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#558: (23.0.60; crash on M-x make-frame-on-display)
From: |
Andreas Seltenreich |
Subject: |
bug#558: (23.0.60; crash on M-x make-frame-on-display) |
Date: |
Mon, 14 Jul 2008 19:34:13 +0200 |
User-agent: |
Gnus/5.110011 (No Gnus v0.11) Emacs/23.0.60 (gnu/linux) |
Emacs bug Tracking System writes:
> If you wish to submit further information on this problem, please
> send it to 558@emacsbugs.donarmstrong.com, as before.
The patch in the initial report is broken. Sorry for the inconvenience.
Here's a tested version.
--8<---------------cut here---------------start------------->8---
*** xterm.c.~1.1000.~ 2008-07-13 18:20:31.000000000 +0200
--- xterm.c 2008-07-14 19:04:45.000000000 +0200
***************
*** 10125,10135 ****
--- 10125,10140 ----
if (!EQ (XSYMBOL (Qvendor_specific_keysyms)->function, Qunbound))
{
char *vendor = ServerVendor (dpy);
+ /* temporarily hide the partially initialized terminal */
+ xassert(terminal_list == terminal);
+ 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;
+ terminal->next_terminal = terminal_list;
+ terminal_list = terminal;
}
terminal->kboard->next_kboard = all_kboards;
--8<---------------cut here---------------end--------------->8---
I also found a way to artificially cause a SIGIO at the right time to
trigger the crash more reliably:
1. compiling emacs from CVS using
./configure --with-x-toolkit=no CFLAGS='-O2 -g -fno-crossjumping'
2. running emacs -Q -nw
3. M-x find-function RET vendor-specific-keysyms RET
4. C-u C-M-x
5. crash on M-x make-frame-on-display RET :0 RET
regards,
andreas