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/prim.c,v 9.26 1987/10/09 16:13:08 jinx Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/prim.c,v 9.27 1987/10/28 18:31:11 jinx Rel $
*
* The leftovers ... primitives that don't seem to belong elsewhere.
*
Primitive_1_Arg();
Touch_In_Primitive(Arg1, Arg1);
- return (Arg1 == NIL) ? TRUTH : NIL;
+ PRIMITIVE_RETURN((Arg1 == NIL) ? TRUTH : NIL);
}
/* (EQ? OBJECT-1 OBJECT-2)
return TRUTH;
Touch_In_Primitive(Arg1, Arg1);
Touch_In_Primitive(Arg2, Arg2);
- return ((Arg1 == Arg2) ? TRUTH : NIL);
+ PRIMITIVE_RETURN((Arg1 == Arg2) ? TRUTH : NIL);
}
\f
/* Pointer manipulation */
Primitive_1_Arg();
Arg_1_Type(TC_FIXNUM);
- return Arg1;
+ PRIMITIVE_RETURN(Arg1);
}
/* (PRIMITIVE-DATUM OBJECT)
{
Primitive_1_Arg();
- return Make_New_Pointer(TC_ADDRESS, Arg1);
+ PRIMITIVE_RETURN(Make_New_Pointer(TC_ADDRESS, Arg1));
}
/* (PRIMITIVE-TYPE OBJECT)
Primitive_1_Arg();
Touch_In_Primitive(Arg1, Arg1);
- return Make_Unsigned_Fixnum(OBJECT_TYPE(Arg1));
+ PRIMITIVE_RETURN(Make_Unsigned_Fixnum(OBJECT_TYPE(Arg1)));
}
/* (PRIMITIVE-GC-TYPE OBJECT)
{
Primitive_1_Arg();
- return Make_Non_Pointer(TC_FIXNUM, GC_Type(Arg1));
+ PRIMITIVE_RETURN(Make_Non_Pointer(TC_FIXNUM, GC_Type(Arg1)));
}
\f
/* (PRIMITIVE-TYPE? TYPE-CODE OBJECT)
Arg_1_Type(TC_FIXNUM);
Touch_In_Primitive(Arg2, Arg2);
- if (Type_Code(Arg2) == Get_Integer(Arg1))
- return TRUTH;
- else
- return NIL;
+ PRIMITIVE_RETURN((Type_Code(Arg2) == Get_Integer(Arg1)) ? TRUTH : NIL);
}
/* (PRIMITIVE-SET-TYPE TYPE-CODE OBJECT)
New_GC_Type = GC_Type_Code(New_Type);
if ((GC_Type(Arg2) == New_GC_Type) ||
(New_GC_Type == GC_Non_Pointer))
- return Make_New_Pointer(New_Type, Arg2);
+ {
+ PRIMITIVE_RETURN(Make_New_Pointer(New_Type, Arg2));
+ }
else
+ {
Primitive_Error(ERR_ARG_1_BAD_RANGE);
+ }
/*NOTREACHED*/
}
\f
Arg_1_Type(TC_FIXNUM);
Range_Check(New_Type, Arg1, 0, MAX_TYPE_CODE, ERR_ARG_1_BAD_RANGE);
- return Make_New_Pointer(New_Type, Arg2);
+ PRIMITIVE_RETURN(Make_New_Pointer(New_Type, Arg2));
}
/* (SYSTEM-MEMORY-REF OBJECT INDEX)
Primitive_2_Args();
Arg_2_Type(TC_FIXNUM);
- return Vector_Ref(Arg1, Get_Integer(Arg2));
+ PRIMITIVE_RETURN(Vector_Ref(Arg1, Get_Integer(Arg2)));
}
/* (SYSTEM-MEMORY-SET! OBJECT INDEX VALUE)
Arg_2_Type(TC_FIXNUM);
index = Get_Integer(Arg2);
- return Swap_Pointers(Nth_Vector_Loc(Arg1, index), Arg3);
+ PRIMITIVE_RETURN(Swap_Pointers(Nth_Vector_Loc(Arg1, index), Arg3));
}
\f
/* Cells */
Primitive_GC_If_Needed(1);
*Free++ = Arg1;
- return Make_Pointer(TC_CELL, Free-1);
+ PRIMITIVE_RETURN(Make_Pointer(TC_CELL, (Free - 1)));
}
/* (CELL-CONTENTS CELL)
Primitive_1_Arg();
Arg_1_Type(TC_CELL);
- return(Vector_Ref(Arg1, CELL_CONTENTS));
+ PRIMITIVE_RETURN(Vector_Ref(Arg1, CELL_CONTENTS));
}
/* (CELL? OBJECT)
Primitive_1_Arg();
Touch_In_Primitive(Arg1,Arg1);
- return (Type_Code(Arg1 == TC_CELL)) ? TRUTH : NIL;
+ PRIMITIVE_RETURN(((Type_Code(Arg1)) == TC_CELL) ? TRUTH : NIL);
}
/* (SET-CELL-CONTENTS! CELL VALUE)
Arg_1_Type(TC_CELL);
Side_Effect_Impurify(Arg1, Arg2);
- return Swap_Pointers(Nth_Vector_Loc(Arg1, CELL_CONTENTS), Arg2);
+ PRIMITIVE_RETURN(Swap_Pointers(Nth_Vector_Loc(Arg1, CELL_CONTENTS), Arg2));
}