/*-*-C-*-
 * ResEd error handling macros
 */

#ifndef __defined_error_h
#define __defined_error_h


extern error * error_message (char *format, ...);
extern error * error_lookup (char *tag, ...);
extern void    error_box (error *e);
extern void    error_exit (error *e);

#define ER(stmt) {error *e = (stmt); if (e) {return e;}}
#define ED(stmt) {error *e = (stmt); if (e) {error_box(e);}}
#define EE(stmt) {error *e = (stmt); if (e) {error_exit(e);}}
#define EG(label, stmt) {err = (stmt); if (err) goto label;}


#endif
