r10373: 2005-04-03 Kevin Rosenberg (kevin@rosenberg.net)
authorKevin M. Rosenberg <kevin@rosenberg.net>
Sun, 3 Apr 2005 23:58:11 +0000 (23:58 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Sun, 3 Apr 2005 23:58:11 +0000 (23:58 +0000)
        * src/objects.lisp: Commit patch from James Bielman to add
        def-foreign-var support for OpenMCL

ChangeLog
debian/changelog
src/objects.lisp

index 07551187fd717f0f4fe5c7284a0365a5f69e1dc7..4ca19bb9705d5f0a6c09ac90452f4d3865985dbb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2005-04-03 Kevin Rosenberg (kevin@rosenberg.net)
+       * src/objects.lisp: Commit patch from James Bielman to add
+       def-foreign-var support for OpenMCL
+       
 2005-03-03 Kevin Rosenberg (kevin@rosenberg.net)
        * src/primitives.lisp: Add support for :union types
        [patch from Cyrus Harmon]
index d20f5b0ea2dcf722320299cc429af3ba5e9be098..9098372b68387d3874e92e734b7ffa7ec3c9ce9a 100644 (file)
@@ -1,3 +1,9 @@
+cl-uffi (1.4.34-1) unstable; urgency=low
+
+  * New upstream
+
+ -- Kevin M. Rosenberg <kmr@debian.org>  Sun,  3 Apr 2005 17:55:49 -0600
+
 cl-uffi (1.4.33-1) unstable; urgency=low
 
   * New upstream
index 358763e41fc829c815845886a3e898dcf31bd733..1510d246ccb5a6a139bd6361dbd8e59ad1570afe 100644 (file)
@@ -238,9 +238,9 @@ an array of TYPE with size SIZE. The TYPE parameter is evaluated."
   `(let ((,binding-name ,pointer))
     ,@body))
 
-#-(or lispworks cmu scl sbcl allegro)
+#-(or lispworks cmu scl sbcl allegro openmcl)
 (defmacro with-cast-pointer ((binding-name pointer type) &body body)
-  (declare (ignore binding-name pointer type))
+  (declare (ignore binding-name pointer type body))
   '(error "WITH-CAST-POINTER not (yet) implemented for ~A"
           (lisp-implementation-type)))
 
@@ -266,7 +266,12 @@ an array of TYPE with size SIZE. The TYPE parameter is evaluated."
                                     :module ,module)
       (define-symbol-macro ,lisp-name (fli:dereference (,lisp-name)
                                                         :copy-foreign-object nil)))
-    #-(or allegro cmu scl sbcl lispworks)
+    #+(and openmcl darwinppc-target)
+    (setf foreign-name (concatenate 'string "_" foreign-name))
+    #+openmcl
+    `(define-symbol-macro ,lisp-name
+       (deref-pointer (ccl:foreign-symbol-address ,foreign-name) ,var-type))
+    #-(or allegro cmu scl sbcl lispworks openmcl)
     `(define-symbol-macro ,lisp-name
       '(error "DEF-FOREIGN-VAR not (yet) defined for ~A"
         (lisp-implementation-type)))))