diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/cmds.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/cmds.c b/src/cmds.c index f7a3f9e7ac6..ba5cef9dd48 100644 --- a/src/cmds.c +++ b/src/cmds.c | |||
| @@ -278,6 +278,8 @@ a non-nil value for the inserted character. At the end, it runs | |||
| 278 | /* Backward compatibility. */ | 278 | /* Backward compatibility. */ |
| 279 | if (NILP (c)) | 279 | if (NILP (c)) |
| 280 | c = last_command_event; | 280 | c = last_command_event; |
| 281 | else | ||
| 282 | last_command_event = c; | ||
| 281 | 283 | ||
| 282 | if (XFIXNUM (n) < 0) | 284 | if (XFIXNUM (n) < 0) |
| 283 | error ("Negative repetition argument %"pI"d", XFIXNUM (n)); | 285 | error ("Negative repetition argument %"pI"d", XFIXNUM (n)); |
| @@ -288,14 +290,15 @@ a non-nil value for the inserted character. At the end, it runs | |||
| 288 | /* Barf if the key that invoked this was not a character. */ | 290 | /* Barf if the key that invoked this was not a character. */ |
| 289 | if (!CHARACTERP (c)) | 291 | if (!CHARACTERP (c)) |
| 290 | bitch_at_user (); | 292 | bitch_at_user (); |
| 291 | else { | 293 | else |
| 292 | int character = translate_char (Vtranslation_table_for_input, | 294 | { |
| 293 | XFIXNUM (c)); | 295 | int character = translate_char (Vtranslation_table_for_input, |
| 294 | int val = internal_self_insert (character, XFIXNAT (n)); | 296 | XFIXNUM (c)); |
| 295 | if (val == 2) | 297 | int val = internal_self_insert (character, XFIXNAT (n)); |
| 296 | Fset (Qundo_auto__this_command_amalgamating, Qnil); | 298 | if (val == 2) |
| 297 | frame_make_pointer_invisible (SELECTED_FRAME ()); | 299 | Fset (Qundo_auto__this_command_amalgamating, Qnil); |
| 298 | } | 300 | frame_make_pointer_invisible (SELECTED_FRAME ()); |
| 301 | } | ||
| 299 | 302 | ||
| 300 | return Qnil; | 303 | return Qnil; |
| 301 | } | 304 | } |