It seems like that setting case preserving works only until another file is loaded
I have this two files which are a stripped down version of qi build files:
install.lsp
--------------------------------------------------------------------
(DEFUN TEST-CASE ()
(IF (EQ 'a 'A)
(FORMAT T "case is NOT preserved~%")
(FORMAT T "case is preserved~%")))
(SETF (READTABLE-CASE *READTABLE*) :PRESERVE)
(MAKE-PACKAGE "qi")
(COMPILE-FILE "features_load_1.lsp")
(LOAD "features_load_1")
--------------------------------------------------------------------
features_load_1.lsp
--------------------------------------------------------------------
(IN-PACKAGE :qi)
(CL-USER::TEST-CASE)
--------------------------------------------------------------------
By loading install.lsp I get this:
da@daxtron:~/Da/src/abcl-src-0.14.1$ ./abcl
Armed Bear Common Lisp 0.14.1
Java 1.6.0_0 Sun Microsystems Inc.
OpenJDK Server VM
Low-level initialization completed in 0.364 seconds.
Startup completed in 1.338 seconds.
Type ":help" for a list of available commands.
CL-USER(1): (LOAD "install.lsp")
; Compiling /home/da/Da/src/abcl-src-0.14.1/features_load_1.lsp ...
; (IN-PACKAGE :qi)
; Wrote /home/da/Da/src/abcl-src-0.14.1/features_load_1.abcl (0.032 seconds)
case is NOT preserved
T
CL-USER(2):
if I comment out the (IN-PACKAGE :qi) line in features_load_1.lsp I get the same result
btw, I have Ubuntu Intrepid