SLIME + Named readtables

73budden . budden73 at
Fri Aug 18 12:03:51 UTC 2017


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:

2017-08-17 1:31 GMT+03:00, Luís Oliveira <luismbo at>:
> On Sun, Aug 13, 2017 at 9:33 PM, 73budden . <budden73 at> 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

More information about the slime-devel mailing list