diff src/bytecode.c @ 4775:1d61580e0cf7

Remove Fsave_window_excursion from window.c, it's overridden by Lisp. lisp/ChangeLog addition: 2009-11-08 Aidan Kehoe <kehoea@parhasard.net> * bytecomp.el (save-window-excursion): Remove the compiler form for this bytecode, we no longer generate calls to it. Keep the information about the bytecode's numeric value, we want that for disassembling code. src/ChangeLog addition: 2009-11-08 Aidan Kehoe <kehoea@parhasard.net> * window.c (Fsave_window_excursion, save_window_excursion_unwind): Remove these functions, the first was masked by #'save-window-excursion in window.el, and the second can be easily replaced with Lisp primitives. * bytecode.c (Bsave_window_excursion) : Don't pass save_window_excursion_unwind to record_unwind_protect, now the former is gone. * event-stream.c (execute_help_form): Ditto.
author Aidan Kehoe <kehoea@parhasard.net>
date Thu, 17 Dec 2009 12:57:38 +0000
parents fcc7e89d5e68
children 6772ce4d982b 19a72041c5ed e0db3c197671
line wrap: on
line diff
--- a/src/bytecode.c	Tue Dec 15 13:45:48 2009 -0700
+++ b/src/bytecode.c	Thu Dec 17 12:57:38 2009 +0000
@@ -1455,11 +1455,15 @@
 			     save_excursion_save ());
       break;
 
+      /* This bytecode will eventually go away, once we no longer encounter
+         byte code from 21.4. In 21.5.10 and newer, save-window-excursion is
+         a macro. */
     case Bsave_window_excursion:
       {
 	int count = specpdl_depth ();
-	record_unwind_protect (save_window_excursion_unwind,
-			       call1 (Qcurrent_window_configuration, Qnil));
+	record_unwind_protect (Feval,
+                               list2 (Qset_window_configuration,
+                                      call0 (Qcurrent_window_configuration)));
 	TOP_LVALUE = Fprogn (TOP);
 	unbind_to (count);
 	break;