     goto EVAL;
   } 
   
-  error2((int)fname, PSTR("is an illegal function")); return nil;
+  error(0, PSTR("illegal function"), fname); return nil;
 }
 
 // Print functions

    }
  }

  if (listp(function) && issymbol(car(function), CLOSURE)) {
    function = cdr(function);
    form = closure(TCstart, fname->name, car(function), cdr(function), args, &env);
    pop(GCStack);

    checkargs(fname, args);
    return ((fn_ptr_type)lookupfn(fname))(args, env);
  }
  if (consp(function) && issymbol(car(function), LAMBDA)) {
    function = cdr(function);
    object *result = closure(0, 0, NULL, function, args, &env);
    return eval(result, env);
  }
  if (consp(function) && issymbol(car(function), CLOSURE)) {
    function = cdr(function);
    object *result = closure(0, 0, car(function), cdr(function), args, &env);
    return eval(result, env);
