Update of /project/cl-store/cvsroot/cl-store/clisp In directory common-lisp.net:/tmp/cvs-serv9569/clisp
Modified Files: fix-clisp.lisp Added Files: .cvsignore Log Message: Changelog 2004-07-29
Date: Tue Aug 17 04:12:42 2004 Author: sross
Index: cl-store/clisp/fix-clisp.lisp diff -u cl-store/clisp/fix-clisp.lisp:1.2 cl-store/clisp/fix-clisp.lisp:1.3 --- cl-store/clisp/fix-clisp.lisp:1.2 Fri May 21 07:14:41 2004 +++ cl-store/clisp/fix-clisp.lisp Tue Aug 17 04:12:42 2004 @@ -2,6 +2,8 @@ ;; See the file LICENCE for licence information.
(in-package :cl-store) +(declaim (optimize (speed 3) (safety 0) (debug 0))) + ;; this is such a pain.
(defgeneric slot-definition-name (slot)) @@ -11,7 +13,9 @@ (aref slot 0))
(defmethod slot-definition-allocation ((slot vector)) - (aref slot 4)) + (if (keywordp (aref slot 4)) + :instance + :class))
(defun compute-slots (class) @@ -48,17 +52,17 @@
(defun add-methods-for-class (class vals) (let ((readers (mappend #'(lambda (x) - (second (member :readers x))) - vals)) + (second (member :readers x))) + vals)) (writers (mappend #'(lambda (x) (second (member :writers x))) vals))) (loop for x in readers do - (eval `(defmethod ,x ((clos::object ,class)) - (slot-value clos::object ',x)))) + (eval `(defmethod ,x ((clos::object ,class)) + (slot-value clos::object ',x)))) (loop for x in writers do - (eval `(defmethod ,x (clos::new-value (clos::object ,class)) - (setf (slot-value clos::object ',x) clos::new-value)))) + (eval `(defmethod ,x (clos::new-value (clos::object ,class)) + (setf (slot-value clos::object ',x) clos::new-value)))) (find-class class)))
-;; EOF +;; EOF \ No newline at end of file