Commits

Anonymous committed ec390b3

(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.

  • Participants
  • Parent commits 052a9f2

Comments (0)

Files changed (1)

File src/keyboard.c

 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;
 	  Fsit_for (make_number (2), Qnil, Qnil);
 	  /* Clear the echo area.  */
 	  message2 (0);
+	  safe_run_hooks (Qecho_area_clear_hook);
 
 	  unbind_to (count, Qnil);
 
     }
 
   /* 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.  */
 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;