# HG changeset patch # User Richard M. Stallman # Date 852505546 0 # Node ID ec390b34ddc07ed412d3dcd98245b44f093c2dfb # Parent 052a9f2e21e52675f6f07d88653699f8e3bd9598 (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. diff -r 052a9f2e21e5 -r ec390b34ddc0 src/keyboard.c --- a/src/keyboard.c Sun Jan 05 04:44:30 1997 +0000 +++ b/src/keyboard.c Sun Jan 05 23:05:46 1997 +0000 @@ -339,6 +339,8 @@ 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 @@ 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 @@ } /* 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 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;