\f
* Lisp Changes in Emacs 27.1
-+++
+
** 'self-insert-command' takes the char to insert as (optional) argument.
** 'lookup-key' can take a list of keymaps as argument.
+** New hook `input-event-functions` run whenever a user-input is read.
+
+++
** 'condition-case' now accepts 't' to match any error symbol.
The return value is a positive integer."
(if (and (consp event) (integerp (nth 2 event))) (nth 2 event) 1))
+(defvar input-event-functions nil
+ ;; BEWARE: If it looks like this is not run anywhere, it's normal:
+ ;; this is run in keyboard.c.
+ "Special hook run each time a user-input event is read.
+Each function is called with one argument: the event.")
+
(defsubst event-line-count (event)
"Return the line count of EVENT, a mousewheel event.
The return value is a positive integer."
if (! NILP (also_record))
record_char (also_record);
+ Frun_hook_with_args (2, ((Lisp_Object []) {Qinput_event_functions, c}));
+
/* Wipe the echo area.
But first, if we are about to use an input method,
save the echo area contents for it to refer to. */
DEFSYM (Qundefined, "undefined");
+ DEFSYM (Qinput_event_functions, "input-event-functions");
+
/* Hooks to run before and after each command. */
DEFSYM (Qpre_command_hook, "pre-command-hook");
DEFSYM (Qpost_command_hook, "post-command-hook");