VM: add enable-ctrl-break and disable-ctrl-break primitives

These are for the Listener to wrap around user-supplied quotations. Nesting
is not supported at the moment.
char-rename
Alexander Iljin 2016-06-15 17:12:13 +03:00 committed by John Benediktsson
parent 526a995d64
commit 0245a93bee
3 changed files with 8 additions and 2 deletions

View File

@ -730,6 +730,8 @@ CONSTANT: all-primitives {
"system" "system"
{ {
{ "(exit)" ( n -- * ) "exit" { integer } { } f } { "(exit)" ( n -- * ) "exit" { integer } { } f }
{ "disable-ctrl-break" ( -- ) "disable_ctrl_break" { } { } f }
{ "enable-ctrl-break" ( -- ) "enable_ctrl_break" { } { } f }
{ "nano-count" ( -- ns ) "nano_count" { } { integer } make-flushable } { "nano-count" ( -- ns ) "nano_count" { } { integer } make-flushable }
} }
} }

View File

@ -15,9 +15,11 @@ namespace factor {
_(check_datastack) _(clone) _(code_blocks) _(code_room) \ _(check_datastack) _(clone) _(code_blocks) _(code_room) \
_(compact_gc) _(compute_identity_hashcode) _(context_object) \ _(compact_gc) _(compute_identity_hashcode) _(context_object) \
_(context_object_for) _(current_callback) _(data_room) \ _(context_object_for) _(current_callback) _(data_room) \
_(datastack_for) _(die) _(disable_gc_events) _(dispatch_stats) \ _(datastack_for) _(die) _(disable_ctrl_break) _(disable_gc_events) \
_(dispatch_stats) \
_(displaced_alien) _(dlclose) _(dll_validp) _(dlopen) _(dlsym) \ _(displaced_alien) _(dlclose) _(dll_validp) _(dlopen) _(dlsym) \
_(dlsym_raw) _(double_bits) _(enable_gc_events) _(existsp) _(exit) \ _(dlsym_raw) _(double_bits) _(enable_ctrl_break) _(enable_gc_events) \
_(existsp) _(exit) \
_(fclose) _(fflush) _(fgetc) _(fixnum_divint) _(fixnum_divmod) \ _(fclose) _(fflush) _(fgetc) _(fixnum_divint) _(fixnum_divmod) \
_(fixnum_shift) _(fixnum_to_bignum) _(fixnum_to_float) _(float_add) \ _(fixnum_shift) _(fixnum_to_bignum) _(fixnum_to_float) _(float_add) \
_(float_bits) _(float_divfloat) _(float_eq) _(float_greater) \ _(float_bits) _(float_divfloat) _(float_eq) _(float_greater) \

View File

@ -393,6 +393,8 @@ struct factor_vm {
void factorbug_usage(bool advanced_p); void factorbug_usage(bool advanced_p);
void factorbug(); void factorbug();
void primitive_die(); void primitive_die();
void primitive_enable_ctrl_break();
void primitive_disable_ctrl_break();
volatile bool stop_on_ctrl_break; volatile bool stop_on_ctrl_break;
// arrays // arrays