diff --git a/H/iswiatoms.h b/H/iswiatoms.h index 65afe6605..b2f945fe8 100644 --- a/H/iswiatoms.h +++ b/H/iswiatoms.h @@ -551,6 +551,7 @@ YAP_AtomToInt(Yap_LookupAtom("runtime")); YAP_AtomToInt(Yap_LookupAtom("save_class")); YAP_AtomToInt(Yap_LookupAtom("save_option")); + YAP_AtomToInt(Yap_LookupAtom("scripting")); YAP_AtomToInt(Yap_LookupAtom("see")); YAP_AtomToInt(Yap_LookupAtom("seed")); YAP_AtomToInt(Yap_LookupAtom("seek_method")); diff --git a/include/dswiatoms.h b/include/dswiatoms.h index 7932e92a6..83bc8676e 100644 --- a/include/dswiatoms.h +++ b/include/dswiatoms.h @@ -551,184 +551,185 @@ #define ATOM_runtime ((atom_t)(544*2+1)) #define ATOM_save_class ((atom_t)(545*2+1)) #define ATOM_save_option ((atom_t)(546*2+1)) -#define ATOM_see ((atom_t)(547*2+1)) -#define ATOM_seed ((atom_t)(548*2+1)) -#define ATOM_seek_method ((atom_t)(549*2+1)) -#define ATOM_select ((atom_t)(550*2+1)) -#define ATOM_semicolon ((atom_t)(551*2+1)) -#define ATOM_separated ((atom_t)(552*2+1)) -#define ATOM_set ((atom_t)(553*2+1)) -#define ATOM_set_end_of_stream ((atom_t)(554*2+1)) -#define ATOM_setup_call_catcher_cleanup ((atom_t)(555*2+1)) -#define ATOM_shared ((atom_t)(556*2+1)) -#define ATOM_shared_object ((atom_t)(557*2+1)) -#define ATOM_shared_object_handle ((atom_t)(558*2+1)) -#define ATOM_shell ((atom_t)(559*2+1)) -#define ATOM_shift_time ((atom_t)(560*2+1)) -#define ATOM_sign ((atom_t)(561*2+1)) -#define ATOM_signal ((atom_t)(562*2+1)) -#define ATOM_signal_handler ((atom_t)(563*2+1)) -#define ATOM_silent ((atom_t)(564*2+1)) -#define ATOM_sin ((atom_t)(565*2+1)) -#define ATOM_singletons ((atom_t)(566*2+1)) -#define ATOM_sinh ((atom_t)(567*2+1)) -#define ATOM_size ((atom_t)(568*2+1)) -#define ATOM_size_t ((atom_t)(569*2+1)) -#define ATOM_skip ((atom_t)(570*2+1)) -#define ATOM_skipped ((atom_t)(571*2+1)) -#define ATOM_smaller ((atom_t)(572*2+1)) -#define ATOM_smaller_equal ((atom_t)(573*2+1)) -#define ATOM_softcut ((atom_t)(574*2+1)) -#define ATOM_source_sink ((atom_t)(575*2+1)) -#define ATOM_space ((atom_t)(576*2+1)) -#define ATOM_spacing ((atom_t)(577*2+1)) -#define ATOM_spare ((atom_t)(578*2+1)) -#define ATOM_spy ((atom_t)(579*2+1)) -#define ATOM_sqrt ((atom_t)(580*2+1)) -#define ATOM_stack ((atom_t)(581*2+1)) -#define ATOM_stack_parameter ((atom_t)(582*2+1)) -#define ATOM_stack_shifts ((atom_t)(583*2+1)) -#define ATOM_stacks ((atom_t)(584*2+1)) -#define ATOM_stand_alone ((atom_t)(585*2+1)) -#define ATOM_standard ((atom_t)(586*2+1)) -#define ATOM_star ((atom_t)(587*2+1)) -#define ATOM_start ((atom_t)(588*2+1)) -#define ATOM_stat ((atom_t)(589*2+1)) -#define ATOM_state ((atom_t)(590*2+1)) -#define ATOM_static_procedure ((atom_t)(591*2+1)) -#define ATOM_statistics ((atom_t)(592*2+1)) -#define ATOM_status ((atom_t)(593*2+1)) -#define ATOM_stderr ((atom_t)(594*2+1)) -#define ATOM_stream ((atom_t)(595*2+1)) -#define ATOM_stream_option ((atom_t)(596*2+1)) -#define ATOM_stream_or_alias ((atom_t)(597*2+1)) -#define ATOM_stream_pair ((atom_t)(598*2+1)) -#define ATOM_stream_position ((atom_t)(599*2+1)) -#define ATOM_stream_property ((atom_t)(600*2+1)) -#define ATOM_stream_type_check ((atom_t)(601*2+1)) -#define ATOM_strict_equal ((atom_t)(602*2+1)) -#define ATOM_string ((atom_t)(603*2+1)) -#define ATOM_string_position ((atom_t)(604*2+1)) -#define ATOM_strong ((atom_t)(605*2+1)) -#define ATOM_subterm_positions ((atom_t)(606*2+1)) -#define ATOM_suffix ((atom_t)(607*2+1)) -#define ATOM_symbol_char ((atom_t)(608*2+1)) -#define ATOM_syntax_error ((atom_t)(609*2+1)) -#define ATOM_syntax_errors ((atom_t)(610*2+1)) -#define ATOM_system ((atom_t)(611*2+1)) -#define ATOM_system_error ((atom_t)(612*2+1)) -#define ATOM_system_init_file ((atom_t)(613*2+1)) -#define ATOM_system_thread_id ((atom_t)(614*2+1)) -#define ATOM_system_time ((atom_t)(615*2+1)) -#define ATOM_tan ((atom_t)(616*2+1)) -#define ATOM_tanh ((atom_t)(617*2+1)) -#define ATOM_temporary_files ((atom_t)(618*2+1)) -#define ATOM_term ((atom_t)(619*2+1)) -#define ATOM_term_expansion ((atom_t)(620*2+1)) -#define ATOM_term_position ((atom_t)(621*2+1)) -#define ATOM_terminal ((atom_t)(622*2+1)) -#define ATOM_terminal_capability ((atom_t)(623*2+1)) -#define ATOM_test ((atom_t)(624*2+1)) -#define ATOM_text ((atom_t)(625*2+1)) -#define ATOM_text_stream ((atom_t)(626*2+1)) -#define ATOM_thousands_sep ((atom_t)(627*2+1)) -#define ATOM_thread ((atom_t)(628*2+1)) -#define ATOM_thread_cputime ((atom_t)(629*2+1)) -#define ATOM_thread_get_message_option ((atom_t)(630*2+1)) -#define ATOM_thread_initialization ((atom_t)(631*2+1)) -#define ATOM_thread_local ((atom_t)(632*2+1)) -#define ATOM_thread_local_procedure ((atom_t)(633*2+1)) -#define ATOM_thread_option ((atom_t)(634*2+1)) -#define ATOM_thread_property ((atom_t)(635*2+1)) -#define ATOM_threads ((atom_t)(636*2+1)) -#define ATOM_threads_created ((atom_t)(637*2+1)) -#define ATOM_throw ((atom_t)(638*2+1)) -#define ATOM_tilde ((atom_t)(639*2+1)) -#define ATOM_time ((atom_t)(640*2+1)) -#define ATOM_time_stamp ((atom_t)(641*2+1)) -#define ATOM_timeout ((atom_t)(642*2+1)) -#define ATOM_timeout_error ((atom_t)(643*2+1)) -#define ATOM_timezone ((atom_t)(644*2+1)) -#define ATOM_to_lower ((atom_t)(645*2+1)) -#define ATOM_to_upper ((atom_t)(646*2+1)) -#define ATOM_top ((atom_t)(647*2+1)) -#define ATOM_top_level ((atom_t)(648*2+1)) -#define ATOM_toplevel ((atom_t)(649*2+1)) -#define ATOM_trace ((atom_t)(650*2+1)) -#define ATOM_trace_any ((atom_t)(651*2+1)) -#define ATOM_trace_call ((atom_t)(652*2+1)) -#define ATOM_trace_exit ((atom_t)(653*2+1)) -#define ATOM_trace_fail ((atom_t)(654*2+1)) -#define ATOM_trace_gc ((atom_t)(655*2+1)) -#define ATOM_trace_redo ((atom_t)(656*2+1)) -#define ATOM_traceinterc ((atom_t)(657*2+1)) -#define ATOM_tracing ((atom_t)(658*2+1)) -#define ATOM_trail ((atom_t)(659*2+1)) -#define ATOM_trail_shifts ((atom_t)(660*2+1)) -#define ATOM_traillimit ((atom_t)(661*2+1)) -#define ATOM_trailused ((atom_t)(662*2+1)) -#define ATOM_transparent ((atom_t)(663*2+1)) -#define ATOM_transposed_char ((atom_t)(664*2+1)) -#define ATOM_transposed_word ((atom_t)(665*2+1)) -#define ATOM_true ((atom_t)(666*2+1)) -#define ATOM_truncate ((atom_t)(667*2+1)) -#define ATOM_tty ((atom_t)(668*2+1)) -#define ATOM_tty_control ((atom_t)(669*2+1)) -#define ATOM_type ((atom_t)(670*2+1)) -#define ATOM_type_error ((atom_t)(671*2+1)) -#define ATOM_undefined ((atom_t)(672*2+1)) -#define ATOM_undefined_global_variable ((atom_t)(673*2+1)) -#define ATOM_undefinterc ((atom_t)(674*2+1)) -#define ATOM_unicode_be ((atom_t)(675*2+1)) -#define ATOM_unicode_le ((atom_t)(676*2+1)) -#define ATOM_unify ((atom_t)(677*2+1)) -#define ATOM_unify_determined ((atom_t)(678*2+1)) -#define ATOM_uninstantiation_error ((atom_t)(679*2+1)) -#define ATOM_unique ((atom_t)(680*2+1)) -#define ATOM_univ ((atom_t)(681*2+1)) -#define ATOM_unknown ((atom_t)(682*2+1)) -#define ATOM_unlimited ((atom_t)(683*2+1)) -#define ATOM_unload ((atom_t)(684*2+1)) -#define ATOM_unlock ((atom_t)(685*2+1)) -#define ATOM_unlocked ((atom_t)(686*2+1)) -#define ATOM_update ((atom_t)(687*2+1)) -#define ATOM_upper ((atom_t)(688*2+1)) -#define ATOM_user ((atom_t)(689*2+1)) -#define ATOM_user_error ((atom_t)(690*2+1)) -#define ATOM_user_flags ((atom_t)(691*2+1)) -#define ATOM_user_input ((atom_t)(692*2+1)) -#define ATOM_user_output ((atom_t)(693*2+1)) -#define ATOM_utc ((atom_t)(694*2+1)) -#define ATOM_utf8 ((atom_t)(695*2+1)) -#define ATOM_v ((atom_t)(696*2+1)) -#define ATOM_var ((atom_t)(697*2+1)) -#define ATOM_variable ((atom_t)(698*2+1)) -#define ATOM_variable_names ((atom_t)(699*2+1)) -#define ATOM_variables ((atom_t)(700*2+1)) -#define ATOM_very_deep ((atom_t)(701*2+1)) -#define ATOM_vmi ((atom_t)(702*2+1)) -#define ATOM_volatile ((atom_t)(703*2+1)) -#define ATOM_wait ((atom_t)(704*2+1)) -#define ATOM_wakeup ((atom_t)(705*2+1)) -#define ATOM_walltime ((atom_t)(706*2+1)) -#define ATOM_warning ((atom_t)(707*2+1)) -#define ATOM_wchar_t ((atom_t)(708*2+1)) -#define ATOM_weak ((atom_t)(709*2+1)) -#define ATOM_when_condition ((atom_t)(710*2+1)) -#define ATOM_white ((atom_t)(711*2+1)) -#define ATOM_write ((atom_t)(712*2+1)) -#define ATOM_write_attributes ((atom_t)(713*2+1)) -#define ATOM_write_option ((atom_t)(714*2+1)) -#define ATOM_xdigit ((atom_t)(715*2+1)) -#define ATOM_xf ((atom_t)(716*2+1)) -#define ATOM_xfx ((atom_t)(717*2+1)) -#define ATOM_xfy ((atom_t)(718*2+1)) -#define ATOM_xml ((atom_t)(719*2+1)) -#define ATOM_xor ((atom_t)(720*2+1)) -#define ATOM_xpceref ((atom_t)(721*2+1)) -#define ATOM_yf ((atom_t)(722*2+1)) -#define ATOM_yfx ((atom_t)(723*2+1)) -#define ATOM_zero_divisor ((atom_t)(724*2+1)) +#define ATOM_scripting ((atom_t)(547*2+1)) +#define ATOM_see ((atom_t)(548*2+1)) +#define ATOM_seed ((atom_t)(549*2+1)) +#define ATOM_seek_method ((atom_t)(550*2+1)) +#define ATOM_select ((atom_t)(551*2+1)) +#define ATOM_semicolon ((atom_t)(552*2+1)) +#define ATOM_separated ((atom_t)(553*2+1)) +#define ATOM_set ((atom_t)(554*2+1)) +#define ATOM_set_end_of_stream ((atom_t)(555*2+1)) +#define ATOM_setup_call_catcher_cleanup ((atom_t)(556*2+1)) +#define ATOM_shared ((atom_t)(557*2+1)) +#define ATOM_shared_object ((atom_t)(558*2+1)) +#define ATOM_shared_object_handle ((atom_t)(559*2+1)) +#define ATOM_shell ((atom_t)(560*2+1)) +#define ATOM_shift_time ((atom_t)(561*2+1)) +#define ATOM_sign ((atom_t)(562*2+1)) +#define ATOM_signal ((atom_t)(563*2+1)) +#define ATOM_signal_handler ((atom_t)(564*2+1)) +#define ATOM_silent ((atom_t)(565*2+1)) +#define ATOM_sin ((atom_t)(566*2+1)) +#define ATOM_singletons ((atom_t)(567*2+1)) +#define ATOM_sinh ((atom_t)(568*2+1)) +#define ATOM_size ((atom_t)(569*2+1)) +#define ATOM_size_t ((atom_t)(570*2+1)) +#define ATOM_skip ((atom_t)(571*2+1)) +#define ATOM_skipped ((atom_t)(572*2+1)) +#define ATOM_smaller ((atom_t)(573*2+1)) +#define ATOM_smaller_equal ((atom_t)(574*2+1)) +#define ATOM_softcut ((atom_t)(575*2+1)) +#define ATOM_source_sink ((atom_t)(576*2+1)) +#define ATOM_space ((atom_t)(577*2+1)) +#define ATOM_spacing ((atom_t)(578*2+1)) +#define ATOM_spare ((atom_t)(579*2+1)) +#define ATOM_spy ((atom_t)(580*2+1)) +#define ATOM_sqrt ((atom_t)(581*2+1)) +#define ATOM_stack ((atom_t)(582*2+1)) +#define ATOM_stack_parameter ((atom_t)(583*2+1)) +#define ATOM_stack_shifts ((atom_t)(584*2+1)) +#define ATOM_stacks ((atom_t)(585*2+1)) +#define ATOM_stand_alone ((atom_t)(586*2+1)) +#define ATOM_standard ((atom_t)(587*2+1)) +#define ATOM_star ((atom_t)(588*2+1)) +#define ATOM_start ((atom_t)(589*2+1)) +#define ATOM_stat ((atom_t)(590*2+1)) +#define ATOM_state ((atom_t)(591*2+1)) +#define ATOM_static_procedure ((atom_t)(592*2+1)) +#define ATOM_statistics ((atom_t)(593*2+1)) +#define ATOM_status ((atom_t)(594*2+1)) +#define ATOM_stderr ((atom_t)(595*2+1)) +#define ATOM_stream ((atom_t)(596*2+1)) +#define ATOM_stream_option ((atom_t)(597*2+1)) +#define ATOM_stream_or_alias ((atom_t)(598*2+1)) +#define ATOM_stream_pair ((atom_t)(599*2+1)) +#define ATOM_stream_position ((atom_t)(600*2+1)) +#define ATOM_stream_property ((atom_t)(601*2+1)) +#define ATOM_stream_type_check ((atom_t)(602*2+1)) +#define ATOM_strict_equal ((atom_t)(603*2+1)) +#define ATOM_string ((atom_t)(604*2+1)) +#define ATOM_string_position ((atom_t)(605*2+1)) +#define ATOM_strong ((atom_t)(606*2+1)) +#define ATOM_subterm_positions ((atom_t)(607*2+1)) +#define ATOM_suffix ((atom_t)(608*2+1)) +#define ATOM_symbol_char ((atom_t)(609*2+1)) +#define ATOM_syntax_error ((atom_t)(610*2+1)) +#define ATOM_syntax_errors ((atom_t)(611*2+1)) +#define ATOM_system ((atom_t)(612*2+1)) +#define ATOM_system_error ((atom_t)(613*2+1)) +#define ATOM_system_init_file ((atom_t)(614*2+1)) +#define ATOM_system_thread_id ((atom_t)(615*2+1)) +#define ATOM_system_time ((atom_t)(616*2+1)) +#define ATOM_tan ((atom_t)(617*2+1)) +#define ATOM_tanh ((atom_t)(618*2+1)) +#define ATOM_temporary_files ((atom_t)(619*2+1)) +#define ATOM_term ((atom_t)(620*2+1)) +#define ATOM_term_expansion ((atom_t)(621*2+1)) +#define ATOM_term_position ((atom_t)(622*2+1)) +#define ATOM_terminal ((atom_t)(623*2+1)) +#define ATOM_terminal_capability ((atom_t)(624*2+1)) +#define ATOM_test ((atom_t)(625*2+1)) +#define ATOM_text ((atom_t)(626*2+1)) +#define ATOM_text_stream ((atom_t)(627*2+1)) +#define ATOM_thousands_sep ((atom_t)(628*2+1)) +#define ATOM_thread ((atom_t)(629*2+1)) +#define ATOM_thread_cputime ((atom_t)(630*2+1)) +#define ATOM_thread_get_message_option ((atom_t)(631*2+1)) +#define ATOM_thread_initialization ((atom_t)(632*2+1)) +#define ATOM_thread_local ((atom_t)(633*2+1)) +#define ATOM_thread_local_procedure ((atom_t)(634*2+1)) +#define ATOM_thread_option ((atom_t)(635*2+1)) +#define ATOM_thread_property ((atom_t)(636*2+1)) +#define ATOM_threads ((atom_t)(637*2+1)) +#define ATOM_threads_created ((atom_t)(638*2+1)) +#define ATOM_throw ((atom_t)(639*2+1)) +#define ATOM_tilde ((atom_t)(640*2+1)) +#define ATOM_time ((atom_t)(641*2+1)) +#define ATOM_time_stamp ((atom_t)(642*2+1)) +#define ATOM_timeout ((atom_t)(643*2+1)) +#define ATOM_timeout_error ((atom_t)(644*2+1)) +#define ATOM_timezone ((atom_t)(645*2+1)) +#define ATOM_to_lower ((atom_t)(646*2+1)) +#define ATOM_to_upper ((atom_t)(647*2+1)) +#define ATOM_top ((atom_t)(648*2+1)) +#define ATOM_top_level ((atom_t)(649*2+1)) +#define ATOM_toplevel ((atom_t)(650*2+1)) +#define ATOM_trace ((atom_t)(651*2+1)) +#define ATOM_trace_any ((atom_t)(652*2+1)) +#define ATOM_trace_call ((atom_t)(653*2+1)) +#define ATOM_trace_exit ((atom_t)(654*2+1)) +#define ATOM_trace_fail ((atom_t)(655*2+1)) +#define ATOM_trace_gc ((atom_t)(656*2+1)) +#define ATOM_trace_redo ((atom_t)(657*2+1)) +#define ATOM_traceinterc ((atom_t)(658*2+1)) +#define ATOM_tracing ((atom_t)(659*2+1)) +#define ATOM_trail ((atom_t)(660*2+1)) +#define ATOM_trail_shifts ((atom_t)(661*2+1)) +#define ATOM_traillimit ((atom_t)(662*2+1)) +#define ATOM_trailused ((atom_t)(663*2+1)) +#define ATOM_transparent ((atom_t)(664*2+1)) +#define ATOM_transposed_char ((atom_t)(665*2+1)) +#define ATOM_transposed_word ((atom_t)(666*2+1)) +#define ATOM_true ((atom_t)(667*2+1)) +#define ATOM_truncate ((atom_t)(668*2+1)) +#define ATOM_tty ((atom_t)(669*2+1)) +#define ATOM_tty_control ((atom_t)(670*2+1)) +#define ATOM_type ((atom_t)(671*2+1)) +#define ATOM_type_error ((atom_t)(672*2+1)) +#define ATOM_undefined ((atom_t)(673*2+1)) +#define ATOM_undefined_global_variable ((atom_t)(674*2+1)) +#define ATOM_undefinterc ((atom_t)(675*2+1)) +#define ATOM_unicode_be ((atom_t)(676*2+1)) +#define ATOM_unicode_le ((atom_t)(677*2+1)) +#define ATOM_unify ((atom_t)(678*2+1)) +#define ATOM_unify_determined ((atom_t)(679*2+1)) +#define ATOM_uninstantiation_error ((atom_t)(680*2+1)) +#define ATOM_unique ((atom_t)(681*2+1)) +#define ATOM_univ ((atom_t)(682*2+1)) +#define ATOM_unknown ((atom_t)(683*2+1)) +#define ATOM_unlimited ((atom_t)(684*2+1)) +#define ATOM_unload ((atom_t)(685*2+1)) +#define ATOM_unlock ((atom_t)(686*2+1)) +#define ATOM_unlocked ((atom_t)(687*2+1)) +#define ATOM_update ((atom_t)(688*2+1)) +#define ATOM_upper ((atom_t)(689*2+1)) +#define ATOM_user ((atom_t)(690*2+1)) +#define ATOM_user_error ((atom_t)(691*2+1)) +#define ATOM_user_flags ((atom_t)(692*2+1)) +#define ATOM_user_input ((atom_t)(693*2+1)) +#define ATOM_user_output ((atom_t)(694*2+1)) +#define ATOM_utc ((atom_t)(695*2+1)) +#define ATOM_utf8 ((atom_t)(696*2+1)) +#define ATOM_v ((atom_t)(697*2+1)) +#define ATOM_var ((atom_t)(698*2+1)) +#define ATOM_variable ((atom_t)(699*2+1)) +#define ATOM_variable_names ((atom_t)(700*2+1)) +#define ATOM_variables ((atom_t)(701*2+1)) +#define ATOM_very_deep ((atom_t)(702*2+1)) +#define ATOM_vmi ((atom_t)(703*2+1)) +#define ATOM_volatile ((atom_t)(704*2+1)) +#define ATOM_wait ((atom_t)(705*2+1)) +#define ATOM_wakeup ((atom_t)(706*2+1)) +#define ATOM_walltime ((atom_t)(707*2+1)) +#define ATOM_warning ((atom_t)(708*2+1)) +#define ATOM_wchar_t ((atom_t)(709*2+1)) +#define ATOM_weak ((atom_t)(710*2+1)) +#define ATOM_when_condition ((atom_t)(711*2+1)) +#define ATOM_white ((atom_t)(712*2+1)) +#define ATOM_write ((atom_t)(713*2+1)) +#define ATOM_write_attributes ((atom_t)(714*2+1)) +#define ATOM_write_option ((atom_t)(715*2+1)) +#define ATOM_xdigit ((atom_t)(716*2+1)) +#define ATOM_xf ((atom_t)(717*2+1)) +#define ATOM_xfx ((atom_t)(718*2+1)) +#define ATOM_xfy ((atom_t)(719*2+1)) +#define ATOM_xml ((atom_t)(720*2+1)) +#define ATOM_xor ((atom_t)(721*2+1)) +#define ATOM_xpceref ((atom_t)(722*2+1)) +#define ATOM_yf ((atom_t)(723*2+1)) +#define ATOM_yfx ((atom_t)(724*2+1)) +#define ATOM_zero_divisor ((atom_t)(725*2+1)) #define FUNCTOR_abs1 ((functor_t)(0*4+2)) #define FUNCTOR_access1 ((functor_t)(1*4+2)) #define FUNCTOR_acos1 ((functor_t)(2*4+2)) @@ -976,7 +977,7 @@ #define FUNCTOR_xpceref2 ((functor_t)(244*4+2)) -#define N_SWI_ATOMS 725 +#define N_SWI_ATOMS 726 #define N_SWI_FUNCTORS 245 #define N_SWI_HASH_BITS 11 #define N_SWI_HASH 2048 diff --git a/misc/SWIATOMS b/misc/SWIATOMS index 62f47c579..8a3b9e405 100644 --- a/misc/SWIATOMS +++ b/misc/SWIATOMS @@ -556,6 +556,7 @@ A running "running" A runtime "runtime" A save_class "save_class" A save_option "save_option" +A scripting "scripting" A see "see" A seed "seed" A seek_method "seek_method" diff --git a/os/pl-file.c b/os/pl-file.c index 72afea417..a0a4e0707 100755 --- a/os/pl-file.c +++ b/os/pl-file.c @@ -3113,6 +3113,7 @@ static const opt_spec open4_options[] = { ATOM_wait, OPT_BOOL }, { ATOM_encoding, OPT_ATOM }, { ATOM_bom, OPT_BOOL }, + { ATOM_scripting, OPT_BOOL }, #ifdef O_LOCALE { ATOM_locale, OPT_LOCALE }, #endif @@ -3139,6 +3140,7 @@ openStream(term_t file, term_t mode, term_t options) #endif int close_on_abort = TRUE; int bom = -1; + int scripting = FALSE; char how[10]; char *h = how; char *path; @@ -3149,7 +3151,7 @@ openStream(term_t file, term_t mode, term_t options) { if ( !scan_options(options, 0, ATOM_stream_option, open4_options, &type, &reposition, &alias, &eof_action, &close_on_abort, &buffer, &lock, &wait, - &encoding, &bom + &encoding, &bom, &scripting #ifdef O_LOCALE , &locale #endif @@ -3323,6 +3325,15 @@ openStream(term_t file, term_t mode, term_t options) streamStatus(getStream(s)); return NULL; } + if ( scripting) { + int c; + while (( c = Sgetc(s)) == '#') { + while( (c = Sgetc(s)) != EOF && c != 10); + } + if ( c != EOF ) + Sungetc(c, s); + else goto bom_error; + } } else { if ( mname == ATOM_write || ( (mname == ATOM_append || mname == ATOM_update) &&