1/* 2% NomicMUD: A MUD server written in Prolog 3% Maintainer: Douglas Miles 4% Dec 13, 2035 5% 6% Bits and pieces: 7% 8% LogicMOO, Inform7, FROLOG, Guncho, PrologMUD and Marty's Prolog Adventure Prototype 9% 10% Copyright (C) 2004 Marty White under the GNU GPL 11% Sept 20,1999 - Douglas Miles 12% July 10,1996 - John Eikenberry 13% 14% Logicmoo Project changes: 15% 16% Main file. 17% 18*/ 19 20:- user:ensure_loaded(library(poor_bugger)). 21 22% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 23% CODE FILE SECTION 24:- nop(ensure_loaded('adv_debug')). 25% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 26 27% '$hide'(Pred) :- '$set_predicate_attribute'(Pred, trace, false). 28never_trace(Spec):- '$hide'(Spec),'$iso'(Spec),trace(Spec, -all). 29:- never_trace(list_to_set/2). 30:- use_module(library(lists)). 31%:- never_trace(lists:append(_,_,_)). 32:- never_trace(lists:member_(_,_,_)). 33:- never_trace(prolog_debug:assertion(_)). 34 35%:- never_trace(lists:member(_,_)). 36%:- never_trace(lists:append(_,_,_)). 37dshow_call(G):- simplify_dbug(G,GG), (call(G)*-> dbug(success_dshow_call(GG)) ; (dbug(failed_dshow_call(GG)),!,fail)). 38found_bug(S0,duplicated_object(X,R,L)) :- 39 append(Left,[prop(X,R)|_],S0), 40 member(prop(X,L),Left). 41 42 43check4bugs(S0) :- found_bug(S0,Bug),throw(check4bugs_failed(Bug)). 44check4bugs(_S0) :- 45 !, true. 46check4bugs(S0) :- 47 % TODO: emergency save of S0, either here or better yet, in a catch(). 48 throw(check4bugs_failed(S0)). 49 50 51:- multifile(user:portray/1). 52:- dynamic(user:portray/1). 53:- discontiguous(user:portray/1). 54% user:portray