*** Structure of coding system changed.
All coding systems (including aliases and subsidiaries) are named by symbols; the symbol's `coding-system' property is a vector which defines the coding system. Aliases share the same vector as the principal name, so that altering the contents of this vector affects the principal name and its aliases. You can define your own alias name of a coding system by the function define-coding-system-alias.
The coding system definition includes a property list of its own. Use the new functions `coding-system-get' and `coding-system-put' to access such coding system properties as post-read-conversion, pre-write-conversion, character-translation-table-for-decode, character-translation-table-for-encode, mime-charset, and safe-charsets. For instance, (coding-system-get 'iso-latin-1 'mime-charset) gives the corresponding MIME-charset parameter `iso-8859-1'.
Among the coding system properties listed above, safe-charsets is new. The value of this property is a list of character sets which this coding system can correctly encode and decode. For instance: (coding-system-get 'iso-latin-1 'safe-charsets) => (ascii latin-iso8859-1)
Here, "correctly encode" means that the encoded character sets can also be handled safely by systems other than Emacs as far as they are capable of that coding system. Though, Emacs itself can encode the other character sets and read it back correctly.