Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Readtable-case other than :upcase? #576

Open
kchanqvq opened this issue Mar 5, 2023 · 3 comments
Open

Readtable-case other than :upcase? #576

kchanqvq opened this issue Mar 5, 2023 · 3 comments

Comments

@kchanqvq
Copy link

kchanqvq commented Mar 5, 2023

Entering (setf (readtable-case *readtable*) :preserve) makes the SLY session almost unusable. Completion constantly generates CL conditions, even if I type symbols in all uppercases. I've glimpse some SLY source and seems that it's written mostly only with readtable-case=:upcase in mind (e.g. in sly-mrepl--insert-prompt a (downcase package) is hardcoded, which will erase information if the reader is not case-converting). Is that true? Is there hope to improve the situation?

@joaotavora
Copy link
Owner

Is that true?

Probably.

Is there hope to improve the situation?

Send patches?

@joaotavora
Copy link
Owner

I'm curious, what do you use :preserve for? I've never seen it used, but it would be interested to know what is more easily achieved with it. Whenever I need to preserve case, I sth |Zebra|, or intern.

@kchanqvq
Copy link
Author

kchanqvq commented Mar 5, 2023

It's a wild hack and as for now I'm not sure if it's useful either. I'm using :invert. This may enable tight integration with case-sensitive systems, in my case Unix. WIP here if you want to take a look https://github.com/PuellaeMagicae/unix-in-lisp. I've got it working on SLIME (which seem to not have this readtable-case assumption built-in). Basically it hacks SLIME REPL into a usable lispy Unix shell.

Send patches?

Sure, let me try...

kchanqvq added a commit to kchanqvq/sly that referenced this issue Mar 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants