A way to get rid of readmacros



This is no surprise that CL is ugly and, as usually, there
is an urgent need that I fix it. So here I am.

While doing read-eval we have no access to the stream
we read from. If we fix it, we can get rid of readmacros
or at least get a significant relief from that pain.

E.g., we can write
'(hallo #.(preserve-case-1) Lisper)
and get
(HALLO |Lisper|)

Also we can write
'(#.(in-package-1 :my-package) foo foo)
and get
'(my-package:foo foo)

http://paste.lisp.org/display/78029

Enjoy!

(in fact code is not tested well)
P.S. Don't forget to intern let1 into your cl package.

.