mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-24 22:40:51 -08:00
* keyboard.c (read_key_sequence): Accept both strings and vectors
as bindings in function-key-map.
* keymap.c (Vfunction_key_map in syms_of_keymap): Doc fix.
* keyboard.c (Fsuspend_emacs): Pass selected_frame as the first
argument to change_frame_size, not 0. This function may be called
in an Emacs compiled with multi-frame support.
This commit is contained in:
parent
5256403ca5
commit
f5ea616372
1 changed files with 17 additions and 6 deletions
|
|
@ -4168,16 +4168,27 @@ read_key_sequence (keybuf, bufsize, prompt)
|
|||
function key map and it's a suffix of the current
|
||||
sequence (i.e. fkey_end == t), replace it with
|
||||
the binding and restart with fkey_start at the end. */
|
||||
if (XTYPE (fkey_next) == Lisp_Vector
|
||||
if ((VECTORP (fkey_next) || STRINGP (fkey_next))
|
||||
&& fkey_end == t)
|
||||
{
|
||||
t = fkey_start + XVECTOR (fkey_next)->size;
|
||||
int len = Flength (fkey_next);
|
||||
|
||||
t = fkey_start + len;
|
||||
if (t >= bufsize)
|
||||
error ("key sequence too long");
|
||||
|
||||
bcopy (XVECTOR (fkey_next)->contents,
|
||||
keybuf + fkey_start,
|
||||
(t - fkey_start) * sizeof (keybuf[0]));
|
||||
if (VECTORP (fkey_next))
|
||||
bcopy (XVECTOR (fkey_next)->contents,
|
||||
keybuf + fkey_start,
|
||||
(t - fkey_start) * sizeof (keybuf[0]));
|
||||
else if (STRINGP (fkey_next))
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
XFASTINT (keybuf[fkey_start + i]) =
|
||||
XSTRING (fkey_next)->data[i];
|
||||
}
|
||||
|
||||
mock_input = t;
|
||||
fkey_start = fkey_end = t;
|
||||
|
|
@ -4585,7 +4596,7 @@ On such systems, Emacs starts a subshell instead of suspending.")
|
|||
with a window system; but suspend should be disabled in that case. */
|
||||
get_frame_size (&width, &height);
|
||||
if (width != old_width || height != old_height)
|
||||
change_frame_size (0, height, width, 0, 0);
|
||||
change_frame_size (selected_frame, height, width, 0, 0);
|
||||
|
||||
/* Run suspend-resume-hook. */
|
||||
if (!NILP (Vrun_hooks))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue