embedded YAP should ignore int by default.

This commit is contained in:
Vitor Santos Costa 2016-12-16 02:51:17 -06:00
parent f98dfa6994
commit c9309dce75
3 changed files with 7 additions and 3 deletions

View File

@ -2261,7 +2261,7 @@ static void start_modules(void) {
}
/// whether Yap is under control of some other system
bool Yap_embedded;
bool Yap_embedded = true;
/* this routine is supposed to be called from an external program
that wants to control Yap */
@ -2285,7 +2285,8 @@ YAP_file_type_t YAP_Init(YAP_init_args *yap_init) {
#if defined(YAPOR_COPY) || defined(YAPOR_COW) || defined(YAPOR_SBA)
Yap_init_yapor_global_local_memory();
#endif /* YAPOR_COPY || YAPOR_COW || YAPOR_SBA */
GLOBAL_PrologShouldHandleInterrupts = yap_init->PrologShouldHandleInterrupts;
GLOBAL_PrologShouldHandleInterrupts = yap_init->PrologShouldHandleInterrupts &&
!yap_init->Embedded;
Yap_InitSysbits(0); /* init signal handling and time, required by later
functions */
GLOBAL_argv = yap_init->Argv;

View File

@ -346,7 +346,8 @@ static void InitStdStreams(void) {
#if USE_READLINE
if (GLOBAL_Stream[StdInStream].status & Tty_Stream_f &&
GLOBAL_Stream[StdOutStream].status & Tty_Stream_f &&
GLOBAL_Stream[StdErrStream].status & Tty_Stream_f) {
GLOBAL_Stream[StdErrStream].status & Tty_Stream_f &&
! Yap_embedded) {
Yap_InitReadline(TermTrue);
}
#endif

View File

@ -283,6 +283,8 @@ static int prolog_complete(int ignore, int key) {
bool Yap_InitReadline(Term enable) {
// don't call readline within emacs
if (Yap_embedded)
return false;
if (!(GLOBAL_Stream[StdInStream].status & Tty_Stream_f) ||
getenv("INSIDE_EMACS") || enable != TermTrue) {
if (GLOBAL_Flags)