X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=base%2Futils.lisp;h=98ada92fca4932c6658100063ca9d59d78d2f623;hb=2c14c425a4a203e03b74b868fdf727ea0d48572a;hp=57e3e26fb5f0559de0c2a43e3e447adbd0c5b216;hpb=2ae9ee745ff9e17806178e1999b880acc64ab894;p=clsql.git diff --git a/base/utils.lisp b/base/utils.lisp index 57e3e26..98ada92 100644 --- a/base/utils.lisp +++ b/base/utils.lisp @@ -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)))))