Hi!
Sorry, I didn't get what you meant :) Anyway, the quesion is still open if the change suggested would break someone's things, so I hope it is not a big harm to give more details.
And I had to update my proposal due to your questions - now it has even more details :) Link follows:
https://bitbucket.org/budden/clcon/src/9b3ecf3dce35a6978c57352dfc54f4a1653ac...
2017-08-17 1:31 GMT+03:00, Luís Oliveira luismbo@gmail.com:
On Sun, Aug 13, 2017 at 9:33 PM, 73budden . budden73@gmail.com wrote:
Here is a more detailed description of my suggested solution
I was looking for an executive summary rather than more detail. :-)
In any case, your proposal generally makes sense to me. I have a question though: what should happen in the REPL? Following the spirit of your solution, it seems like we should have a new change-readtable operation.
I suggest to keep (in-readtable), but it does not touch *readtable-alist* for a packages or readtables from an exclusion list. More important, (in-package) for those packages won't change *readtable* anymore. So no new operation is required.
But current behavior is a violation of standard. I remember when I suggested this change last time, I faced some objections from SLIME users, but IMO
How should we represent the current readtable visually?
Also, it seems like it might be useful to have some concept of default readtable for a given package: perhaps there's still a use for *readtable-alist* after all?
I don't think so, there is no concept of default readtable for the package in the standard, so the user would have to change a readtable explicitly. I understand it is inconvenient. So right thing might be the following:
1. Add (swank:in-package-and-readtable :package) form which would take the readtable from *readtable-alist* 2. Learn SLIME to recognise this form in editor files like it recognizes in-package now.
The only disadvantage here is a confusion which can originate from interaction of *readtable-alist* and exclusion list. With my current suggestion, we can keep *readtable-alist* and exclusion list disjoint. If we introduce the concept of default readtable for package, *readtable-alist* now serves for two goals and this is not that clear.
How should we represent the current readtable visually?
It would be nice to show it on a toolbar for editor buffers, but for REPL I think it is not hard to enter *readtable* and press return :) After all, currently we also can't see the readtable.
-- Luís Oliveira http://kerno.org/~luis/