diff options
-rw-r--r-- | src/keyboard.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 4c872016eb5..bf5643dba06 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -500,6 +500,8 @@ int timers_run; extern Lisp_Object Vprint_level, Vprint_length; +extern nonascii_insert_offset; + /* Address (if not 0) of EMACS_TIME to zero out if a SIGIO interrupt happens. */ EMACS_TIME *input_available_clear_time; @@ -1369,6 +1371,13 @@ command_loop_1 () = window_display_table (XWINDOW (selected_window)); int lose = c; + /* Add the offset to the character, for Finsert_char. + We pass internal_self_insert the unmodified character + because it itself does this offsetting. */ + if (lose >= 0200 && lose <= 0377 + && ! NILP (current_buffer->enable_multibyte_characters)) + lose += nonascii_insert_offset; + if (dp) { Lisp_Object obj; |