Sorry --- I am catching up on this discussion after a long time doing other things. Looking things over, I was left with some questions (I hope these haven't been thoroughly discussed and I missed the answers): Is there some reason why we must put the external-format into the property list instead of just giving it a slot in the component class definition? Also, what sort of an entity are the external format values? Is it always a keyword symbol? Can we say that it should always be a keyword and that we will massage it to something else, if necessary, for the benefit of the implementation when reading a file? In that case we could have an accessor that will do the implementation-specific massaging for us (e.g., we could store :utf-8, but on clisp we would present charset:utf-8 when reading...). That seems somehow tidier to me, rather than changing the value behind the programmer's back as we do here. OTOH, we do quietly change symbols to strings, so maybe I'm just talking through my hat. I wasn't sure I understood the following paragraph, either: "I'd also like to express concern that this change has to be properly announced because it will affect those who use ASDF for their local projects with non UTF-8 compliant encoding and previously assumed that other ASDF systems fit into ASCII." Can you amplify? Thanks for any enlightenment!