From 010634515de14538c78c53d26c99d5de0f8d3593 Mon Sep 17 00:00:00 2001 From: "Kevin M. Rosenberg" Date: Wed, 12 May 2004 21:27:10 +0000 Subject: [PATCH] r9326: improve case conversion --- src/primitives.lisp | 15 +++++++++++++-- tests/.gitignore | 5 +++-- 2 files changed, 16 insertions(+), 4 deletions(-) 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 -- 2.34.1