[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#5365: 23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396)
From: |
Chong Yidong |
Subject: |
bug#5365: 23.1.91; Wrong type argument: keymapp, ("DEAD" . 35215396) |
Date: |
Wed, 13 Jan 2010 15:53:40 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1.91 (gnu/linux) |
Stefan Monnier <monnier@iro.umontreal.ca> 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;
>> ...
>> }
>
> Indeed, that looks risky. Why don't we add this new kboard to the
> all_kboards list before calling Qvendor_specific_keysyms?
We'd still have to protect the terminal object. I've checked in a fix
that uses inhibit_garbage_collection, but if you'd like to replace this
with a more elegant fix, go ahead.
Since it appears to fix the problem (as far as Sven can tell), I'll
close this bug. I'll forward the patch to the Debian bts too.
- 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, 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 <=
- 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