r8940: change db closing
[clsql.git] / base / utils.lisp
index 57e3e26fb5f0559de0c2a43e3e447adbd0c5b216..98ada92fca4932c6658100063ca9d59d78d2f623 100644 (file)
@@ -213,3 +213,21 @@ returns (VALUES string-output error-output exit-status)"
     (error "COMMAND-OUTPUT not implemented for this Lisp")
 
     ))
+
+(eval-when (:compile-toplevel :load-toplevel :execute)
+  (when (char= #\a (schar (symbol-name '#:a) 0))
+    (pushnew :lowercase-reader *features*)))
+
+(defun string-default-case (str)
+  #-lowercase-reader
+  (string-upcase str)
+  #+lowercase-reader
+  (string-downcase str))
+
+;; From KMRCL
+(defun ensure-keyword (name)
+  "Returns keyword for a name"
+  (etypecase name
+    (keyword name)
+    (string (nth-value 0 (intern (string-default-case name) :keyword)))
+    (symbol (nth-value 0 (intern (symbol-name name) :keyword)))))