Use KSET for write access to Lisp_Object members of struct kboard.

* keyboard.h (KSET): New macro.
* callint.c, category.c, frame.c, keyboard.c, keyboard.h, macros.c:
* msdos.c, nsfns.m, nsterm.m, term.c, w32fns.c, w32term.c, xfns.c:
* xterm.c: Adjust users.
This commit is contained in:
Dmitry Antipov 2012-08-13 07:44:27 +04:00
parent 4c31be6153
commit 7864a3f729
15 changed files with 98 additions and 90 deletions

View file

@ -1,3 +1,11 @@
2012-08-13 Dmitry Antipov <dmantipov@yandex.ru>
Use KSET for write access to Lisp_Object members of struct kboard.
* keyboard.h (KSET): New macro.
* callint.c, category.c, frame.c, keyboard.c, keyboard.h, macros.c:
* msdos.c, nsfns.m, nsterm.m, term.c, w32fns.c, w32term.c, xfns.c:
* xterm.c: Adjust users.
2012-08-13 Dmitry Antipov <dmantipov@yandex.ru>
Use BSET for write access to Lisp_Object members of struct buffer.

View file

@ -372,7 +372,7 @@ invoke it. If KEYS is omitted or nil, the return value of
Vthis_command = save_this_command;
Vthis_original_command = save_this_original_command;
Vreal_this_command = save_real_this_command;
KVAR (current_kboard, Vlast_command) = save_last_command;
KSET (current_kboard, Vlast_command, save_last_command);
temporarily_switch_to_single_kboard (NULL);
return unbind_to (speccount, apply1 (function, specs));
@ -843,7 +843,7 @@ invoke it. If KEYS is omitted or nil, the return value of
Vthis_command = save_this_command;
Vthis_original_command = save_this_original_command;
Vreal_this_command = save_real_this_command;
KVAR (current_kboard, Vlast_command) = save_last_command;
KSET (current_kboard, Vlast_command, save_last_command);
{
Lisp_Object val;

View file

@ -285,7 +285,7 @@ Return TABLE. */)
{
int idx;
table = check_category_table (table);
BVAR (current_buffer, category_table) = table;
BSET (current_buffer, category_table, table);
/* Indicate that this buffer now has a specified category table. */
idx = PER_BUFFER_VAR_IDX (category_table);
SET_PER_BUFFER_VALUE_P (current_buffer, idx, 1);

View file

@ -393,8 +393,8 @@ make_frame_without_minibuffer (register Lisp_Object mini_window, KBOARD *kb, Lis
XSETFRAME (frame_dummy, f);
GCPRO1 (frame_dummy);
/* If there's no minibuffer frame to use, create one. */
KVAR (kb, Vdefault_minibuffer_frame) =
call1 (intern ("make-initial-minibuffer-frame"), display);
KSET (kb, Vdefault_minibuffer_frame,
call1 (intern ("make-initial-minibuffer-frame"), display));
UNGCPRO;
}
@ -843,7 +843,7 @@ to that frame. */)
(Lisp_Object event)
{
/* Preserve prefix arg that the command loop just cleared. */
KVAR (current_kboard, Vprefix_arg) = Vcurrent_prefix_arg;
KSET (current_kboard, Vprefix_arg, Vcurrent_prefix_arg);
Frun_hooks (1, &Qmouse_leave_buffer_hook);
return do_switch_frame (event, 0, 0, Qnil);
}
@ -1435,11 +1435,11 @@ delete_frame (Lisp_Object frame, Lisp_Object force)
if (NILP (frame_with_minibuf))
abort ();
KVAR (kb, Vdefault_minibuffer_frame) = frame_with_minibuf;
KSET (kb, Vdefault_minibuffer_frame, frame_with_minibuf);
}
else
/* No frames left on this kboard--say no minibuffer either. */
KVAR (kb, Vdefault_minibuffer_frame) = Qnil;
KSET (kb, Vdefault_minibuffer_frame, Qnil);
}
/* Cause frame titles to update--necessary if we now have just one frame. */

View file

@ -551,8 +551,8 @@ echo_char (Lisp_Object c)
else if (STRINGP (echo_string))
echo_string = concat2 (echo_string, build_string (" "));
KVAR (current_kboard, echo_string)
= concat2 (echo_string, make_string (buffer, ptr - buffer));
KSET (current_kboard, echo_string,
concat2 (echo_string, make_string (buffer, ptr - buffer)));
echo_now ();
}
@ -597,8 +597,8 @@ echo_dash (void)
/* Put a dash at the end of the buffer temporarily,
but make it go away when the next character is added. */
KVAR (current_kboard, echo_string) = concat2 (KVAR (current_kboard, echo_string),
build_string ("-"));
KSET (current_kboard, echo_string,
concat2 (KVAR (current_kboard, echo_string), build_string ("-")));
echo_now ();
}
@ -660,7 +660,7 @@ cancel_echoing (void)
{
current_kboard->immediate_echo = 0;
current_kboard->echo_after_prompt = -1;
KVAR (current_kboard, echo_string) = Qnil;
KSET (current_kboard, echo_string, Qnil);
ok_to_echo_at_next_pause = NULL;
echo_kboard = NULL;
echo_message_buffer = Qnil;
@ -684,9 +684,9 @@ static void
echo_truncate (ptrdiff_t nchars)
{
if (STRINGP (KVAR (current_kboard, echo_string)))
KVAR (current_kboard, echo_string)
= Fsubstring (KVAR (current_kboard, echo_string),
make_number (0), make_number (nchars));
KSET (current_kboard, echo_string,
Fsubstring (KVAR (current_kboard, echo_string),
make_number (0), make_number (nchars)));
truncate_echo_area (nchars);
}
@ -1016,8 +1016,8 @@ cmd_error (Lisp_Object data)
Vstandard_input = Qt;
Vexecuting_kbd_macro = Qnil;
executing_kbd_macro = Qnil;
KVAR (current_kboard, Vprefix_arg) = Qnil;
KVAR (current_kboard, Vlast_prefix_arg) = Qnil;
KSET (current_kboard, Vprefix_arg, Qnil);
KSET (current_kboard, Vlast_prefix_arg, Qnil);
cancel_echoing ();
/* Avoid unquittable loop if data contains a circular list. */
@ -1338,8 +1338,8 @@ command_loop_1 (void)
#endif
int already_adjusted = 0;
KVAR (current_kboard, Vprefix_arg) = Qnil;
KVAR (current_kboard, Vlast_prefix_arg) = Qnil;
KSET (current_kboard, Vprefix_arg, Qnil);
KSET (current_kboard, Vlast_prefix_arg, Qnil);
Vdeactivate_mark = Qnil;
waiting_for_input = 0;
cancel_echoing ();
@ -1371,10 +1371,10 @@ command_loop_1 (void)
}
/* Do this after running Vpost_command_hook, for consistency. */
KVAR (current_kboard, Vlast_command) = Vthis_command;
KVAR (current_kboard, Vreal_last_command) = Vreal_this_command;
KSET (current_kboard, Vlast_command, Vthis_command);
KSET (current_kboard, Vreal_last_command, Vreal_this_command);
if (!CONSP (last_command_event))
KVAR (current_kboard, Vlast_repeatable_command) = Vreal_this_command;
KSET (current_kboard, Vlast_repeatable_command, Vreal_this_command);
while (1)
{
@ -1537,7 +1537,7 @@ command_loop_1 (void)
keys = Fkey_description (keys, Qnil);
bitch_at_user ();
message_with_string ("%s is undefined", keys, 0);
KVAR (current_kboard, defining_kbd_macro) = Qnil;
KSET (current_kboard, defining_kbd_macro, Qnil);
update_mode_lines = 1;
/* If this is a down-mouse event, don't reset prefix-arg;
pass it to the command run by the up event. */
@ -1547,10 +1547,10 @@ command_loop_1 (void)
= parse_modifiers (EVENT_HEAD (last_command_event));
int modifiers = XINT (XCAR (XCDR (breakdown)));
if (!(modifiers & down_modifier))
KVAR (current_kboard, Vprefix_arg) = Qnil;
KSET (current_kboard, Vprefix_arg, Qnil);
}
else
KVAR (current_kboard, Vprefix_arg) = Qnil;
KSET (current_kboard, Vprefix_arg, Qnil);
}
else
{
@ -1587,7 +1587,7 @@ command_loop_1 (void)
unbind_to (scount, Qnil);
#endif
}
KVAR (current_kboard, Vlast_prefix_arg) = Vcurrent_prefix_arg;
KSET (current_kboard, Vlast_prefix_arg, Vcurrent_prefix_arg);
safe_run_hooks (Qpost_command_hook);
@ -1618,11 +1618,10 @@ command_loop_1 (void)
if (NILP (KVAR (current_kboard, Vprefix_arg))
|| CONSP (last_command_event))
{
KVAR (current_kboard, Vlast_command) = Vthis_command;
KVAR (current_kboard, Vreal_last_command) = Vreal_this_command;
KSET (current_kboard, Vlast_command, Vthis_command);
KSET (current_kboard, Vreal_last_command, Vreal_this_command);
if (!CONSP (last_command_event))
KVAR (current_kboard, Vlast_repeatable_command)
= Vreal_this_command;
KSET (current_kboard, Vlast_repeatable_command, Vreal_this_command);
cancel_echoing ();
this_command_key_count = 0;
this_command_key_count_reset = 0;
@ -2565,7 +2564,7 @@ read_char (int commandflag, ptrdiff_t nmaps, Lisp_Object *maps,
abort ();
}
if (!CONSP (last))
KVAR (kb, kbd_queue) = Fcons (c, Qnil);
KSET (kb, kbd_queue, Fcons (c, Qnil));
else
XSETCDR (last, Fcons (c, Qnil));
kb->kbd_queue_has_data = 1;
@ -2737,8 +2736,8 @@ read_char (int commandflag, ptrdiff_t nmaps, Lisp_Object *maps,
if (!CONSP (KVAR (current_kboard, kbd_queue)))
abort ();
c = XCAR (KVAR (current_kboard, kbd_queue));
KVAR (current_kboard, kbd_queue)
= XCDR (KVAR (current_kboard, kbd_queue));
KSET (current_kboard, kbd_queue,
XCDR (KVAR (current_kboard, kbd_queue)));
if (NILP (KVAR (current_kboard, kbd_queue)))
current_kboard->kbd_queue_has_data = 0;
input_pending = readable_events (0);
@ -2805,7 +2804,7 @@ read_char (int commandflag, ptrdiff_t nmaps, Lisp_Object *maps,
abort ();
}
if (!CONSP (last))
KVAR (kb, kbd_queue) = Fcons (c, Qnil);
KSET (kb, kbd_queue, Fcons (c, Qnil));
else
XSETCDR (last, Fcons (c, Qnil));
kb->kbd_queue_has_data = 1;
@ -3063,7 +3062,7 @@ read_char (int commandflag, ptrdiff_t nmaps, Lisp_Object *maps,
cancel_echoing ();
ok_to_echo_at_next_pause = saved_ok_to_echo;
KVAR (current_kboard, echo_string) = saved_echo_string;
KSET (current_kboard, echo_string, saved_echo_string);
current_kboard->echo_after_prompt = saved_echo_after_prompt;
if (saved_immediate_echo)
echo_now ();
@ -3534,9 +3533,9 @@ kbd_buffer_store_event_hold (register struct input_event *event,
if (single_kboard && kb != current_kboard)
{
KVAR (kb, kbd_queue)
= Fcons (make_lispy_switch_frame (event->frame_or_window),
Fcons (make_number (c), Qnil));
KSET (kb, kbd_queue,
Fcons (make_lispy_switch_frame (event->frame_or_window),
Fcons (make_number (c), Qnil)));
kb->kbd_queue_has_data = 1;
for (sp = kbd_fetch_ptr; sp != kbd_store_ptr; sp++)
{
@ -5408,7 +5407,7 @@ make_lispy_event (struct input_event *event)
/* We need to use an alist rather than a vector as the cache
since we can't make a vector long enough. */
if (NILP (KVAR (current_kboard, system_key_syms)))
KVAR (current_kboard, system_key_syms) = Fcons (Qnil, Qnil);
KSET (current_kboard, system_key_syms, Fcons (Qnil, Qnil));
return modify_event_symbol (event->code,
event->modifiers,
Qfunction_key,
@ -8729,11 +8728,11 @@ read_char_minibuf_menu_prompt (int commandflag,
is not used on replay.
*/
orig_defn_macro = KVAR (current_kboard, defining_kbd_macro);
KVAR (current_kboard, defining_kbd_macro) = Qnil;
KSET (current_kboard, defining_kbd_macro, Qnil);
do
obj = read_char (commandflag, 0, 0, Qt, 0, NULL);
while (BUFFERP (obj));
KVAR (current_kboard, defining_kbd_macro) = orig_defn_macro;
KSET (current_kboard, defining_kbd_macro, orig_defn_macro);
if (!INTEGERP (obj))
return obj;
@ -9089,7 +9088,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
/* Install the string STR as the beginning of the string of
echoing, so that it serves as a prompt for the next
character. */
KVAR (current_kboard, echo_string) = prompt;
KSET (current_kboard, echo_string, prompt);
current_kboard->echo_after_prompt = SCHARS (prompt);
echo_now ();
}
@ -9335,15 +9334,15 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
if (!NILP (delayed_switch_frame))
{
KVAR (interrupted_kboard, kbd_queue)
= Fcons (delayed_switch_frame,
KVAR (interrupted_kboard, kbd_queue));
KSET (interrupted_kboard, kbd_queue,
Fcons (delayed_switch_frame,
KVAR (interrupted_kboard, kbd_queue)));
delayed_switch_frame = Qnil;
}
while (t > 0)
KVAR (interrupted_kboard, kbd_queue)
= Fcons (keybuf[--t], KVAR (interrupted_kboard, kbd_queue));
KSET (interrupted_kboard, kbd_queue,
Fcons (keybuf[--t], KVAR (interrupted_kboard, kbd_queue)));
/* If the side queue is non-empty, ensure it begins with a
switch-frame, so we'll replay it in the right context. */
@ -9355,9 +9354,9 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
{
Lisp_Object frame;
XSETFRAME (frame, interrupted_frame);
KVAR (interrupted_kboard, kbd_queue)
= Fcons (make_lispy_switch_frame (frame),
KVAR (interrupted_kboard, kbd_queue));
KSET (interrupted_kboard, kbd_queue,
Fcons (make_lispy_switch_frame (frame),
KVAR (interrupted_kboard, kbd_queue)));
}
mock_input = 0;
orig_local_map = get_local_map (PT, current_buffer, Qlocal_map);
@ -10251,7 +10250,7 @@ a special event, so ignore the prefix argument and don't clear it. */)
{
prefixarg = KVAR (current_kboard, Vprefix_arg);
Vcurrent_prefix_arg = prefixarg;
KVAR (current_kboard, Vprefix_arg) = Qnil;
KSET (current_kboard, Vprefix_arg, Qnil);
}
else
prefixarg = Qnil;
@ -11249,30 +11248,30 @@ The `posn-' functions access elements of such lists. */)
void
init_kboard (KBOARD *kb)
{
KVAR (kb, Voverriding_terminal_local_map) = Qnil;
KVAR (kb, Vlast_command) = Qnil;
KVAR (kb, Vreal_last_command) = Qnil;
KVAR (kb, Vkeyboard_translate_table) = Qnil;
KVAR (kb, Vlast_repeatable_command) = Qnil;
KVAR (kb, Vprefix_arg) = Qnil;
KVAR (kb, Vlast_prefix_arg) = Qnil;
KVAR (kb, kbd_queue) = Qnil;
KSET (kb, Voverriding_terminal_local_map, Qnil);
KSET (kb, Vlast_command, Qnil);
KSET (kb, Vreal_last_command, Qnil);
KSET (kb, Vkeyboard_translate_table, Qnil);
KSET (kb, Vlast_repeatable_command, Qnil);
KSET (kb, Vprefix_arg, Qnil);
KSET (kb, Vlast_prefix_arg, Qnil);
KSET (kb, kbd_queue, Qnil);
kb->kbd_queue_has_data = 0;
kb->immediate_echo = 0;
KVAR (kb, echo_string) = Qnil;
KSET (kb, echo_string, Qnil);
kb->echo_after_prompt = -1;
kb->kbd_macro_buffer = 0;
kb->kbd_macro_bufsize = 0;
KVAR (kb, defining_kbd_macro) = Qnil;
KVAR (kb, Vlast_kbd_macro) = Qnil;
KSET (kb, defining_kbd_macro, Qnil);
KSET (kb, Vlast_kbd_macro, Qnil);
kb->reference_count = 0;
KVAR (kb, Vsystem_key_alist) = Qnil;
KVAR (kb, system_key_syms) = Qnil;
KVAR (kb, Vwindow_system) = Qt; /* Unset. */
KVAR (kb, Vinput_decode_map) = Fmake_sparse_keymap (Qnil);
KVAR (kb, Vlocal_function_key_map) = Fmake_sparse_keymap (Qnil);
KSET (kb, Vsystem_key_alist, Qnil);
KSET (kb, system_key_syms, Qnil);
KSET (kb, Vwindow_system, Qt); /* Unset. */
KSET (kb, Vinput_decode_map, Fmake_sparse_keymap (Qnil));
KSET (kb, Vlocal_function_key_map, Fmake_sparse_keymap (Qnil));
Fset_keymap_parent (KVAR (kb, Vlocal_function_key_map), Vfunction_key_map);
KVAR (kb, Vdefault_minibuffer_frame) = Qnil;
KSET (kb, Vdefault_minibuffer_frame, Qnil);
}
/*
@ -11348,7 +11347,7 @@ init_keyboard (void)
init_kboard (current_kboard);
/* A value of nil for Vwindow_system normally means a tty, but we also use
it for the initial terminal since there is no window system there. */
KVAR (current_kboard, Vwindow_system) = Qnil;
KSET (current_kboard, Vwindow_system, Qnil);
if (!noninteractive)
{

View file

@ -22,6 +22,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Most code should use this macro to access Lisp fields in struct kboard. */
#define KVAR(kboard, field) ((kboard)->INTERNAL_FIELD (field))
#define KSET(kboard, field, value) ((kboard)->INTERNAL_FIELD (field) = (value))
/* Each KBOARD represents one logical input stream from which Emacs
gets input. If we are using ordinary terminals, it has one KBOARD

View file

@ -127,7 +127,7 @@ macro before appending to it. */)
message ("Appending to kbd macro...");
}
KVAR (current_kboard, defining_kbd_macro) = Qt;
KSET (current_kboard, defining_kbd_macro, Qt);
return Qnil;
}
@ -137,12 +137,12 @@ macro before appending to it. */)
void
end_kbd_macro (void)
{
KVAR (current_kboard, defining_kbd_macro) = Qnil;
KSET (current_kboard, defining_kbd_macro, Qnil);
update_mode_lines++;
KVAR (current_kboard, Vlast_kbd_macro)
= make_event_array ((current_kboard->kbd_macro_end
- current_kboard->kbd_macro_buffer),
current_kboard->kbd_macro_buffer);
KSET (current_kboard, Vlast_kbd_macro,
make_event_array ((current_kboard->kbd_macro_end
- current_kboard->kbd_macro_buffer),
current_kboard->kbd_macro_buffer));
}
DEFUN ("end-kbd-macro", Fend_kbd_macro, Send_kbd_macro, 0, 2, "p",
@ -330,7 +330,7 @@ each iteration of the macro. Iteration stops if LOOPFUNC returns nil. */)
executing_kbd_macro = final;
executing_kbd_macro_index = 0;
KVAR (current_kboard, Vprefix_arg) = Qnil;
KSET (current_kboard, Vprefix_arg, Qnil);
if (!NILP (loopfunc))
{

View file

@ -1801,7 +1801,7 @@ internal_terminal_init (void)
}
tty = FRAME_TTY (sf);
KVAR (current_kboard, Vwindow_system) = Qpc;
KSET (current_kboard, Vwindow_system, Qpc);
sf->output_method = output_msdos_raw;
if (init_needed)
{

View file

@ -1391,7 +1391,7 @@ Turn the input menu (an NSMenu) into a lisp list for tracking on lisp side
if (FRAME_HAS_MINIBUF_P (f)
&& (!FRAMEP (KVAR (kb, Vdefault_minibuffer_frame))
|| !FRAME_LIVE_P (XFRAME (KVAR (kb, Vdefault_minibuffer_frame)))))
KVAR (kb, Vdefault_minibuffer_frame) = frame;
KSET (kb, Vdefault_minibuffer_frame, frame);
/* All remaining specified parameters, which have not been "used"
by x_get_arg and friends, now go in the misc. alist of the frame. */

View file

@ -4051,7 +4051,7 @@ Needs to be here because ns_initialize_display_info () uses AppKit classes.
terminal->kboard = xmalloc (sizeof *terminal->kboard);
init_kboard (terminal->kboard);
KVAR (terminal->kboard, Vwindow_system) = Qns;
KSET (terminal->kboard, Vwindow_system, Qns);
terminal->kboard->next_kboard = all_kboards;
all_kboards = terminal->kboard;
/* Don't let the initial kboard remain current longer than necessary.

View file

@ -1333,7 +1333,7 @@ term_get_fkeys_1 (void)
/* This can happen if CANNOT_DUMP or with strange options. */
if (!KEYMAPP (KVAR (kboard, Vinput_decode_map)))
KVAR (kboard, Vinput_decode_map) = Fmake_sparse_keymap (Qnil);
KSET (kboard, Vinput_decode_map, Fmake_sparse_keymap (Qnil));
for (i = 0; i < (sizeof (keys)/sizeof (keys[0])); i++)
{
@ -3281,7 +3281,7 @@ use the Bourne shell command `TERM=... export TERM' (C-shell:\n\
terminal->kboard = xmalloc (sizeof *terminal->kboard);
init_kboard (terminal->kboard);
KVAR (terminal->kboard, Vwindow_system) = Qnil;
KSET (terminal->kboard, Vwindow_system, Qnil);
terminal->kboard->next_kboard = all_kboards;
all_kboards = terminal->kboard;
terminal->kboard->reference_count++;

View file

@ -4381,7 +4381,7 @@ This function is an internal primitive--use `make-frame' instead. */)
if (FRAME_HAS_MINIBUF_P (f)
&& (!FRAMEP (KVAR (kb, Vdefault_minibuffer_frame))
|| !FRAME_LIVE_P (XFRAME (KVAR (kb, Vdefault_minibuffer_frame)))))
KVAR (kb, Vdefault_minibuffer_frame) = frame;
KSET (kb, Vdefault_minibuffer_frame, frame);
/* All remaining specified parameters, which have not been "used"
by x_get_arg and friends, now go in the misc. alist of the frame. */

View file

@ -6232,7 +6232,7 @@ w32_create_terminal (struct w32_display_info *dpyinfo)
terminal like X does. */
terminal->kboard = xmalloc (sizeof (KBOARD));
init_kboard (terminal->kboard);
KVAR (terminal->kboard, Vwindow_system) = intern ("w32");
KSET (terminal->kboard, Vwindow_system, intern ("w32"));
terminal->kboard->next_kboard = all_kboards;
all_kboards = terminal->kboard;
/* Don't let the initial kboard remain current longer than necessary.

View file

@ -3461,7 +3461,7 @@ This function is an internal primitive--use `make-frame' instead. */)
if (FRAME_HAS_MINIBUF_P (f)
&& (!FRAMEP (KVAR (kb, Vdefault_minibuffer_frame))
|| !FRAME_LIVE_P (XFRAME (KVAR (kb, Vdefault_minibuffer_frame)))))
KVAR (kb, Vdefault_minibuffer_frame) = frame;
KSET (kb, Vdefault_minibuffer_frame, frame);
/* All remaining specified parameters, which have not been "used"
by x_get_arg and friends, now go in the misc. alist of the frame. */

View file

@ -7835,7 +7835,7 @@ x_connection_closed (Display *dpy, const char *error_message)
{
/* Set this to t so that delete_frame won't get confused
trying to find a replacement. */
KVAR (FRAME_KBOARD (XFRAME (frame)), Vdefault_minibuffer_frame) = Qt;
KSET (FRAME_KBOARD (XFRAME (frame)), Vdefault_minibuffer_frame, Qt);
delete_frame (frame, Qnoelisp);
}
@ -10115,7 +10115,7 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
{
terminal->kboard = xmalloc (sizeof *terminal->kboard);
init_kboard (terminal->kboard);
KVAR (terminal->kboard, Vwindow_system) = Qx;
KSET (terminal->kboard, Vwindow_system, Qx);
/* Add the keyboard to the list before running Lisp code (via
Qvendor_specific_keysyms below), since these are not traced
@ -10137,9 +10137,9 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
/* Temporarily hide the partially initialized terminal. */
terminal_list = terminal->next_terminal;
UNBLOCK_INPUT;
KVAR (terminal->kboard, Vsystem_key_alist)
= call1 (Qvendor_specific_keysyms,
vendor ? build_string (vendor) : empty_unibyte_string);
KSET (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;