diff options
| author | Richard M. Stallman | 1994-12-11 11:36:13 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1994-12-11 11:36:13 +0000 |
| commit | ef8fd672fd04ddc18852c5c44f029a14bb68546e (patch) | |
| tree | 79b659bf2882b4955931dd7ea215a520c4809cfb /src | |
| parent | 930a91400a2ec774bded1a6257cc3cffda70b736 (diff) | |
| download | emacs-ef8fd672fd04ddc18852c5c44f029a14bb68546e.tar.gz emacs-ef8fd672fd04ddc18852c5c44f029a14bb68546e.zip | |
(read_char): After auto-saving, redisplay.
(read_key_sequence): Downcase undefined shifted fn keys.
Diffstat (limited to 'src')
| -rw-r--r-- | src/keyboard.c | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/src/keyboard.c b/src/keyboard.c index 4b1c6319737..2819328c4e3 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -1662,6 +1662,8 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu) | |||
| 1662 | jmp_buf temp; | 1662 | jmp_buf temp; |
| 1663 | save_getcjmp (temp); | 1663 | save_getcjmp (temp); |
| 1664 | Fdo_auto_save (Qnil, Qnil); | 1664 | Fdo_auto_save (Qnil, Qnil); |
| 1665 | /* Hooks can actually change some buffers in auto save. */ | ||
| 1666 | redisplay (); | ||
| 1665 | restore_getcjmp (temp); | 1667 | restore_getcjmp (temp); |
| 1666 | } | 1668 | } |
| 1667 | 1669 | ||
| @@ -1713,12 +1715,10 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu) | |||
| 1713 | consing going on to make it worthwhile. */ | 1715 | consing going on to make it worthwhile. */ |
| 1714 | if (!detect_input_pending () | 1716 | if (!detect_input_pending () |
| 1715 | && consing_since_gc > gc_cons_threshold / 2) | 1717 | && consing_since_gc > gc_cons_threshold / 2) |
| 1716 | { | 1718 | Fgarbage_collect (); |
| 1717 | Fgarbage_collect (); | 1719 | /* prepare_menu_bars isn't safe here, but it should |
| 1718 | /* prepare_menu_bars isn't safe here, but it should | 1720 | also be unnecessary. */ |
| 1719 | also be unnecessary. */ | 1721 | redisplay (); |
| 1720 | redisplay (); | ||
| 1721 | } | ||
| 1722 | } | 1722 | } |
| 1723 | } | 1723 | } |
| 1724 | } | 1724 | } |
| @@ -5263,6 +5263,30 @@ read_key_sequence (keybuf, bufsize, prompt) | |||
| 5263 | mock_input = t; | 5263 | mock_input = t; |
| 5264 | goto replay_sequence; | 5264 | goto replay_sequence; |
| 5265 | } | 5265 | } |
| 5266 | /* If KEY is not defined in any of the keymaps, | ||
| 5267 | and cannot be part of a function key or translation, | ||
| 5268 | and is a shifted function key, | ||
| 5269 | use the corresponding unshifted function key instead. */ | ||
| 5270 | if (first_binding == nmaps && ! function_key_possible | ||
| 5271 | && ! key_translation_possible | ||
| 5272 | && SYMBOLP (key)) | ||
| 5273 | { | ||
| 5274 | Lisp_Object breakdown; | ||
| 5275 | int modifiers; | ||
| 5276 | |||
| 5277 | breakdown = parse_modifiers (key); | ||
| 5278 | modifiers = XINT (XCONS (XCONS (breakdown)->cdr)->car); | ||
| 5279 | if (modifiers & shift_modifier) | ||
| 5280 | { | ||
| 5281 | modifiers &= ~shift_modifier; | ||
| 5282 | key = apply_modifiers (make_number (modifiers), | ||
| 5283 | XCONS (breakdown)->car); | ||
| 5284 | |||
| 5285 | keybuf[t - 1] = key; | ||
| 5286 | mock_input = t; | ||
| 5287 | goto replay_sequence; | ||
| 5288 | } | ||
| 5289 | } | ||
| 5266 | } | 5290 | } |
| 5267 | 5291 | ||
| 5268 | if (!dummyFlag) | 5292 | if (!dummyFlag) |