/* -------------------------------------------------------------------------- * errors.h: Copyright (c) Mark P Jones 1991-1998. All rights reserved. * See NOTICE for details and conditions of use etc... * Hugs version 1.3b, January 1998 * * Error handling support functions * ------------------------------------------------------------------------*/ #if MSWIN #define Hilite WinTextcolor(hWndText,RED); #define Lolite WinTextcolor(hWndText,BLACK); #define errorStream stderr #else #define errorStream stdout #define Hilite #define Lolite #endif #define ERRMSG(l) Hilite errHead(l);fprintf(errorStream, #define EEND ); Lolite errFail() #define ETHEN ); #define ERRTEXT Hilite fprintf(errorStream, #define ERREXPR(e) Hilite printExp(errorStream,e); Lolite #define ERRTYPE(e) Hilite printType(errorStream,e); Lolite #define ERRCONTEXT(qs) Hilite printContext(errorStream,qs); Lolite #define ERRPRED(pi) Hilite printPred(errorStream,pi); Lolite #define ERRKIND(k) Hilite printKind(errorStream,k); Lolite #define ERRAXIOM(tc,ax) Hilite printAxiom(errorStream,tc,ax); Lolite extern Void errHead Args((Int)); /* in main.c */ extern Void errFail Args((Void)); extern Void errAbort Args((Void)); extern sigProto(breakHandler); extern Bool breakOn Args((Bool)); /* in machdep.c */ extern Void printExp Args((FILE *,Cell)); /* in output.c */ extern Void printType Args((FILE *,Cell)); extern Void printContext Args((FILE *,List)); extern Void printPred Args((FILE *,Cell)); extern Void printKind Args((FILE *,Kind)); extern Void printVariance Args((FILE *,List)); extern Void printAxiom Args((FILE *,Tycon,Type)); extern Void printAxioms Args((FILE *,Tycon)); /*-------------------------------------------------------------------------*/