6627 |
{ |
{ |
6628 |
struct input_event event; |
struct input_event event; |
6629 |
Lisp_Object tem; |
Lisp_Object tem; |
6630 |
|
EVENT_INIT (event); |
6631 |
|
|
6632 |
event.kind = BUFFER_SWITCH_EVENT; |
event.kind = BUFFER_SWITCH_EVENT; |
6633 |
event.frame_or_window = Qnil; |
event.frame_or_window = Qnil; |
6686 |
register int i; |
register int i; |
6687 |
int nread; |
int nread; |
6688 |
|
|
6689 |
|
for (i = 0; i < KBD_BUFFER_SIZE; i++) |
6690 |
|
EVENT_INIT (buf[i]); |
6691 |
|
|
6692 |
if (read_socket_hook) |
if (read_socket_hook) |
6693 |
/* No need for FIONREAD or fcntl; just say don't wait. */ |
/* No need for FIONREAD or fcntl; just say don't wait. */ |
6694 |
nread = (*read_socket_hook) (input_fd, buf, KBD_BUFFER_SIZE, expected); |
nread = (*read_socket_hook) (input_fd, buf, KBD_BUFFER_SIZE, expected); |
11380 |
initial_define_lispy_key (Vspecial_event_map, "save-session", |
initial_define_lispy_key (Vspecial_event_map, "save-session", |
11381 |
"handle-save-session"); |
"handle-save-session"); |
11382 |
} |
} |
11383 |
|
|
11384 |
|
/* Mark the pointers in the kboard objects. |
11385 |
|
Called by the Fgarbage_collector. */ |
11386 |
|
void |
11387 |
|
mark_kboards () |
11388 |
|
{ |
11389 |
|
KBOARD *kb; |
11390 |
|
Lisp_Object *p; |
11391 |
|
for (kb = all_kboards; kb; kb = kb->next_kboard) |
11392 |
|
{ |
11393 |
|
if (kb->kbd_macro_buffer) |
11394 |
|
for (p = kb->kbd_macro_buffer; p < kb->kbd_macro_ptr; p++) |
11395 |
|
mark_object (p); |
11396 |
|
mark_object (&kb->Voverriding_terminal_local_map); |
11397 |
|
mark_object (&kb->Vlast_command); |
11398 |
|
mark_object (&kb->Vreal_last_command); |
11399 |
|
mark_object (&kb->Vprefix_arg); |
11400 |
|
mark_object (&kb->Vlast_prefix_arg); |
11401 |
|
mark_object (&kb->kbd_queue); |
11402 |
|
mark_object (&kb->defining_kbd_macro); |
11403 |
|
mark_object (&kb->Vlast_kbd_macro); |
11404 |
|
mark_object (&kb->Vsystem_key_alist); |
11405 |
|
mark_object (&kb->system_key_syms); |
11406 |
|
mark_object (&kb->Vdefault_minibuffer_frame); |
11407 |
|
mark_object (&kb->echo_string); |
11408 |
|
} |
11409 |
|
{ |
11410 |
|
struct input_event *event; |
11411 |
|
for (event = kbd_fetch_ptr; event != kbd_store_ptr; event++) |
11412 |
|
{ |
11413 |
|
if (event == kbd_buffer + KBD_BUFFER_SIZE) |
11414 |
|
event = kbd_buffer; |
11415 |
|
mark_object (&event->x); |
11416 |
|
mark_object (&event->y); |
11417 |
|
mark_object (&event->frame_or_window); |
11418 |
|
mark_object (&event->arg); |
11419 |
|
} |
11420 |
|
} |
11421 |
|
} |