summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1997-01-05 23:05:46 +0000
committerRichard M. Stallman <rms@gnu.org>1997-01-05 23:05:46 +0000
commit105d3dbb656302ba8ae0e7cad7b9de8d030c9295 (patch)
treec89fffb98d2c41f1bd510119bca567a713764147
parent44a103e30036fd18a0a38c848fd7abab26d73db4 (diff)
downloademacs-105d3dbb656302ba8ae0e7cad7b9de8d030c9295.tar.gz
(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.
-rw-r--r--src/keyboard.c12
1 files changed, 12 insertions, 0 deletions
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;