check for "config.rktd" before trying to read it for interactive
This commit is contained in:
parent
fc345ed249
commit
b9a9fdaa3f
|
@ -125,8 +125,7 @@ static Scheme_Object *get_init_filename(Scheme_Env *env,
|
||||||
f = _scheme_apply(build_path, 2, a);
|
f = _scheme_apply(build_path, 2, a);
|
||||||
if (SCHEME_PATHP(f)) {
|
if (SCHEME_PATHP(f)) {
|
||||||
char *filename;
|
char *filename;
|
||||||
filename = SCHEME_PATH_VAL(f);
|
filename = scheme_expand_filename(SCHEME_PATH_VAL(f), -1, "startup", NULL, SCHEME_GUARD_FILE_EXISTS);
|
||||||
filename = scheme_expand_filename(filename, -1, "startup", NULL, SCHEME_GUARD_FILE_EXISTS);
|
|
||||||
if(scheme_file_exists(filename)) {
|
if(scheme_file_exists(filename)) {
|
||||||
p->error_buf = save;
|
p->error_buf = save;
|
||||||
return scheme_make_path(filename);
|
return scheme_make_path(filename);
|
||||||
|
@ -139,15 +138,20 @@ static Scheme_Object *get_init_filename(Scheme_Env *env,
|
||||||
a[1] = scheme_make_path("config.rktd");
|
a[1] = scheme_make_path("config.rktd");
|
||||||
f = _scheme_apply(build_path, 2, a);
|
f = _scheme_apply(build_path, 2, a);
|
||||||
if (SCHEME_PATHP(f)) {
|
if (SCHEME_PATHP(f)) {
|
||||||
Scheme_Object * port;
|
char *filename;
|
||||||
port = scheme_open_input_file(SCHEME_PATH_VAL(f), "get-init-filename");
|
filename = scheme_expand_filename(SCHEME_PATH_VAL(f), -1, "startup", NULL,
|
||||||
f = scheme_read(port);
|
SCHEME_GUARD_FILE_EXISTS | SCHEME_GUARD_FILE_READ);
|
||||||
scheme_close_input_port(port);
|
if(scheme_file_exists(filename)) {
|
||||||
if(SCHEME_HASHTRP(f)) {
|
Scheme_Object * port;
|
||||||
f = scheme_hash_tree_get((Scheme_Hash_Tree *)f, scheme_intern_symbol(init_filename_sym));
|
port = scheme_open_input_file(SCHEME_PATH_VAL(f), "get-init-filename");
|
||||||
if(f) {
|
f = scheme_read(port);
|
||||||
p->error_buf = save;
|
scheme_close_input_port(port);
|
||||||
return f;
|
if(SCHEME_HASHTRP(f)) {
|
||||||
|
f = scheme_hash_tree_get((Scheme_Hash_Tree *)f, scheme_intern_symbol(init_filename_sym));
|
||||||
|
if(f) {
|
||||||
|
p->error_buf = save;
|
||||||
|
return f;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user