Mercurial > emacs
changeset 10147:ab78d1d2f5d7
(read_char): After auto-saving, redisplay.
(read_key_sequence): Downcase undefined shifted fn keys.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 11 Dec 1994 11:36:13 +0000 |
parents | 24032289479c |
children | 692093cc08d7 |
files | src/keyboard.c |
diffstat | 1 files changed, 30 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/keyboard.c Sun Dec 11 11:30:43 1994 +0000 +++ b/src/keyboard.c Sun Dec 11 11:36:13 1994 +0000 @@ -1662,6 +1662,8 @@ jmp_buf temp; save_getcjmp (temp); Fdo_auto_save (Qnil, Qnil); + /* Hooks can actually change some buffers in auto save. */ + redisplay (); restore_getcjmp (temp); } @@ -1713,12 +1715,10 @@ consing going on to make it worthwhile. */ if (!detect_input_pending () && consing_since_gc > gc_cons_threshold / 2) - { - Fgarbage_collect (); - /* prepare_menu_bars isn't safe here, but it should - also be unnecessary. */ - redisplay (); - } + Fgarbage_collect (); + /* prepare_menu_bars isn't safe here, but it should + also be unnecessary. */ + redisplay (); } } } @@ -5263,6 +5263,30 @@ mock_input = t; goto replay_sequence; } + /* If KEY is not defined in any of the keymaps, + and cannot be part of a function key or translation, + and is a shifted function key, + use the corresponding unshifted function key instead. */ + if (first_binding == nmaps && ! function_key_possible + && ! key_translation_possible + && SYMBOLP (key)) + { + Lisp_Object breakdown; + int modifiers; + + breakdown = parse_modifiers (key); + modifiers = XINT (XCONS (XCONS (breakdown)->cdr)->car); + if (modifiers & shift_modifier) + { + modifiers &= ~shift_modifier; + key = apply_modifiers (make_number (modifiers), + XCONS (breakdown)->car); + + keybuf[t - 1] = key; + mock_input = t; + goto replay_sequence; + } + } } if (!dummyFlag)