-"Version_2_6_13pre125"
+"Version_2_6_13pre126"
char *gcl_gets(char *,int);
int gcl_puts(const char *);
int endp_error(object);
-object Icall_gen_error_handler(object,object,object,object,ufixnum,...) __attribute__((noreturn));
+object Icall_gen_error_handler(object,object,object,object,ufixnum,...);
+object Icall_gen_error_handler_noreturn(object,object,object,object,ufixnum,...) __attribute__((noreturn));
object file_stream(object);
#define ERROR_H
#define Icall_error_handler(a_,b_,c_,d_...) \
- Icall_gen_error_handler(Cnil,null_string,a_,b_,c_,##d_)
+ Icall_gen_error_handler_noreturn(Cnil,null_string,a_,b_,c_,##d_)
#define Icall_continue_error_handler(a_,b_,c_,d_,e_...) \
Icall_gen_error_handler(Ct,a_,b_,c_,d_,##e_)
return(Cnil);
}
-object
-Icall_gen_error_handler(object ci,object cs,object en,object es,ufixnum n,...) {
+static object
+Icall_gen_error_handler_ap(object ci,object cs,object en,object es,ufixnum n,va_list ap) {
object *b;
ufixnum i;
- va_list ap;
n+=5;
b=alloca(n*sizeof(*b));
b[3] = cs;
b[4] = es;
- va_start(ap,n);
for (i=5;i<n;i++)
b[i]= va_arg(ap,object);
- va_end(ap);
IapplyVector(sSuniversal_error_handler,n,b);
+ return Cnil;
+
+}
+
+object
+Icall_gen_error_handler(object ci,object cs,object en,object es,ufixnum n,...) {
+
+ object x;
+ va_list ap;
+
+ va_start(ap,n);
+
+ x=Icall_gen_error_handler_ap(ci,cs,en,es,n,ap);
+
+ va_end(ap);
+
+ return x;
+
+}
+
+object
+Icall_gen_error_handler_noreturn(object ci,object cs,object en,object es,ufixnum n,...) {
+
+ va_list ap;
+
+ va_start(ap,n);
+
+ Icall_gen_error_handler_ap(ci,cs,en,es,n,ap);
+
+ va_end(ap);
+
while (1);
}
+
/*
Lisp interface to IHS
*/