Commit f4255cd1 authored by Jim Blandy's avatar Jim Blandy

* keyboard.c: #include dispextern.h.

	(recursive_edit_unwind, command_loop, Fthis_command_keys): Declare
	these to return Lisp_Objects at the very top of the file, to avoid
	having them implicitly declared as ints.
	(echo_char): Use EQ to compare C to help_char.
	(read_char): Remember to apply XFASTINT to the return value of
	Flength before using it.  Apply XINT to c when clearing its high
	bits and meta bits, and when writing it to the dribble file.
	(read_char_menu_prompt): Use EQ to compare obj with
	menu_prompt_more_char and its control-character analog.
	(read_key_sequence): Declare PROMPT to be char *, not a
	Lisp_Object.  Use the appropriate accessors on keybuf when looking
	for ASCII function key sequences.

	* keyboard.c (echobuf): Make this 300 characters, not 100.  This
	isn't a real fix, but it's quick.

	* keyboard.c (read_char): When returning an unread switch-frame
	event, jump to reread_first to return it, rather than reread; this
	makes sure the event gets echoed (if appropriate) and goes into
	this_command_keys.

	* keyboard.c (read_key_sequence): If the key sequence starts with
	a mouse click, read the key sequence using the keymaps of the
	buffer clicked on, not the current buffer.

	* keyboard.c (unread_switch_frame): Make this static, to indicate
	that nobody outside of this file uses it.

	* keyboard.c (follow_key): Ask get_keymap_1 to perform autoloads.
	(read_key_sequence): When pursuing potential bindings in the
	function key map, ask get_keymap_1 to perform autoloading.  This
	is hardly important, but it's consistent.
parent bff19c8d
This diff is collapsed.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment