From 17d16e0b14b8482449f14e7ee3e25ab34e268958 Mon Sep 17 00:00:00 2001 From: vsc Date: Fri, 22 Feb 2008 15:08:37 +0000 Subject: [PATCH] Big update to support more SICStus/SWI like message handling fix YAPSHAREDIR fix yap.tex (Bernd) git-svn-id: https://yap.svn.sf.net/svnroot/yap/trunk@2107 b08c6af1-5177-4d33-ba66-4b1c6b8b522a --- C/cdmgr.c | 17 +- C/iopreds.c | 2 + C/threads.c | 7 + Makefile.in | 9 +- changes-5.1.html | 5 + docs/yap.tex | 116 ++++++- library/hacks.yap | 65 +--- pl/boot.yap | 24 +- pl/consult.yap | 29 +- pl/debug.yap | 42 +-- pl/errors.yap | 798 ++++------------------------------------------ pl/hacks.yap | 204 ++++++++++++ pl/init.yap | 23 +- pl/messages.yap | 486 ++++++++++++++++++++++++++++ pl/modules.yap | 3 +- pl/preds.yap | 8 +- pl/threads.yap | 3 +- pl/utils.yap | 4 +- pl/yio.yap | 4 +- 19 files changed, 987 insertions(+), 862 deletions(-) create mode 100644 pl/hacks.yap create mode 100644 pl/messages.yap diff --git a/C/cdmgr.c b/C/cdmgr.c index 3ce9c51ec..f8fdfe713 100644 --- a/C/cdmgr.c +++ b/C/cdmgr.c @@ -11,8 +11,12 @@ * File: cdmgr.c * * comments: Code manager * * * -* Last rev: $Date: 2008-01-23 17:57:44 $,$Author: vsc $ * +* Last rev: $Date: 2008-02-22 15:08:33 $,$Author: vsc $ * * $Log: not supported by cvs2svn $ +* Revision 1.218 2008/01/23 17:57:44 vsc +* valgrind it! +* enable atom garbage collection. +* * Revision 1.217 2007/12/26 19:50:40 vsc * new version of clp(fd) * fix deadlock with empty args facts in clause/2. @@ -3331,16 +3335,17 @@ static Term all_calls(void) { Term ts[3]; - Functor f = Yap_MkFunctor(AtomLocal,3); + Functor f = Yap_MkFunctor(AtomLocal,4); ts[0] = MkIntegerTerm((Int)P); + ts[1] = MkIntegerTerm((Int)CP); if (yap_flags[STACK_DUMP_ON_ERROR_FLAG]) { - ts[1] = all_envs(ENV); - ts[2] = all_cps(B); + ts[2] = all_envs(ENV); + ts[3] = all_cps(B); } else { - ts[1] = ts[2] = TermNil; + ts[2] = ts[3] = TermNil; } - return(Yap_MkApplTerm(f,3,ts)); + return(Yap_MkApplTerm(f,4,ts)); } Term diff --git a/C/iopreds.c b/C/iopreds.c index 31a3d812c..d9ed97857 100644 --- a/C/iopreds.c +++ b/C/iopreds.c @@ -1233,6 +1233,8 @@ post_process_eof(StreamDesc *s) static int console_post_process_read_char(int ch, StreamDesc *s) { + /* the character is also going to be output by the console handler */ + console_count_output_char(ch,Stream+StdErrStream); if (ch == '\n') { ++s->linecount; ++s->charcount; diff --git a/C/threads.c b/C/threads.c index abbe3d7ed..c4785d78b 100644 --- a/C/threads.c +++ b/C/threads.c @@ -695,8 +695,15 @@ p_thread_runtime(void) return Yap_unify(ARG1,MkIntTerm(0)); } +static Int +p_thread_self(void) +{ /* '$thread_runtime'(+P) */ + return Yap_unify(ARG1,MkIntTerm(0)); +} + void Yap_InitThreadPreds(void) { + Yap_InitCPred("$thread_self", 1, p_thread_self, SafePredFlag|HiddenPredFlag); Yap_InitCPred("$no_threads", 0, p_no_threads, SafePredFlag|HiddenPredFlag); Yap_InitCPred("$max_threads", 1, p_max_threads, SafePredFlag|HiddenPredFlag); Yap_InitCPred("$nof_threads", 1, p_nof_threads, SafePredFlag|HiddenPredFlag); diff --git a/Makefile.in b/Makefile.in index ca9625267..e71326536 100644 --- a/Makefile.in +++ b/Makefile.in @@ -185,10 +185,14 @@ PL_SOURCES= \ $(srcdir)/pl/checker.yap $(srcdir)/pl/chtypes.yap \ $(srcdir)/pl/consult.yap \ $(srcdir)/pl/corout.yap $(srcdir)/pl/debug.yap \ + $(srcdir)/pl/depth_bound.yap \ $(srcdir)/pl/directives.yap \ + $(srcdir)/pl/eam.yap \ $(srcdir)/pl/errors.yap $(srcdir)/pl/grammar.yap \ - $(srcdir)/pl/ground.yap $(srcdir)/pl/init.yap \ - $(srcdir)/pl/depth_bound.yap $(srcdir)/pl/listing.yap \ + $(srcdir)/pl/ground.yap + $(srcdir)/pl/hacks.yap + $(srcdir)/pl/init.yap \ + $(srcdir)/pl/listing.yap \ $(srcdir)/pl/load_foreign.yap \ $(srcdir)/pl/modules.yap $(srcdir)/pl/preds.yap \ $(srcdir)/pl/profile.yap \ @@ -199,7 +203,6 @@ PL_SOURCES= \ $(srcdir)/pl/strict_iso.yap \ $(srcdir)/pl/tabling.yap $(srcdir)/pl/threads.yap \ $(srcdir)/pl/utils.yap \ - $(srcdir)/pl/eam.yap \ $(srcdir)/pl/yapor.yap $(srcdir)/pl/yio.yap YAPDOCS=$(srcdir)/docs/yap.tex $(srcdir)/docs/chr.tex \ diff --git a/changes-5.1.html b/changes-5.1.html index 0a903425f..b53368ed8 100644 --- a/changes-5.1.html +++ b/changes-5.1.html @@ -17,6 +17,11 @@ xb

Yap-5.1.3: