<div dir="ltr"><div><div><div>I'm not sure that i  remember the specific problem that you're referring to.<br><br></div>In CCL, many special variables (including those that affect the reader and printer have thread-local bindings.)  I understand that this may not be what one wants in every case , but if your code is intentionally creating threads, having the value of e.g. *readtable* change in all threads becausee of something done in one thread can be undesirable and hard to track down and debug, and I think that there is at least a strong argument that CCL's behavior in this case is a reasonable default.<br><br></div>I  don't like or use SLME and I don't know if its behavior has changed since the last time that I tried to, but when I did I found that the default behavior of editor commands which try to read a selection from an editor buffer and execute the expression that was read is to execute that expression in a newly created thread (with a new set of dynamic bindings)  I can't think of any way in which this behavor can be callled reasonable.)<br><br></div>If I ever knew how to override this behavior, I've long since forgotten.  I understand that many people might find my solution - avoiding SLIME - a bit drastic, but I I don't exactly miss SLIME.<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 4, 2015 at 11:32 PM, Robert Cram <span dir="ltr"><<a href="mailto:robert@robertcramconstruction.com" target="_blank">robert@robertcramconstruction.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">I realize that this is an old thread, but the issue just came up for me.  Perhaps it was answered or solved later, but I didn’t find so.<div><br></div><div>A fix of some sort, in some versions of Clozure and emacs/slime, is this line:</div><div><br></div><div><div style="margin:0px;font-size:11px;font-family:Menlo">(setf clsql-sys::*original-readtable* nil)</div><div style="margin:0px;font-size:11px;font-family:Menlo"><br></div><div style="margin:0px;font-size:11px;font-family:Menlo">which resets the clsql readtable caching mechanism, which is unaware of the slime/mcl/ccl thread-specific readtable issue.</div><div style="margin:0px;font-size:11px;font-family:Menlo"><br></div><div style="margin:0px;font-size:11px;font-family:Menlo">Used like this:</div><div style="margin:0px;font-size:11px;font-family:Menlo"><br></div><div style="margin:0px;font-size:11px;font-family:Menlo">;; Reset the mechanism.</div><div style="margin:0px;font-size:11px;font-family:Menlo"><div style="margin:0px">(setf clsql-sys::*original-readtable* nil)</div><div><br></div><div>;; Alter the read table.</div><div>(clsql::enable-sql-reader-syntax)</div></div><div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(215,57,30)"><span style="color:rgb(0,0,0)"><br></span></div><div style="margin:0px;font-size:11px;font-family:Menlo;color:rgb(215,57,30)"><span style="color:rgb(0,0,0)">;; Do whatever special syntax stuff you need to do:</span></div><div style="margin:0px;font-size:11px;font-family:Menlo"><span style="color:rgb(0,0,0)">(</span><span style="color:rgb(208,60,255)">defun</span><span style="color:rgb(0,0,0)"> </span><font color="#5e34ff">blah </font><span style="color:rgb(0,0,0)">(blah)</span></div><div style="margin:0px;font-size:11px;font-family:Menlo">  (clsql::select ‘blah</div><div style="margin:0px;font-size:11px;font-family:Menlo">                 <span style="color:#ef76ee">:where</span> [= [ ‘blah ‘blah]</div><div style="margin:0px;font-size:11px;font-family:Menlo">                 blah])</div><div style="margin:0px;font-size:11px;font-family:Menlo">  )</div><div>;; Disable the syntax….</div><div><br></div><div>The point is that killing the cache needs to happen in the same evaluation as the code with the special syntax.</div><div><br></div><div>I make no claim except that the original error goes away.</div><div><br></div><div><br></div><div>
<div>Bob Cram</div><div>Robert Cram Construction</div><div><a href="http://www.robertcramconstruction.com" target="_blank">www.robertcramconstruction.com</a></div><div><a href="tel:415-613-8319" value="+14156138319" target="_blank">415-613-8319</a></div><div><a href="mailto:robert@robertcramconstruction.com" target="_blank">robert@robertcramconstruction.com</a></div><div>CA LIC 965300</div>

</div>
<br></div></div><br>_______________________________________________<br>
Openmcl-devel mailing list<br>
<a href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a><br>
<a href="https://lists.clozure.com/mailman/listinfo/openmcl-devel" target="_blank">https://lists.clozure.com/mailman/listinfo/openmcl-devel</a><br>
<br></blockquote></div><br></div>