@Stefan, perhaps it'd be helpful to explain *why* `#s` was chosen. I'd guess it's to fit with the `#s` read macro for structures in CL? It's too bad hash tables already use `#s`--`#{` or `#h` would be more appropriate. On Tue, Dec 12, 2017 at 12:22 PM, Stefan Monnier wrote: > >>> Yes, it's confusing, and I'm very much against it. Interpretation of > ELisp > >>> code (even compiled code) now changes in a very subtle manner > depending on > >>> whether a record named `hash-table` happens to be defined or not. > SM> Similarly, interpretation of Elisp code can change in a very subtle > SM> manner if someone does (fset 'apply (lambda ...)). > > OK, but the read behavior is more broken. Right now records have > > basicall taken over all #s > > No, only those that are not taken by other uses. > > > Stefan > > >