From 4b3d6378e1c9ea38fa2eeced4f9f2dfbe41e3a64 Mon Sep 17 00:00:00 2001 From: Kevin Rosenberg Date: Mon, 8 Feb 2010 10:49:58 -0700 Subject: [PATCH] Version 1.8.4: Impoved detection of long-long type for CMUCL --- ChangeLog | 10 +++++++++- debian/changelog | 6 ++++++ src/i18n.lisp | 9 +++------ src/primitives.lisp | 6 ++++++ 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4fba654..e9efbda 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,14 @@ +2010-02-08 Kevin Rosenberg + * Version 1.8.4 + * sql/primitives.lisp: Improved detection for + availability of long-long integer for CMU. + (Thanks to Stelian Ionescu) + * sql/i18n.lisp: Changes in how ignored variables + are declared (Stelian Ionescu) + 2010-02-08 Kevin Rosenberg * Version 1.8.3 - * sql/strings.liap: Commit patch from Stelian Ionescu + * sql/strings.liap: Commit patch from with fixes for recent changes with i18n as well as reworking how ignored variables are declared. diff --git a/debian/changelog b/debian/changelog index 22cb98e..93ea97a 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +cl-uffi (1.8.4-1) unstable; urgency=low + + * New upstream + + -- Kevin M. Rosenberg Mon, 08 Feb 2010 10:47:27 -0700 + cl-uffi (1.8.3-1) unstable; urgency=low * New upstream diff --git a/src/i18n.lisp b/src/i18n.lisp index 1f2bb1a..1d6a485 100644 --- a/src/i18n.lisp +++ b/src/i18n.lisp @@ -60,8 +60,7 @@ encoding.") (defmacro string-to-octets (str &key (encoding *default-foreign-encoding*)) "Converts a Lisp string to a vector of octets." - #-(or allegro lispworks openmcl sbcl) - (declare (ignore encoding)) + (declare (ignorable encoding)) #-(or allegro lispworks openmcl sbcl) (map-into (make-array (length str) :element-type '(unsigned-byte 8)) #'char-code str) @@ -99,8 +98,7 @@ encoding.") (defmacro octets-to-string (octets &key (encoding *default-foreign-encoding*)) "Converts a vector of octets to a Lisp string." - #-(or allegro lispworks openmcl sbcl) - (declare (ignore encoding)) + (declare (ignorable encoding)) #-(or allegro lispworks openmcl sbcl) (let ((out (gensym "OUT-")) (code (gensym "CODE-"))) @@ -144,6 +142,7 @@ encoding.") (defun foreign-encoded-octet-count (str &key (encoding *default-foreign-encoding*)) "Returns the octets required to represent the string when passed to a ~ foreign function." + (declare (ignorable encoding)) ;; AllegroCL 8-bit, CCL, and Lispworks give correct value without converting ;; to external-format. AllegroCL 16-bit, SBCL, and CLISP requires conversion ;; with external-format @@ -151,8 +150,6 @@ foreign function." #+(or (and allegro ics) (and sbcl sb-unicode) (and clisp i18n)) (length (string-to-octets str :encoding encoding)) - #-(or (and allegro ics) (and sbcl sb-unicode) (and clisp i18n)) - (declare (ignore encoding)) #-(or (and allegro ics) (and sbcl sb-unicode) (and clisp i18n)) (length str) diff --git a/src/primitives.lisp b/src/primitives.lisp index 66a0a7c..b7c0283 100644 --- a/src/primitives.lisp +++ b/src/primitives.lisp @@ -141,7 +141,13 @@ supports takes advantage of this optimization." (:unsigned-short . c-call:unsigned-short) (:int . alien:integer) (:unsigned-int . c-call:unsigned-int) (:long . c-call:long) (:unsigned-long . c-call:unsigned-long) + #+#.(cl:if (cl:find-symbol (cl:string '#:long-long) + (cl:string '#:c-call)) + '(and) '(or)) (:long-long . c-call:long-long) + #+#.(cl:if (cl:find-symbol (cl:string '#:unsigned-long-long) + (cl:string '#:c-call)) + '(and) '(or)) (:unsigned-long-long . c-call:unsigned-long-long) (:float . c-call:float) (:double . c-call:double) (:array . alien:array))) -- 2.34.1