static Int is_same_tty2(USES_REGS1) { /* 'prompt(Atom) */ int sni = Yap_CheckStream(ARG1, Input_Stream_f, "put/2"); int sno = Yap_CheckStream(ARG2, Output_Stream_f, "put/2"); bool out = (GLOBAL_Stream[sni].status & Tty_Stream_f) && (GLOBAL_Stream[sno].status & Tty_Stream_f) && is_same_tty(GLOBAL_Stream[sno].file, GLOBAL_Stream[sni].file); UNLOCK(GLOBAL_Stream[sno].streamlock); UNLOCK(GLOBAL_Stream[sni].streamlock); return out; }
bool Yap_ReadlineOps(StreamDesc *s) { if (s->status & Tty_Stream_f) { if (GLOBAL_Stream[0].status & (Input_Stream_f | Tty_Stream_f) && is_same_tty(s->file, GLOBAL_Stream[0].file)) { s->stream_getc = ReadlineGetc; s->stream_peek = Yap_ReadlinePeekChar; s->stream_wpeek = Yap_ReadlinePeekChar; s->status |= Readline_Stream_f; } return true; } return false; }