Move `get-fluid-bindings' and `set-fluid-bindings!' into the normal
authorChris Hanson <org/chris-hanson/cph>
Tue, 10 May 1988 15:16:46 +0000 (15:16 +0000)
committerChris Hanson <org/chris-hanson/cph>
Tue, 10 May 1988 15:16:46 +0000 (15:16 +0000)
microcode.  This allows the new runtime system to have the hooks for
fluid-bindings even if they aren't in use.

v7/src/microcode/fhooks.c
v7/src/microcode/hooks.c
v7/src/microcode/version.h
v8/src/microcode/version.h

index c12efcba96b9dff6376ce20e09531b1842c29330..33b9b0fcf2c6e2ed495f78007b001a33502df51b 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-Copyright (c) 1987 Massachusetts Institute of Technology
+Copyright (c) 1988 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -30,7 +30,7 @@ Technology nor of any adaptation thereof in any advertising,
 promotional, or sales literature without prior written consent from
 MIT in each case. */
 
-/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/fhooks.c,v 9.26 1988/04/27 04:12:44 jinx Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/fhooks.c,v 9.27 1988/05/10 15:15:43 cph Exp $
  *
  * This file contains hooks and handles for the new fluid bindings
  * scheme for multiprocessors.
@@ -42,34 +42,6 @@ MIT in each case. */
 #include "lookup.h"
 #include "locks.h"
 \f
-/* (SET-FLUID-BINDINGS! NEW-BINDINGS)
-   Sets the microcode fluid-bindings variable.  Returns the previous value.
-*/
-
-Define_Primitive(Prim_Set_Fluid_Bindings, 1, "SET-FLUID-BINDINGS!")
-{ 
-  Pointer Result;
-  Primitive_1_Arg();
-
-  if (Arg1 != NIL)
-    Arg_1_Type(TC_LIST);
-
-  Result = Fluid_Bindings;
-  Fluid_Bindings = Arg1;
-  PRIMITIVE_RETURN(Result);
-}
-
-/* (GET-FLUID-BINDINGS NEW-BINDINGS)
-   Gets the microcode fluid-bindings variable.
-*/
-
-Define_Primitive(Prim_Get_Fluid_Bindings, 0, "GET-FLUID-BINDINGS")
-{
-  Primitive_0_Args();
-
-  PRIMITIVE_RETURN(Fluid_Bindings);
-}
-
 /* (WITH-SAVED-FLUID-BINDINGS THUNK)
    Executes THUNK, then restores the previous fluid bindings.
 */
index 4fa78b781a2c197215c2fa363a7b772efe3b9c46..b20435d32d392b4d5aa13dc1afb34d456bb4755d 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-Copyright (c) 1987 Massachusetts Institute of Technology
+Copyright (c) 1988 Massachusetts Institute of Technology
 
 This material was developed by the Scheme project at the Massachusetts
 Institute of Technology, Department of Electrical Engineering and
@@ -30,7 +30,7 @@ Technology nor of any adaptation thereof in any advertising,
 promotional, or sales literature without prior written consent from
 MIT in each case. */
 
-/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/hooks.c,v 9.30 1988/03/24 07:12:24 cph Rel $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/hooks.c,v 9.31 1988/05/10 15:15:10 cph Exp $
  *
  * This file contains various hooks and handles which connect the
  * primitives with the main interpreter.
@@ -560,6 +560,34 @@ DEFINE_PRIMITIVE ("SET-INTERRUPT-ENABLES!", Prim_set_interrupt_enables, 1)
   PRIMITIVE_RETURN (MAKE_UNSIGNED_FIXNUM (previous));
 }
 \f
+/* (GET-FLUID-BINDINGS)
+   Gets the microcode fluid-bindings variable.  */
+
+DEFINE_PRIMITIVE ("GET-FLUID-BINDINGS", Prim_get_fluid_bindings, 0)
+{
+  PRIMITIVE_HEADER (0);
+
+  PRIMITIVE_RETURN (Fluid_Bindings);
+}
+
+/* (SET-FLUID-BINDINGS! NEW-BINDINGS)
+   Sets the microcode fluid-bindings variable.
+   Returns the previous value.  */
+
+DEFINE_PRIMITIVE ("SET-FLUID-BINDINGS!", Prim_set_fluid_bindings, 1)
+{
+  Pointer new_bindings;
+  Pointer old_bindings;
+  PRIMITIVE_HEADER (1);
+
+  new_bindings = (ARG_REF (1));
+  if (! ((new_bindings == NIL) || (PAIR_P (new_bindings))))
+    error_wrong_type_arg (1);
+  old_bindings = Fluid_Bindings;
+  Fluid_Bindings = new_bindings;
+  PRIMITIVE_RETURN (old_bindings);
+}
+\f
 /* (SET-CURRENT-HISTORY! TRIPLE)
    Begins recording history into TRIPLE.  The history structure is
    somewhat complex and should be understood before trying to use
@@ -570,8 +598,8 @@ DEFINE_PRIMITIVE ("SET-INTERRUPT-ENABLES!", Prim_set_interrupt_enables, 1)
    because it modifies one of the registers that the interpreter caches
    (History).
 
-   The longjmp forces the interpreter to recache.
-*/
+   The longjmp forces the interpreter to recache.  */
+
 DEFINE_PRIMITIVE ("SET-CURRENT-HISTORY!", Prim_Set_Current_History, 1)
 {
   Primitive_1_Arg();
index 627f3075656635e76c70070c195aa92e96e99c95..3ad85e6861fec02499c9ae40c55dfb6b17cc930d 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/version.h,v 10.36 1988/05/05 08:41:51 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/version.h,v 10.37 1988/05/10 15:16:46 cph Exp $
 
 Copyright (c) 1988 Massachusetts Institute of Technology
 
@@ -46,7 +46,7 @@ MIT in each case. */
 #define VERSION                10
 #endif
 #ifndef SUBVERSION
-#define SUBVERSION     36
+#define SUBVERSION     37
 #endif
 
 #ifndef UCODE_TABLES_FILENAME
index 0f83a29bf56968513d69cf5a2dff285d269e7dd5..ca2ee32e61da85dcde8d00db166b091a5d61137a 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-C-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/version.h,v 10.36 1988/05/05 08:41:51 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/version.h,v 10.37 1988/05/10 15:16:46 cph Exp $
 
 Copyright (c) 1988 Massachusetts Institute of Technology
 
@@ -46,7 +46,7 @@ MIT in each case. */
 #define VERSION                10
 #endif
 #ifndef SUBVERSION
-#define SUBVERSION     36
+#define SUBVERSION     37
 #endif
 
 #ifndef UCODE_TABLES_FILENAME