[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#5365: 23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396)
From: |
Sven Joachim |
Subject: |
bug#5365: 23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396) |
Date: |
Wed, 13 Jan 2010 20:13:36 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (gnu/linux) |
On 2010-01-13 18:27 +0100, Chong Yidong wrote:
> Chong Yidong <cyd@stupidchicken.com> writes:
>
>> Even if that's the case, I'm not sure why Vlocal_function_key_map is
>> getting garbage-collected, tho.
>
> OK, I see one place where this could happen. In xterm.c:10207:
>
> terminal->kboard = (KBOARD *) xmalloc (sizeof (KBOARD));
> ...
> if (!EQ (XSYMBOL (Qvendor_specific_keysyms)->function, Qunbound))
> {
> char *vendor = ServerVendor (dpy);
> /* Temporarily hide the partially initialized 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->kboard->next_kboard = all_kboards;
> all_kboards = terminal->kboard;
>
> It's possible that garbage-collection occurs during the call1, when the
> keyboard has not yet been put on the all_kboards linked list. In that
> case, it will not be protected from garbage collection.
>
> Sven, does the following patch fix the bug?
Apparently, at least I can no longer reproduce the bug.
Sven
- bug#5365: 23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396), Sven Joachim, 2010/01/12
- bug#5365: 23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396), Sven Joachim, 2010/01/13
- bug#5365: 23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396), Stefan Monnier, 2010/01/13
- bug#5365: 23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396), Chong Yidong, 2010/01/13
- bug#5365: 23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396), Chong Yidong, 2010/01/13
- bug#5365: 23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396),
Sven Joachim <=
- bug#5365: 23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396), Stefan Monnier, 2010/01/13
- bug#5365: 23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396), Chong Yidong, 2010/01/13
- bug#5365: 23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396), Stefan Monnier, 2010/01/13
- bug#5365: 23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396), Chong Yidong, 2010/01/15
- bug#5365: 23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396), Stefan Monnier, 2010/01/15
- bug#5365: 23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396), Sven Joachim, 2010/01/13