Common subdirectories: drakma-0.11.0.orig/doc and drakma-0.11.0/doc diff -u drakma-0.11.0.orig/request.lisp drakma-0.11.0/request.lisp --- drakma-0.11.0.orig/request.lisp 2007-10-01 01:04:04.000000000 -0700 +++ drakma-0.11.0/request.lisp 2007-10-01 22:25:25.000000000 -0700 @@ -50,8 +50,7 @@ '("identity") :test #'equalp))) (let* ((charset (parameter-value "charset" params)) - (name (cond (charset (intern (string-upcase charset) - :keyword)) + (name (cond (charset (as-keyword charset)) (t external-format-in)))) (make-external-format name :eol-style :lf))))) (error (condition) diff -u drakma-0.11.0.orig/util.lisp drakma-0.11.0/util.lisp --- drakma-0.11.0.orig/util.lisp 2007-10-01 01:04:04.000000000 -0700 +++ drakma-0.11.0/util.lisp 2007-10-01 22:20:11.000000000 -0700 @@ -272,4 +272,14 @@ thereis (and (or (null candidate-type) (string-equal type candidate-type)) (or (null candidate-subtype) - (string-equal subtype candidate-subtype))))) \ No newline at end of file + (string-equal subtype candidate-subtype))))) + +(defun as-keyword (str) + "Converts a string to a keyword taking into account the readtable-case." + (intern (funcall + (if (eq (readtable-case *readtable*) :upcase) + #'string-upcase + #'string-downcase) + str) + :keyword)) +