Dear Blake,<br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Based on your input, I have been thinking more about making my<br>
interface case sensitive. It would be better. After doing a little<br>
research I tried:<br>
<br>
(setf (readtable-case *readtable*) :invert)<br>
<br>
This seems to have made all the standard stuff ("car, cons, etc.")<br>
lowercase as I'd prefer. After that I tried creating lists:<br>
<br>
(setq x '(HELLO There how))<br>
<br>
and the case seems to be preserved - not inverted.<br>
<br>
I also tried things like:<br>
<br>
(defun fun (x) (+ 1 x))<br>
(defun Fun (x) (+ 2 x))<br>
(defun FUN (x) (+ 3 x))<br>
<br>
And it worked as expected. I'm a bit confused. Why aren't symbols<br>
(as in '(HELLO There how)) inverted? (I understand that :invert<br>
doesn't change case on mixed case symbols but then all upper or all<br>
lower should be inverted.) Is *print-case* being affected?<br></blockquote><div><br></div><div>*print-case* isn't being affected, but (readtable-case *readtable*) affects printer output: in order to make expressions readable on printing, the printer inverts the reader behaviour on *print-readably*.</div>
<div><br></div><div>To see what's really being returned, see the following transcript:</div><div><br></div><div><div>CL-USER(1): (defvar rt (copy-readtable nil))</div><div>RT</div><div>CL-USER(2): (setf (readtable-case rt) :invert)</div>
<div>:INVERT</div><div>CL-USER(3): (let ((*readtable* rt)) (read-from-string "(a A aa aA AA)"))</div><div>(A |a| AA |aA| |aa|)</div></div><div><br></div><div>This way, the reader settings applied when printing the READ-FROM-STRING result are the default reader settings, while the expression is being read using the :INVERT readtable-case.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
At first test, it seems like :invert does exactly what most people<br>
want - case sensitive lisp that has system symbols all lower case.<br>
Are there instances in which this doesn't work? Will this affect<br>
lisp-java usage when it comes to case?<br>
<br>
Any pointers would be appreciated.<br></blockquote><div><br></div><div>See <a href="http://www.lispworks.com/documentation/HyperSpec/Body/22_accb.htm">http://www.lispworks.com/documentation/HyperSpec/Body/22_accb.htm</a> for the effects of READTABLE-CASE on the Lisp printer. You already knew about the effect of READTABLE-CASE on the lisp reader (<a href="http://www.lispworks.com/documentation/HyperSpec/Body/23_ab.htm">http://www.lispworks.com/documentation/HyperSpec/Body/23_ab.htm</a>).</div>
<div><br></div><div>Hope that helps!</div><div><br></div><div>Regards,</div><div><br></div><div>Erik. </div></div><br>