Common subdirectories: chunga-0.4.0.orig/doc and chunga-0.4.0/doc diff -u chunga-0.4.0.orig/read.lisp chunga-0.4.0/read.lisp --- chunga-0.4.0.orig/read.lisp 2007-09-18 00:00:39.000000000 -0700 +++ chunga-0.4.0/read.lisp 2007-10-01 22:29:28.000000000 -0700 @@ -158,7 +158,7 @@ (unless (zerop (length (trim-whitespace line))) (let ((colon-pos (or (position #\: line :test #'char=) (error "Couldn't find colon in header line ~S." line)))) - (cons (intern (string-upcase (subseq line 0 colon-pos)) :keyword) + (cons (as-keyword (subseq line 0 colon-pos)) (trim-whitespace (subseq line (1+ colon-pos))))))) (add-header (pair) "Adds the name/value cons PAIR to HEADERS. Takes diff -u chunga-0.4.0.orig/util.lisp chunga-0.4.0/util.lisp --- chunga-0.4.0.orig/util.lisp 2007-01-01 15:39:36.000000000 -0800 +++ chunga-0.4.0/util.lisp 2007-10-01 22:16:16.000000000 -0700 @@ -43,3 +43,11 @@ (or (null mismatch) (= mismatch (- (length seq) (length suffix)))))) +(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))