   File file = SD.open("ULISP.IMG");
   if (!file) error(PSTR("Problem autorunning from SD card"));
   object *autorun = (object *)SDReadInt(file);
-  object *nullenv = NULL;
   file.close();
   if (autorun != NULL) {
     loadimage(NULL);
-    apply(autorun, NULL, &nullenv);
+    apply(autorun, NULL, NULL);
   }
 #else
-  object *nullenv = NULL;
   object *autorun = (object *)eeprom_read_word(&image.eval);
   if (autorun != NULL && (unsigned int)autorun != 0xFFFF) {
     loadimage(nil);
-    apply(autorun, NULL, &nullenv);
+    apply(autorun, NULL, NULL);
   }
 #endif
 }

  }
  if (!listp(car(last))) error3(APPLY, PSTR("last argument is not a list"));
  cdr(previous) = car(last);
  return apply(first(args), cdr(args), &env);
}

object *fn_funcall (object *args, object *env) {
  return apply(first(args), cdr(args), &env);
}

object *fn_append (object *args, object *env) {

          else error2(fname, PSTR("has too few arguments"));
        } else { value = first(args); args = cdr(args); }
      }
      push(cons(var,value), *env);
      if (trace) { pserial(' '); printobject(value, pserial); }
    }
    params = cdr(params);  
