From 6bccb555fe8dce4f5729cecde65cd0e8bd076ec2 Mon Sep 17 00:00:00 2001 From: "Kevin M. Rosenberg" Date: Mon, 14 Aug 2006 04:09:20 +0000 Subject: [PATCH] r11020: port for LW5 --- src/objects.lisp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/objects.lisp b/src/objects.lisp index 0e327f0..1c4983c 100644 --- a/src/objects.lisp +++ b/src/objects.lisp @@ -139,8 +139,9 @@ an array of TYPE with size SIZE. The TYPE parameter is evaluated." `(if (integerp ,obj) ,obj (char-code ,obj))) (defmacro ensure-char-storable (obj) - #+(or lispworks digitool) obj - #+(or allegro cmu sbcl scl openmcl) `(char-code ,obj)) + #+(or digitool (and lispworks (not lispworks5))) obj + #+(or allegro cmu lispworks5 openmcl sbcl scl) + `(char-code ,obj)) (defmacro pointer-address (obj) #+(or cmu scl) @@ -248,12 +249,20 @@ an array of TYPE with size SIZE. The TYPE parameter is evaluated." #+(or macosx darwinppc-target) (concatenate 'string "_" name) #-(or macosx darwinppc-target) name) +;; unchanged from main primitives.lisp +(defun make-lisp-name (name) + (let ((converted (substitute #\- #\_ name))) + (intern + #+uffi-case-sensitive converted + #+(and (not uffi-lowercase-reader) (not uffi-case-sensitive)) (string-upcase converted) + #+(and uffi-lowercase-reader (not uffi-case-sensitive)) (string-downcase converted)))) + (defmacro def-foreign-var (names type module) #-lispworks (declare (ignore module)) (let ((foreign-name (if (atom names) names (first names))) (lisp-name (if (atom names) (make-lisp-name names) (second names))) #-allegro - (var-type (convert-from-uffi-type type :type))) + (var-type (convert-uffi-type type :type))) #+(or cmu scl) `(alien:def-alien-variable (,foreign-name ,lisp-name) ,var-type) #+sbcl -- 2.34.1