r10588: better support for lispworks variance on derefing
authorKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 8 Jun 2005 22:36:29 +0000 (22:36 +0000)
committerKevin M. Rosenberg <kevin@rosenberg.net>
Wed, 8 Jun 2005 22:36:29 +0000 (22:36 +0000)
ChangeLog
src/objects.lisp
tests/time.lisp

index 8e59a1723cf2aa7bfe7559c5ba9b73cceb06bbdd..7440425a2f9dd60bc592580d83d83a59a56d91c1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,6 @@
 2005-06-09 Kevin Rosenberg (kevin@rosenberg.net)
        * tests/objects.lisp: Rename from pointers.lisp. 
-       Fix test CHPTR.4 as noted by Joerg Hoehle
+       Fix test CHPTR.4 as noted by Jorg Hohle
        * src/objects.lisp: Remove default from ensure-char-integer
        
 2005-06-09 Kevin Rosenberg (kevin@rosenberg.net)
@@ -9,10 +9,9 @@
        allow plain filename library names to allow underlying
        lisp implementation to find foreign libraries in the
        locations known to the operating system.
-       * tests/cast.lisp: Add :module keyword as noted by
-       Joerg Hoehle.
+       * tests/cast.lisp: Add :module keyword as noted by Jorg Hohle.
        * src/strings.lisp: Avoid multiple evaluation of input
-       parameters for macros as noted by Joerg Hoele.
+       parameters for macros as noted by Jorg Hohle.
        
 2005-04-12 Kevin Rosenberg (kevin@rosenberg.net)
        * Version 1.4.37
index e9a2024112ec409b26c136a3deda65020ba8ca16..cdd3882296bdf1b9bd86269a2af63980a20ec838 100644 (file)
@@ -137,7 +137,11 @@ an array of TYPE with size SIZE. The TYPE parameter is evaluated."
   
 (defmacro ensure-char-integer (obj)
   #+(or (and mcl (not openmcl))) `(char-code ,obj)
-  #+(or allegro cmu sbcl scl openmcl) obj)
+  #+(or allegro cmu sbcl scl openmcl) obj
+  #+lispworks
+  ;; lispworks varies whether deref'ing array vs. slot access of a char
+  #+lispworks
+  `(if (integerp ,obj) ,obj (char-code ,obj)))
 
 (defmacro ensure-char-storable (obj)
   #+(or lispworks (and mcl (not openmcl))) obj
index 25a876fbfd96e613de36de24f08f28df1c48afb1..89382a86a1efca4345c04a6bed19eaa063ae8222 100644 (file)
@@ -36,7 +36,7 @@
 
 (uffi:def-function "gmtime"
     ((time (* time-t)))
-  :returning (* tm))
+  :returning (:struct-pointer tm))
 
 (uffi:def-function "asctime"
     ((time (:struct-pointer tm)))