support whole-file eval