Commit 656280a6 authored by Gerd Moellmann's avatar Gerd Moellmann

(make_lispy_event) [HAVE_X_WINDOWS]: If we know

that EVENT->code isn't a function key, use the keysym's name.

Use SYMBOL_VALUE/SET_SYMBOL_VALUE macros instead of accessing
symbols' value directly.
parent 19cebf5a
......@@ -4688,12 +4688,35 @@ make_lispy_event (event)
/ sizeof (iso_lispy_function_keys[0])));
else
#endif
return modify_event_symbol (event->code - FUNCTION_KEY_OFFSET,
event->modifiers,
Qfunction_key, Qnil,
lispy_function_keys, &func_key_syms,
(sizeof (lispy_function_keys)
/ sizeof (lispy_function_keys[0])));
#ifdef HAVE_X_WINDOWS
if (event->code - FUNCTION_KEY_OFFSET < 0
|| (event->code - FUNCTION_KEY_OFFSET
>= sizeof lispy_function_keys / sizeof *lispy_function_keys))
{
/* EVENT->code is an unknown keysym, for example someone
assigned `ccaron' to a key in a locale where
XmbLookupString doesn't return a translation for it. */
char *name;
Lisp_Object symbol;
BLOCK_INPUT;
/* This returns a pointer to a static area. Don't free it. */
name = XKeysymToString (event->code);
symbol = name ? intern (name) : Qnil;
UNBLOCK_INPUT;
if (!NILP (symbol))
return apply_modifiers (event->modifiers, symbol);
}
#endif /* HAVE_X_WINDOWS */
return modify_event_symbol (event->code - FUNCTION_KEY_OFFSET,
event->modifiers,
Qfunction_key, Qnil,
lispy_function_keys, &func_key_syms,
(sizeof (lispy_function_keys)
/ sizeof (lispy_function_keys[0])));
#ifdef HAVE_MOUSE
/* A mouse click. Figure out where it is, decide whether it's
......@@ -10717,7 +10740,7 @@ This is measured in microseconds.");
"Normal hook run when clearing the echo area.");
#endif
Qecho_area_clear_hook = intern ("echo-area-clear-hook");
XSYMBOL (Qecho_area_clear_hook)->value = Qnil;
SET_SYMBOL_VALUE (Qecho_area_clear_hook, Qnil);
DEFVAR_LISP ("lucid-menu-bar-dirty-flag", &Vlucid_menu_bar_dirty_flag,
"t means menu bar, specified Lucid style, needs to be recomputed.");
......
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