mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-06 05:52:32 -08:00
(Qvendor_specific_keysyms): New var.
(syms_of_xterm): Initialize and staticpro it. (x_term_init): Initialize Vsystem_key_alist according to vendor.
This commit is contained in:
parent
b9df9faab4
commit
59e755be76
1 changed files with 13 additions and 3 deletions
16
src/xterm.c
16
src/xterm.c
|
|
@ -211,6 +211,8 @@ extern int errno;
|
|||
/* A mask of extra modifier bits to put into every keyboard char. */
|
||||
extern int extra_keyboard_modifiers;
|
||||
|
||||
static Lisp_Object Qvendor_specific_keysyms;
|
||||
|
||||
extern XrmDatabase x_load_resources ();
|
||||
|
||||
void x_delete_display ();
|
||||
|
|
@ -5624,9 +5626,14 @@ x_term_init (display_name, xrm_option, resource_name)
|
|||
{
|
||||
dpyinfo->kboard = (KBOARD *) xmalloc (sizeof (KBOARD));
|
||||
init_kboard (dpyinfo->kboard);
|
||||
/* Change this after lisp/term/x-win.el is prepared to initialize
|
||||
this var in a server-dependent manner. */
|
||||
dpyinfo->kboard->Vsystem_key_alist = initial_kboard->Vsystem_key_alist;
|
||||
if (!EQ (XSYMBOL (Qvendor_specific_keysyms)->function, Qunbound))
|
||||
{
|
||||
char *vendor = ServerVendor (dpy);
|
||||
dpyinfo->kboard->Vsystem_key_alist
|
||||
= call1 (Qvendor_specific_keysyms,
|
||||
build_string (vendor ? vendor : ""));
|
||||
}
|
||||
|
||||
dpyinfo->kboard->next_kboard = all_kboards;
|
||||
all_kboards = dpyinfo->kboard;
|
||||
/* Don't let the initial kboard remain current longer than necessary.
|
||||
|
|
@ -5896,5 +5903,8 @@ syms_of_xterm ()
|
|||
|
||||
staticpro (&last_mouse_scroll_bar);
|
||||
last_mouse_scroll_bar = Qnil;
|
||||
|
||||
staticpro (&Qvendor_specific_keysyms);
|
||||
Qvendor_specific_keysyms = intern ("vendor-specific-keysyms");
|
||||
}
|
||||
#endif /* ! defined (HAVE_X_WINDOWS) */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue