From cdb9d66596420c686031b92dc4e5a845b5afa34a Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Sun, 5 Jan 1997 23:05:46 +0000 Subject: [PATCH] (command_loop_1, read_char): Run Qecho_area_clear_hook when clearing echo area. (Qecho_area_clear_hook): New variable. (syms_of_keyboard): Initialize it. --- src/keyboard.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/keyboard.c b/src/keyboard.c index 37bbb0c2245..ebe32821a28 100644 --- a/src/keyboard.c +++ b/src/keyboard.c @@ -339,6 +339,8 @@ Lisp_Object Vdeactivate_mark; Lisp_Object Vlucid_menu_bar_dirty_flag; Lisp_Object Qrecompute_lucid_menubar, Qactivate_menubar_hook; +Lisp_Object Qecho_area_clear_hook; + /* Hooks to run before and after each command. */ Lisp_Object Qpre_command_hook, Vpre_command_hook; Lisp_Object Qpost_command_hook, Vpost_command_hook; @@ -1141,6 +1143,7 @@ command_loop_1 () Fsit_for (make_number (2), Qnil, Qnil); /* Clear the echo area. */ message2 (0); + safe_run_hooks (Qecho_area_clear_hook); unbind_to (count, Qnil); @@ -2109,6 +2112,8 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu) } /* Wipe the echo area. */ + if (echo_area_glyphs) + safe_run_hooks (Qecho_area_clear_hook); echo_area_glyphs = 0; /* Handle things that only apply to characters. */ @@ -8199,6 +8204,13 @@ This feature is obsolete; use idle timers instead. See `etc/NEWS'."); This is measured in microseconds."); post_command_idle_delay = 100000; +#if 0 + DEFVAR_LISP ("echo-area-clear-hook", ..., + "Normal hook run when clearing the echo area."); +#endif + Qecho_area_clear_hook = intern ("echo-area-clear-hook"); + XSYMBOL (Qecho_area_clear_hook)->value = Qnil; + DEFVAR_LISP ("lucid-menu-bar-dirty-flag", &Vlucid_menu_bar_dirty_flag, "t means menu bar, specified Lucid style, needs to be recomputed."); Vlucid_menu_bar_dirty_flag = Qnil; -- 2.39.5