0.8.0.5:
[sbcl.git] / src / cold / chill.lisp
index 7158435..9878c7e 100644 (file)
@@ -1,6 +1,6 @@
-;;;; This file is not used cold load time. Instead, it can be loaded
-;;;; into an initialized SBCL to get it into a nostalgic frame of
-;;;; mind, remembering the way things were in cold init, so that it
+;;;; This file is not used at cold load time. Instead, it can be
+;;;; loaded into an initialized SBCL to get it into a nostalgic frame
+;;;; of mind, remembering the way things were in cold init, so that it
 ;;;; can READ code which is ordinarily read only when bootstrapping.
 ;;;; (This can be useful when debugging the system, since the debugger
 ;;;; likes to be able to read the source for the code. It can also be
@@ -20,7 +20,7 @@
 (in-package "SB-COLD")
 
 ;;; We need the #! readtable modifications.
-(load "src/cold/shebang.lisp")
+(load (merge-pathnames "shebang.lisp" *load-truename*))
 
 ;;; #!+ and #!- now refer to *FEATURES* values (as opposed to the way
 ;;; that they referred to special target-only *SHEBANG-FEATURES* values
@@ -40,7 +40,8 @@
        (nicknames (package-nicknames package))
        (warm-name-prefix "SB-")
        (cold-name-prefix "SB!"))
-    (when (string= name warm-name-prefix :end1 (length warm-name-prefix))
+    (when (and (> (length name) (length warm-name-prefix))
+              (string= name warm-name-prefix :end1 (length warm-name-prefix)))
       (let* ((stem (subseq name (length cold-name-prefix)))
             (cold-name (concatenate 'simple-string cold-name-prefix stem)))
        (rename-package package name (cons cold-name nicknames))))))