Kenny Tilton wrote:
<snip> How does LTk end up with a symbol in the same package based on what the user is doing to the field?
My guess is that Tk sends two messages, one delete, one insert, and that some different codebranch is (a) reached because of the unusual circumstances and (b) does something funny with *package*.
This fixes the probelm (I disabled the local binding of *package* to Ltk):
(defun read-wish() (let ((*read-eval* nil) #+not (*package* (find-package :ltk))) (ukt:trc "read-wish" *package*) (read (wish-stream *wish*) nil nil)))
Why was the package being forced to LTk, and for only some of the reads?
ken