• Jim Blandy's avatar
    * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in · 59b4254d
    Jim Blandy authored
    	case we need them.
    	* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
    	shift_modifier, ctrl_modifier, meta_modifier): Define these in
    	terms of the CHAR_mumble macros, to avoid having the same thing
    	defined in two places.
    
    	Arrange for Fy_or_n_p to put off switch-frame events.
    	* lread.c (read_filtered_char): New function, which contains the
    	code which used to be in Fread_char, Fread_event, and
    	Fread_char_exclusive; there was a lot of common code.
    	(Fread_char, Fread_event, Fread_char_exclusive): Rewrite in terms
    	of read_filtered_char.
    	* lisp.h (read_filtered_char): Declare this extern here.
    	* fns.c (Fy_or_n_p): Call read_filtered_char, arranging to delay
    	switch-frame events.
    
    	Make the modifier manipulation functions more robust.  The old way
    	caused a bug once, and probably would again.
    	* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
    	shift_modifier, ctrl_modifier, meta_modifier): Shift these all
    	down one bit in value, to avoid sign extension problems.
    	* lisp.h (CHAR_META, CHAR_CTL, CHAR_SHIFT): Fix these definitions too.
    	* keyboard.c (lispy_modifier_list): Ignore modifier bits beyond
    	what our table of modifier names can handle.
    	(apply_modifiers): Don't abort if you see extra modifier bits,
    	just remove them.
    
    	* lisp.h (Qrange_error, Qdomain_error, Qsingularity_error,
    	Qoverflow_error, Qunderflow_error): Add extern to these declarations.
    59b4254d
lisp.h 42.6 KB