0.7.11.2:
[sbcl.git] / src / runtime / runtime.c
index aa54b85..0307d05 100644 (file)
@@ -40,9 +40,6 @@
 #include "interr.h"
 #include "monitor.h"
 #include "validate.h"
 #include "interr.h"
 #include "monitor.h"
 #include "validate.h"
-#if defined GENCGC
-#include "gencgc.h"
-#endif
 #include "core.h"
 #include "save.h"
 #include "lispregs.h"
 #include "core.h"
 #include "save.h"
 #include "lispregs.h"
@@ -151,10 +148,10 @@ main(int argc, char *argv[], char *envp[])
                    lose("more than one core file specified");
                } else {
                    ++argi;
                    lose("more than one core file specified");
                } else {
                    ++argi;
-                   core = copied_string(argv[argi]);
                    if (argi >= argc) {
                        lose("missing filename for --core argument");
                    }
                    if (argi >= argc) {
                        lose("missing filename for --core argument");
                    }
+                   core = copied_string(argv[argi]);
                    ++argi;
                }
            } else if (0 == strcmp(arg, "--end-runtime-options")) {
                    ++argi;
                }
            } else if (0 == strcmp(arg, "--end-runtime-options")) {
@@ -198,15 +195,19 @@ main(int argc, char *argv[], char *envp[])
        char *sbcl_home = getenv("SBCL_HOME");
        if (sbcl_home) {
            char *lookhere;
        char *sbcl_home = getenv("SBCL_HOME");
        if (sbcl_home) {
            char *lookhere;
-           lookhere = (char *) calloc(strlen("/sbcl.core") + strlen(sbcl_home) + 1,
-                                       sizeof(char));
-           sprintf(lookhere, "%s/sbcl.core", sbcl_home);
+           char *stem = "/sbcl.core";
+           lookhere = (char *) calloc(strlen(sbcl_home) +
+                                      strlen(stem) +
+                                      1,
+                                      sizeof(char));
+           sprintf(lookhere, "%s%s", sbcl_home, stem);
            core = copied_existing_filename_or_null(lookhere);
            free(lookhere);
        } else {
            core = copied_existing_filename_or_null("/usr/lib/sbcl.core");
            if (!core) {
            core = copied_existing_filename_or_null(lookhere);
            free(lookhere);
        } else {
            core = copied_existing_filename_or_null("/usr/lib/sbcl.core");
            if (!core) {
-               core = copied_existing_filename_or_null("/usr/local/lib/sbcl.core");
+               core =
+                   copied_existing_filename_or_null("/usr/local/lib/sbcl.core");
            }
        }
        if (!core) {
            }
        }
        if (!core) {
@@ -216,7 +217,7 @@ main(int argc, char *argv[], char *envp[])
 
     if (!noinform) {
        printf(
 
     if (!noinform) {
        printf(
-"This is SBCL " SBCL_VERSION_STRING ", an implementation of ANSI Common Lisp.\n\
+"This is SBCL %s, an implementation of ANSI Common Lisp.\n\
 \n\
 SBCL is derived from the CMU CL system created at Carnegie Mellon University.\n\
 Besides software and documentation originally created at Carnegie Mellon\n\
 \n\
 SBCL is derived from the CMU CL system created at Carnegie Mellon University.\n\
 Besides software and documentation originally created at Carnegie Mellon\n\
@@ -233,8 +234,8 @@ It is mostly in the public domain, but also includes some software copyrighted\n
 used under BSD-style licenses allowing copying only under certain conditions.\n\
 See the COPYING file in the distribution for more information.\n\
 \n\
 used under BSD-style licenses allowing copying only under certain conditions.\n\
 See the COPYING file in the distribution for more information.\n\
 \n\
-More information on SBCL is available at <http://sbcl.sourceforge.net/>.\n\
-");
+More information about SBCL is available at <http://sbcl.sourceforge.net/>.\n\
+", SBCL_VERSION_STRING);
        fflush(stdout);
     }
 
        fflush(stdout);
     }
 
@@ -250,11 +251,6 @@ More information on SBCL is available at <http://sbcl.sourceforge.net/>.\n\
 
     set_lossage_handler(monitor_or_something);
 
 
     set_lossage_handler(monitor_or_something);
 
-#if 0
-    os_init();
-    gc_init();
-    validate();
-#endif
     globals_init();
 
     initial_function = load_core_file(core);
     globals_init();
 
     initial_function = load_core_file(core);
@@ -264,17 +260,11 @@ More information on SBCL is available at <http://sbcl.sourceforge.net/>.\n\
     SHOW("freeing core");
     free(core);
 
     SHOW("freeing core");
     free(core);
 
-#if defined GENCGC
-    gencgc_pickup_dynamic();
-#else
-#endif
+    gc_initialize_pointers();
 
 #ifdef BINDING_STACK_POINTER
     SetSymbolValue(BINDING_STACK_POINTER, BINDING_STACK_START);
 #endif
 
 #ifdef BINDING_STACK_POINTER
     SetSymbolValue(BINDING_STACK_POINTER, BINDING_STACK_START);
 #endif
-#if defined INTERNAL_GC_TRIGGER && !defined __i386__
-    SetSymbolValue(INTERNAL_GC_TRIGGER, make_fixnum(-1));
-#endif
 
     interrupt_init();
 
 
     interrupt_init();