Mercurial > emacs
diff src/keyboard.c @ 708:030fb4635335
*** empty log message ***
| author | Jim Blandy <jimb@redhat.com> |
|---|---|
| date | Wed, 10 Jun 1992 03:53:16 +0000 |
| parents | e7eb08ed73c0 |
| children | 6ef7049ea916 |
line wrap: on
line diff
--- a/src/keyboard.c Wed Jun 10 02:47:07 1992 +0000 +++ b/src/keyboard.c Wed Jun 10 03:53:16 1992 +0000 @@ -210,7 +210,8 @@ new screen. */ Lisp_Object Vlast_event_screen; -/* X Windows wants this for selection ownership. */ +/* The timestamp of the last input event we received from the X server. + X Windows wants this for selection ownership. */ unsigned long last_event_timestamp; Lisp_Object Qself_insert_command; @@ -1610,7 +1611,7 @@ if (kbd_fetch_ptr == kbd_buffer + KBD_BUFFER_SIZE) kbd_fetch_ptr = kbd_buffer; XSET (Vlast_event_screen, Lisp_Screen, kbd_fetch_ptr->screen); - last_event_timestamp = XINT (kbd_fetch_ptr->timestamp); + last_event_timestamp = kbd_fetch_ptr->timestamp; obj = make_lispy_event (kbd_fetch_ptr); kbd_fetch_ptr->kind = no_event; kbd_fetch_ptr++; @@ -1791,7 +1792,8 @@ Fcons (window, Fcons (posn, Fcons (Fcons (event->x, event->y), - Fcons (event->timestamp, + Fcons (make_number + (event->timestamp), Qnil))))); } @@ -1810,7 +1812,8 @@ Fcons (SCREEN_SELECTED_WINDOW (event->screen), Fcons (button, Fcons (Fcons (event->x, event->y), - Fcons (event->timestamp, + Fcons (make_number + (event->timestamp), Qnil))))); } @@ -1872,8 +1875,8 @@ { char *p = buf; + if (modifiers & ctrl_modifier) { *p++ = 'C'; *p++ = '-'; } if (modifiers & meta_modifier) { *p++ = 'M'; *p++ = '-'; } - if (modifiers & ctrl_modifier) { *p++ = 'C'; *p++ = '-'; } if (modifiers & shift_modifier) { *p++ = 'S'; *p++ = '-'; } if (modifiers & up_modifier) { *p++ = 'U'; *p++ = '-'; } *p = '\0'; @@ -2982,17 +2985,31 @@ Vobarray, Qcommandp, Qt, Qnil, Qnil); - /* Add the text read to this_command_keys. */ + /* Set this_command_keys to the concatenation of saved_keys and + function, followed by a RET. */ { - struct Lisp_String *func_str = XSTRING (function); + struct Lisp_String *str; int i; Lisp_Object tem; - for (i = 0; i < func_str->size; i++) + this_command_key_count = 0; + + str = XSTRING (saved_keys); + for (i = 0; i < str->size; i++) { - XSET (tem, Lisp_Int, func_str->data[i]); + XFASTINT (tem) = str->data[i]; add_command_key (tem); } + + str = XSTRING (function); + for (i = 0; i < str->size; i++) + { + XFASTINT (tem) = str->data[i]; + add_command_key (tem); + } + + XFASTINT (tem) = '\015'; + add_command_key (tem); } UNGCPRO;
