changeset 16834:ec390b34ddc0

(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.
author Richard M. Stallman <rms@gnu.org>
date Sun, 05 Jan 1997 23:05:46 +0000
parents 052a9f2e21e5
children 7584a510ad85
files src/keyboard.c
diffstat 1 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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;