From: Kevin M. Rosenberg Date: Wed, 12 May 2004 21:27:10 +0000 (+0000) Subject: r9326: improve case conversion X-Git-Tag: v1.6.1~109 X-Git-Url: http://git.kpe.io/?p=uffi.git;a=commitdiff_plain;h=010634515de14538c78c53d26c99d5de0f8d3593 r9326: improve case conversion --- diff --git a/src/primitives.lisp b/src/primitives.lisp index 26737bd..17eb941 100644 --- a/src/primitives.lisp +++ b/src/primitives.lisp @@ -295,9 +295,20 @@ supports takes advantage of this optimization." ((and (eq (car result) :pointer) (eq context :allocation) :pointer)) (t result)))) +(eval-when (:compile-toplevel :load-toplevel :execute) + (when (char= #\a (schar (symbol-name '#:a) 0)) + (pushnew :uffi-lowercase-reader *features*)) + (when (not (string-equal (symbol-name '#:a) + (symbol-name '#:A))) + (pushnew :uffi-case-sensitive *features*))) (defun make-lisp-name (name) (let ((converted (substitute #\- #\_ name))) (intern - #+case-sensitive converted - #-case-sensitive (string-upcase converted)))) + #+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)))) + +(eval-when (:compile-toplevel :load-toplevel :execute) + (setq cl:*features* (delete :uffi-lowercase-reader *features*)) + (setq cl:*features* (delete :uffi-case-sensitive *features*))) diff --git a/tests/.gitignore b/tests/.gitignore index e6e3933..2008a30 100644 --- a/tests/.gitignore +++ b/tests/.gitignore @@ -1,5 +1,6 @@ -c-test-fns.lib +tesc-test-fns.lib c-test-fns.dll c-test-fns.dylib z.dylib - +.bin +uffi-c-test.so