Mercurial > emacs
changeset 11405:645e3883da72
(temp_output_buffer_show): Select the chosen window
temporarily for running temp-buffer-show-hook.
(syms_of_window): Fix typo.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 13 Apr 1995 02:03:59 +0000 |
parents | b12a8765508b |
children | dc4b96a8dc2e |
files | src/window.c |
diffstat | 1 files changed, 22 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/window.c Thu Apr 13 01:33:08 1995 +0000 +++ b/src/window.c Thu Apr 13 02:03:59 1995 +0000 @@ -2128,8 +2128,28 @@ set_marker_restricted (w->pointm, make_number (1), buf); } + /* Run temp-buffer-show-hook, with the chosen window selected. */ if (!NILP (Vrun_hooks)) - call1 (Vrun_hooks, Qtemp_buffer_show_hook); + { + Lisp_Object tem; + tem = Fboundp (Qtemp_buffer_show_hook); + if (!NILP (tem)) + { + tem = Fsymbol_value (Qtemp_buffer_show_hook); + if (!NILP (tem)) + { + int count = specpdl_ptr - specpdl; + + /* Select the window that was chosen, for running the hook. */ + record_unwind_protect (Fset_window_configuration, + Fcurrent_window_configuration (Qnil)); + + Fselect_window (window); + call1 (Vrun_hooks, Qtemp_buffer_show_hook); + unbind_to (count, Qnil); + } + } + } } static @@ -3347,7 +3367,7 @@ Qwindow_live_p = intern ("window-live-p"); staticpro (&Qwindow_live_p); - Qtemp_buffer_show_hook = intern ("Qtemp-buffer-show-hook"); + Qtemp_buffer_show_hook = intern ("temp-buffer-show-hook"); staticpro (&Qtemp_buffer_show_hook); #ifndef MULTI_FRAME