r8844: laptop updates
authorKevin M. Rosenberg <kevin@rosenberg.net>
Tue, 6 Apr 2004 21:41:19 +0000 (21:41 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Tue, 6 Apr 2004 21:41:19 +0000 (21:41 +0000)
macros.lisp
mop.lisp
package.lisp

index 46894ba..9b6150a 100644 (file)
         (defun ,release-name (instance)
           (kmrcl::with-lock-held (,lock-name)
             (push instance ,cache-name))))))
+
+(defmacro with-ignore-errors (&rest forms)
+  `(progn
+     ,@(mapcar
+       (lambda (x) (list 'ignore-errors x))
+       forms)))
index 82fcb47..8decec5 100644 (file)
--- a/mop.lisp
+++ b/mop.lisp
 (defun intern-eql-specializer (slot)
   `(eql ,slot))
 
-  (defmacro process-class-option (metaclass slot-name &optional required)
-    #+lispworks
-    `(defmethod clos:process-a-class-option ((class ,metaclass)
-                                            (name (eql ,slot-name))
-                                            value)
-      (when (and ,required (null value))
-       (error "metaclass ~A class slot ~A must have a value" (quote ,metaclass) name))
-      (list name `',value))
-    #-lispworks
-    (declare (ignore metaclass slot-name required))
-    )
+(defmacro process-class-option (metaclass slot-name &optional required)
+  #+lispworks
+  `(defmethod clos:process-a-class-option ((class ,metaclass)
+                                          (name (eql ,slot-name))
+                                          value)
+    (when (and ,required (null value))
+      (error "metaclass ~A class slot ~A must have a value" (quote ,metaclass) name))
+    (list name `',value))
+  #-lispworks
+  (declare (ignore metaclass slot-name required))
+  )
 
-  (defmacro process-slot-option (metaclass slot-name)
-    #+lispworks
-    `(defmethod clos:process-a-slot-option ((class ,metaclass)
-                                           (option (eql ,slot-name))
-                                           value
-                                           already-processed-options
-                                           slot)
-      (list* option `',value already-processed-options))
-    #-lispworks
-    (declare (ignore metaclass slot-name))
-    )
+(defmacro process-slot-option (metaclass slot-name)
+  #+lispworks
+  `(defmethod clos:process-a-slot-option ((class ,metaclass)
+                                         (option (eql ,slot-name))
+                                         value
+                                         already-processed-options
+                                         slot)
+    (list* option `',value already-processed-options))
+  #-lispworks
+  (declare (ignore metaclass slot-name))
+  )
 
 
 (eval-when (:compile-toplevel :load-toplevel :execute)
index 60df299..9e61ef6 100644 (file)
    #:deflex
    #:def-cached-vector
    #:def-cached-instance
+   #:with-ignore-errors
    
    ;; files.lisp
    #:print-file-contents