diff --git a/C/c_interface.c b/C/c_interface.c index 77dc8d459..007dd92ff 100644 --- a/C/c_interface.c +++ b/C/c_interface.c @@ -665,6 +665,7 @@ YapInit(yap_init_args *yap_init) } else { restore_result = FAIL_RESTORE; } + yap_flags[FAST_BOOT_FLAG] = yap_init->FastBoot; #if defined(YAPOR) || defined(TABLING) make_root_frames(); #ifdef YAPOR @@ -723,6 +724,7 @@ YapFastInit(char saved_state[]) init_args.YapLibDir = NULL; init_args.YapPrologBootFile = NULL; init_args.HaltAfterConsult = FALSE; + init_args.FastBoot = FALSE; init_args.NumberWorkers = 1; init_args.SchedulerLoop = 10; init_args.DelayedReleaseLoad = 3; diff --git a/console/yap.c b/console/yap.c index b8f6a0f4b..1a63ceb2b 100644 --- a/console/yap.c +++ b/console/yap.c @@ -280,6 +280,9 @@ parse_yap_arguments(int argc, char *argv[], yap_init_args *init_args) } break; #endif /* EMACS */ + case 'f': + init_args->FastBoot = TRUE; + break; #ifdef MPWSHELL case 'm': if (*++p == 'p' && *++p == 'w' && *++p == '\0') @@ -388,6 +391,7 @@ init_standard_system(int argc, char *argv[]) init_args.YapLibDir = NULL; init_args.YapPrologBootFile = NULL; init_args.HaltAfterConsult = FALSE; + init_args.FastBoot = FALSE; init_args.NumberWorkers = 1; init_args.SchedulerLoop = 10; init_args.DelayedReleaseLoad = 3; diff --git a/include/yap_structs.h b/include/yap_structs.h index 9bffd7dfc..9f01190b4 100644 --- a/include/yap_structs.h +++ b/include/yap_structs.h @@ -74,6 +74,8 @@ typedef struct { char *YapPrologBootFile; /* if previous NON-NULL and TRUE, halt after consulting that file */ int HaltAfterConsult; + /* ignore .yaprc, .prolog.ini, etc. files. */ + int FastBoot; /* the next three fields only interest YAPOR, but we keep them so that users don't need to recompile DLL in order to use YAPOR */ /* if NON-0, number of workers we want to have (default=1) */ diff --git a/m4/Yap.h.m4 b/m4/Yap.h.m4 index b5ad454a5..2199b2032 100644 --- a/m4/Yap.h.m4 +++ b/m4/Yap.h.m4 @@ -10,7 +10,7 @@ * File: Yap.h.m4 * * mods: * * comments: main header file for YAP * -* version: $Id: Yap.h.m4,v 1.17 2002-01-15 17:55:50 stasinos Exp $ * +* version: $Id: Yap.h.m4,v 1.18 2002-01-27 20:40:10 vsc Exp $ * *************************************************************************/ #include "config.h" @@ -482,7 +482,8 @@ typedef enum { CHARACTER_ESCAPE_FLAG = 12, WRITE_QUOTED_STRING_FLAG = 13, ALLOW_ASSERTING_STATIC_FLAG = 14, - HALT_AFTER_CONSULT_FLAG = 15 + HALT_AFTER_CONSULT_FLAG = 15, + FAST_BOOT_FLAG = 16 } yap_flags; #define STRING_AS_CHARS 0 diff --git a/pl/boot.yap b/pl/boot.yap index 28189200b..d5ca4a59c 100644 --- a/pl/boot.yap +++ b/pl/boot.yap @@ -87,9 +87,13 @@ read_sig. '$current_module'(_,prolog) ; '$current_module'(_,V), '$compile_mode'(_,0), - ( exists('~/.yaprc') -> [-'~/.yaprc'] ; true ), - ( exists('~/.prologrc') -> [-'~/.prologrc'] ; true ), - ( exists('~/prolog.ini') -> [-'~/prolog.ini'] ; true ) + ('$access_yap_flags'(16,0) -> + ( exists('~/.yaprc') -> [-'~/.yaprc'] ; true ), + ( exists('~/.prologrc') -> [-'~/.prologrc'] ; true ), + ( exists('~/prolog.ini') -> [-'~/prolog.ini'] ; true ) + ; + true + ) ), '$db_clean_queues'(0), '$startup_reconsult',