projects
/
sbcl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1.0.12.39: Fix minor bug in new LOAD
[sbcl.git]
/
src
/
runtime
/
runtime.c
diff --git
a/src/runtime/runtime.c
b/src/runtime/runtime.c
index
f2b52d6
..
a4fc68a
100644
(file)
--- a/
src/runtime/runtime.c
+++ b/
src/runtime/runtime.c
@@
-194,7
+194,7
@@
search_for_core ()
char *stem = "/sbcl.core";
char *core;
char *stem = "/sbcl.core";
char *core;
- if(!sbcl_home) sbcl_home = SBCL_HOME;
+ if (!(sbcl_home && *sbcl_home)) sbcl_home = SBCL_HOME;
lookhere = (char *) calloc(strlen(sbcl_home) +
strlen(stem) +
1,
lookhere = (char *) calloc(strlen(sbcl_home) +
strlen(stem) +
1,
@@
-234,6
+234,7
@@
main(int argc, char *argv[], char *envp[])
boolean end_runtime_options = 0;
lispobj initial_function;
boolean end_runtime_options = 0;
lispobj initial_function;
+ const char *sbcl_home = getenv("SBCL_HOME");
interrupt_init();
block_blockable_signals();
interrupt_init();
block_blockable_signals();
@@
-332,7
+333,7
@@
main(int argc, char *argv[], char *envp[])
}
/* Align down to multiple of page_table page size */
}
/* Align down to multiple of page_table page size */
- dynamic_space_size = (dynamic_space_size/PAGE_BYTES) * PAGE_BYTES;
+ dynamic_space_size &= ~(PAGE_BYTES - 1);
/* KLUDGE: os_vm_page_size is set by os_init(), and on some
* systems (e.g. Alpha) arch_init() needs need os_vm_page_size, so
/* KLUDGE: os_vm_page_size is set by os_init(), and on some
* systems (e.g. Alpha) arch_init() needs need os_vm_page_size, so
@@
-361,8
+362,9
@@
main(int argc, char *argv[], char *envp[])
}
}
}
}
- /* Make sure that SBCL_HOME is set, unless loading an embedded core. */
- if (!getenv("SBCL_HOME") && embedded_core_offset == 0) {
+ /* Make sure that SBCL_HOME is set and not the empty string,
+ unless loading an embedded core. */
+ if (!(sbcl_home && *sbcl_home) && embedded_core_offset == 0) {
char *envstring, *copied_core, *dir;
char *stem = "SBCL_HOME=";
copied_core = copied_string(core);
char *envstring, *copied_core, *dir;
char *stem = "SBCL_HOME=";
copied_core = copied_string(core);
@@
-376,7
+378,7
@@
main(int argc, char *argv[], char *envp[])
free(copied_core);
}
free(copied_core);
}
- if (!noinform) {
+ if (!noinform && embedded_core_offset == 0) {
print_banner();
fflush(stdout);
}
print_banner();
fflush(stdout);
}