mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-20 11:54:02 +00:00
In debug grades, io.close_input is traced, so an mdb single-step command stops there; in non-debug grades, io.close_input is not traced, so single-step does not stop there. This was the cause of the difference in output. Make this cause irrelevant by changing the relevant mdb command in the input from single-step to finish of the parent, which goes to the same event in both debug and non-debug grades.
51 lines
2.0 KiB
Plaintext
51 lines
2.0 KiB
Plaintext
E1: C1 CALL pred interpreter.main/2-0 (det) interpreter.m:47
|
|
mdb> echo on
|
|
Command echo enabled.
|
|
mdb> context none
|
|
Contexts will not be printed.
|
|
mdb> register --quiet
|
|
mdb> b consult_file
|
|
0: + stop interface pred interpreter.consult_file/5-0 (det)
|
|
mdb> c
|
|
Pure Prolog Interpreter.
|
|
|
|
E2: C2 CALL pred interpreter.consult_file/5-0 (det)
|
|
mdb> delete 0
|
|
0: E stop interface pred interpreter.consult_file/5-0 (det)
|
|
mdb> vars
|
|
1 File (arg 1)
|
|
2 Database0 (arg 2)
|
|
mdb> print *
|
|
File (arg 1) "interpreter.m"
|
|
Database0 (arg 2) []
|
|
mdb> b database_assert_clause
|
|
0: + stop interface pred interpreter.database_assert_clause/4-0 (det)
|
|
mdb> c
|
|
Consulting file `interpreter.m'...
|
|
E3: C3 CALL pred interpreter.database_assert_clause/4-0 (det)
|
|
mdb> delete 0
|
|
0: E stop interface pred interpreter.database_assert_clause/4-0 (det)
|
|
mdb> finish
|
|
E4: C3 EXIT pred interpreter.database_assert_clause/4-0 (det)
|
|
mdb> print *
|
|
VarSet (arg 1) varset(var_supply(0), empty, empty)
|
|
Term (arg 2) functor(atom(":-"), [functor(atom/1, [|]/2, context/2)], context("interpreter.m", 28))
|
|
Database (arg 3) []
|
|
HeadVar__4 [clause(varset(var_supply/1, empty, empty), functor(atom/1, [|]/2, context/2), functor(atom/1, [], context/2))]
|
|
mdb> finish -a
|
|
This command is a no-op from this port.
|
|
mdb> print *
|
|
VarSet (arg 1) varset(var_supply(0), empty, empty)
|
|
Term (arg 2) functor(atom(":-"), [functor(atom/1, [|]/2, context/2)], context("interpreter.m", 28))
|
|
Database (arg 3) []
|
|
HeadVar__4 [clause(varset(var_supply/1, empty, empty), functor(atom/1, [|]/2, context/2), functor(atom/1, [], context/2))]
|
|
mdb>
|
|
E5: C4 CALL pred interpreter.consult_until_eof/5-0 (det)
|
|
mdb> finish -n
|
|
E6: C4 EXIT pred interpreter.consult_until_eof/5-0 (det)
|
|
mdb>
|
|
E7: C5 EXIT pred interpreter.consult_until_eof/5-0 (det)
|
|
mdb> finish 1
|
|
E8: C2 EXIT pred interpreter.consult_file/5-0 (det)
|
|
mdb> continue
|
|
?- |