cleanup #'delete-object & optimize #'constructor-name.
src/clos.lisp
Fri Feb 19 22:22:50 CET 2010 Tobias Rautenkranz <tobias@rautenkranz.ch>
* cleanup #'delete-object & optimize #'constructor-name.
--- old-smoke/src/clos.lisp 2014-10-30 08:06:20.000000000 +0100
+++ new-smoke/src/clos.lisp 2014-10-30 08:06:20.000000000 +0100
@@ -452,10 +452,12 @@
;; The constructor name is the name of the class minus any namespace parts.
(defun constructor-name (class)
- (let ((name-start (search "::" (name class) :from-end t)))
+ (declare (optimize (speed 3)))
+ (let* ((name (the simple-string (name class)))
+ (name-start (search "::" name :from-end t)))
(if name-start
- (subseq (name class) (+ name-start 2))
- (name class))))
+ (subseq name (+ name-start 2))
+ name)))
(defun call-constructor (class arguments)
(multiple-value-bind (method sequence)