Hi! I think begun to lose the point in the discussion :)
It is SLIME-specific problem. I hope I have already described the problem in previous posts. E.g. you type in SLIME: ... Of course, we can not say it is completely unpredictible, but is rather hard to predict sometimes.
OK, I see, if does seem to be SLIME-specific so it shouldn't affect my implementation.
My English not so good, but I guess "if" means "it". If so, what does "it" mean? Anomaly I described is SLIME specific, but SLY is close to SLIME, isn't it? (in-readtable) modifies *readtable-alist*, you don't ignore *readtable-alist*. So if you type the same sequence in SLY, I think you'll get the same unexpected readtable change behind the scenes.
Solution I suggested is to add new "in-readtbl" form in addition to "in-readtable". And lock *readtable-alist* from changes somehow. I don't know how we implement locking *readtable-alist* without patching named-readtables. Patching named-readtables is out of our authority, but I believe we need to consider it (maybe apply a patch) if we want that the entire system would work well.