]> git.eshelyaron.com Git - emacs.git/commitdiff
(temp_output_buffer_show): Select the chosen window
authorRichard M. Stallman <rms@gnu.org>
Thu, 13 Apr 1995 02:03:59 +0000 (02:03 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 13 Apr 1995 02:03:59 +0000 (02:03 +0000)
temporarily for running temp-buffer-show-hook.
(syms_of_window): Fix typo.

src/window.c

index 56281f0202793d86ded0d484884c74660c07dba4..daefb968f911b1c9e25445f7c4aa512cbd6a1470 100644 (file)
@@ -2128,8 +2128,28 @@ temp_output_buffer_show (buf)
       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);
+           }
+       }
+    }
 }
 \f
 static
@@ -3347,7 +3367,7 @@ syms_of_window ()
   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