/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/boot.c,v 9.51 1988/09/29 04:51:09 jinx Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/boot.c,v 9.52 1988/10/21 00:12:26 cph Exp $
Copyright (c) 1988 Massachusetts Institute of Technology
/*NOTREACHED*/
}
\f
+extern Boolean inhibit_termination_messages;
+Boolean inhibit_termination_messages = false;
+
term_type
Microcode_Termination(code)
long code;
}
}
- putchar('\n');
- if ((code < 0) || (code > MAX_TERMINATION))
- {
- printf("Unknown termination code 0x%x\n", code);
- }
- else
- {
- printf("%s.\n", Term_Messages[code]);
- }
+ if (! inhibit_termination_messages)
+ {
+ putchar('\n');
+ if ((code < 0) || (code > MAX_TERMINATION))
+ printf ("Unknown termination code 0x%x\n", code);
+ else
+ printf("%s.\n", Term_Messages [code]);
+ }
/* Microcode_Termination continues on the next page */
\f
abnormal_p = false;
break;
+#ifdef unix
case TERM_SIGNAL:
{
- extern char *assassin_signal;
+ extern int assassin_signal;
+ extern char * find_signal_name ();
- if (assassin_signal != ((char *) NULL))
- printf("Killed by %s.\n", assassin_signal);
+ if ((! inhibit_termination_messages) &&
+ (assassin_signal != 0))
+ printf("Killed by %s.\n", (find_signal_name (assassin_signal)));
goto normal_termination;
}
+#endif
case TERM_TRAP:
/* This claims not to be abnormal so that the user will
}
break;
}
- OS_Flush_Output_Buffer();
- OS_Quit(abnormal_p);
- Reset_Memory();
- Exit_Hook();
- Exit_Scheme(value);
+ OS_Flush_Output_Buffer ();
+ OS_Quit (code, abnormal_p);
+ Reset_Memory ();
+ Exit_Hook ();
+ Exit_Scheme (value);
/*NOTREACHED*/
}
\f
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/dmpwrld.c,v 9.27 1988/08/15 20:45:01 cph Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/dmpwrld.c,v 9.28 1988/10/21 00:12:33 cph Exp $
*
* This file contains a primitive to dump an executable version of Scheme.
* It uses unexec.c from GNU Emacs.
Was_Scheme_Dumped = true;
Val = SHARP_T;
- OS_Quit();
+ OS_Quit (TERM_HALT, false);
Pop_Primitive_Frame(1);
/* Dump! */
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.32 1988/08/15 20:49:05 cph Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/hooks.c,v 9.33 1988/10/21 00:12:37 cph Exp $
*
* This file contains various hooks and handles which connect the
* primitives with the main interpreter.
/*NOTREACHED*/
}
-/* (GET-INTERRUPT-ENABLES)
- Returns the current interrupt mask. */
-
-DEFINE_PRIMITIVE ("GET-INTERRUPT-ENABLES", Prim_get_interrupt_enables, 0, 0, 0)
+DEFINE_PRIMITIVE ("GET-INTERRUPT-ENABLES", Prim_get_interrupt_enables, 0, 0,
+ "Returns the current interrupt mask.")
{
PRIMITIVE_HEADER (0);
PRIMITIVE_RETURN (MAKE_UNSIGNED_FIXNUM (FETCH_INTERRUPT_MASK ()));
}
-/* (SET-INTERRUPT-ENABLES! NEW-INT-ENABLES)
- Changes the enabled interrupt bits to NEW-INT-ENABLES and
- returns the previous value. See MASK_INTERRUPT_ENABLES for more
- information on interrupts. */
-
-DEFINE_PRIMITIVE ("SET-INTERRUPT-ENABLES!", Prim_set_interrupt_enables, 1, 1, 0)
+DEFINE_PRIMITIVE ("SET-INTERRUPT-ENABLES!", Prim_set_interrupt_enables, 1, 1,
+ "Sets the interrupt mask to NEW-INT-ENABLES; returns previous mask value.\n\
+See `mask_interrupt_enables' for more information on interrupts.")
{
long previous;
PRIMITIVE_HEADER (1);
SET_INTERRUPT_MASK ((FIXNUM_ARG (1)) & INT_Mask);
PRIMITIVE_RETURN (MAKE_UNSIGNED_FIXNUM (previous));
}
+
+DEFINE_PRIMITIVE ("CLEAR-INTERRUPTS!", Prim_clear_interrupts, 1, 1,
+ "Clears the interrupt bits in the MASK argument.
+The bits in MASK are interpreted as for `get-interrupt-enables'.")
+{
+ PRIMITIVE_HEADER (1);
+
+ CLEAR_INTERRUPT ((FIXNUM_ARG (1)) & INT_Mask);
+ PRIMITIVE_RETURN (SHARP_F);
+}
\f
/* (GET-FLUID-BINDINGS)
Gets the microcode fluid-bindings variable. */
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/sysprim.c,v 9.30 1988/08/15 20:56:21 cph Exp $
+/* $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/sysprim.c,v 9.31 1988/10/21 00:12:44 cph Exp $
*
* Random system primitives. Most are implemented in terms of
* utilities in os.c
Primitive_Error (ERR_EXTERNAL_RETURN);
/*NOTREACHED*/
}
- CLEAR_INTERRUPT (INT_Character);
PRIMITIVE_RETURN (MAKE_UNSIGNED_FIXNUM (result));
}
\f
Sign_Extend(Arg2, Centi_Seconds);
Set_Int_Timer(Days, Centi_Seconds);
}
- CLEAR_INTERRUPT(INT_Timer);
PRIMITIVE_RETURN(NIL);
}
\f
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/version.h,v 10.54 1988/10/20 11:00:23 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/microcode/Attic/version.h,v 10.55 1988/10/21 00:13:07 cph Exp $
Copyright (c) 1988 Massachusetts Institute of Technology
#define VERSION 10
#endif
#ifndef SUBVERSION
-#define SUBVERSION 54
+#define SUBVERSION 55
#endif
#ifndef UCODE_TABLES_FILENAME
/* -*-C-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/version.h,v 10.54 1988/10/20 11:00:23 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/microcode/version.h,v 10.55 1988/10/21 00:13:07 cph Exp $
Copyright (c) 1988 Massachusetts Institute of Technology
#define VERSION 10
#endif
#ifndef SUBVERSION
-#define SUBVERSION 54
+#define SUBVERSION 55
#endif
#ifndef UCODE_TABLES_FILENAME