X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=src%2Fprimitives.lisp;h=fbfc120c2d732625e8f7e820ed14ea3d0652628f;hb=1330decaa5c85fe9eda4f8933269e2dbaae2f7a7;hp=26737bdce30205db01bcb2bee0eab4a6fa27ff67;hpb=ac9eafca18c6a684c2a7ed3c353c5eeac3456849;p=uffi.git diff --git a/src/primitives.lisp b/src/primitives.lisp index 26737bd..fbfc120 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= (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*)))