0.pre8.5:
[sbcl.git] / src / pcl / fast-init.lisp
index fbd507d..3974044 100644 (file)
@@ -43,7 +43,7 @@
 
 (defun expand-make-instance-form (form)
   (let ((class (cadr form)) (initargs (cddr form))
-       (keys nil)(allow-other-keys-p nil) key value)
+       (keys nil) (allow-other-keys-p nil) key value)
     (when (and (constant-symbol-p class)
               (let ((initargs-tail initargs))
                 (loop (when (null initargs-tail) (return t))
          ;;   1. Don't worry, I know what I'm doing.
          ;;   2. You and what army?
          ;;   3. If you were as smart as you think you are, you
-         ;;      wouldn't be a copy.
+         ;;      wouldn't be a cop.
          ;; This is case #1.:-) Even if SYM hasn't been defined yet,
          ;; it must be an implementation function, or we we wouldn't
          ;; have expanded into it. So declare SYM as defined, so that
          ;; even if it hasn't been defined yet, the user doesn't get
          ;; obscure warnings about undefined internal implementation
          ;; functions like HAIRY-MAKE-instance-name.
-         (sb-kernel:become-defined-fun-name sym)
+         (become-defined-fun-name sym)
          `(,sym ',class (list ,@initargs)))))))
 
 (defmacro expanding-make-instance-toplevel (&rest forms &environment env)
                (*print-case* :upcase)
                (*print-pretty* nil))
            (intern (format nil
-                           "MAKE-INSTANCE ~S ~S ~S"
-                           class-name
+                           "MAKE-INSTANCE ~A::~A ~S ~S"
+                           (package-name (symbol-package class-name))
+                           (symbol-name class-name)
                            keys
                            allow-other-keys-p))))))))
 
                                      initialize-instance-methods)))))
       (lambda (class1 initargs)
        (if (not (eq wrapper (class-wrapper class)))
-           (let* ((info (initialize-info class1 initargs))
+           (let* ((info (initialize-info (coerce-to-class class1) initargs))
                   (fn (initialize-info-make-instance-function info)))
              (declare (type function fn))
              (funcall fn class1 initargs))
             (list wrapper *the-wrapper-of-t*))))
       (lambda (class1 initargs)
        (if (not (eq wrapper (class-wrapper class)))
-           (let* ((info (initialize-info class1 initargs))
+           (let* ((info (initialize-info (coerce-to-class class1) initargs))
                   (fn (initialize-info-make-instance-function info)))
              (declare (type function fn))
              (funcall fn class1 initargs))