(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))