diff lisp/mule/cyrillic.el @ 4690:257b468bf2ca

Move the #'query-coding-region implementation to C. This is necessary because there is no reasonable way to access the corresponding mswindows-multibyte functionality from Lisp, and we need such functionality if we're going to have a reliable and portable #'query-coding-region implementation. However, this change doesn't yet provide #'query-coding-region for the mswindow-multibyte coding systems, there should be no functional differences between an XEmacs with this change and one without it. src/ChangeLog addition: 2009-09-19 Aidan Kehoe <kehoea@parhasard.net> Move the #'query-coding-region implementation to C. This is necessary because there is no reasonable way to access the corresponding mswindows-multibyte functionality from Lisp, and we need such functionality if we're going to have a reliable and portable #'query-coding-region implementation. However, this change doesn't yet provide #'query-coding-region for the mswindow-multibyte coding systems, there should be no functional differences between an XEmacs with this change and one without it. * mule-coding.c (struct fixed_width_coding_system): Add a new coding system type, fixed_width, and implement it. It uses the CCL infrastructure but has a much simpler creation API, and its own query_method, formerly in lisp/mule/mule-coding.el. * unicode.c: Move the Unicode query method implementation here from unicode.el. * lisp.h: Declare Fmake_coding_system_internal, Fcopy_range_table here. * intl-win32.c (complex_vars_of_intl_win32): Use Fmake_coding_system_internal, not Fmake_coding_system. * general-slots.h: Add Qsucceeded, Qunencodable, Qinvalid_sequence here. * file-coding.h (enum coding_system_variant): Add fixed_width_coding_system here. (struct coding_system_methods): Add query_method and query_lstream_method to the coding system methods. Provide flags for the query methods. Declare the default query method; initialise it correctly in INITIALIZE_CODING_SYSTEM_TYPE. * file-coding.c (default_query_method): New function, the default query method for coding systems that do not set it. Moved from coding.el. (make_coding_system_1): Accept new elements in PROPS in #'make-coding-system; aliases, a list of aliases; safe-chars and safe-charsets (these were previously accepted but not saved); and category. (Fmake_coding_system_internal): New function, what used to be #'make-coding-system--on Mule builds, we've now moved some of the functionality of this to Lisp. (Fcoding_system_canonical_name_p): Move this earlier in the file, since it's now called from within make_coding_system_1. (Fquery_coding_region): Move the implementation of this here, from coding.el. (complex_vars_of_file_coding): Call Fmake_coding_system_internal, not Fmake_coding_system; specify safe-charsets properties when we're a mule build. * extents.h (mouse_highlight_priority, Fset_extent_priority, Fset_extent_face, Fmap_extents): Make these available to other C files. lisp/ChangeLog addition: 2009-09-19 Aidan Kehoe <kehoea@parhasard.net> Move the #'query-coding-region implementation to C. * coding.el: Consolidate code that depends on the presence or absence of Mule at the end of this file. (default-query-coding-region, query-coding-region): Move these functions to C. (default-query-coding-region-safe-charset-skip-chars-map): Remove this variable, the corresponding C variable is Vdefault_query_coding_region_chartab_cache in file-coding.c. (query-coding-string): Update docstring to reflect actual multiple values, be more careful about not modifying a range table that we're currently mapping over. (encode-coding-char): Make the implementation of this simpler. (featurep 'mule): Autoload #'make-coding-system from mule/make-coding-system.el if we're a mule build; provide an appropriate compiler macro. Do various non-mule compatibility things if we're not a mule build. * update-elc.el (additional-dump-dependencies): Add mule/make-coding-system as a dump time dependency if we're a mule build. * unicode.el (ccl-encode-to-ucs-2): (decode-char): (encode-char): Move these earlier in the file, for the sake of some byte compile warnings. (unicode-query-coding-region): Move this to unicode.c * mule/make-coding-system.el: New file, not dumped. Contains the functionality to rework the arguments necessary for fixed-width coding systems, and contains the implementation of #'make-coding-system, which now calls #'make-coding-system-internal. * mule/vietnamese.el (viscii): * mule/latin.el (iso-8859-2): (windows-1250): (iso-8859-3): (iso-8859-4): (iso-8859-14): (iso-8859-15): (iso-8859-16): (iso-8859-9): (macintosh): (windows-1252): * mule/hebrew.el (iso-8859-8): * mule/greek.el (iso-8859-7): (windows-1253): * mule/cyrillic.el (iso-8859-5): (koi8-r): (koi8-u): (windows-1251): (alternativnyj): (koi8-ru): (koi8-t): (koi8-c): (koi8-o): * mule/arabic.el (iso-8859-6): (windows-1256): Move all these coding systems to being of type fixed-width, not of type CCL. This allows the distinct query-coding-region for them to be in C, something which will eventually allow us to implement query-coding-region for the mswindows-multibyte coding systems. * mule/general-late.el (posix-charset-to-coding-system-hash): Document why we're pre-emptively persuading the byte compiler that the ELC for this file needs to be written using escape-quoted. Call #'set-unicode-query-skip-chars-args, now the Unicode query-coding-region implementation is in C. * mule/thai-xtis.el (tis-620): Don't bother checking whether we're XEmacs or not here. * mule/mule-coding.el: Move the eight bit fixed-width functionality from this file to make-coding-system.el. tests/ChangeLog addition: 2009-09-19 Aidan Kehoe <kehoea@parhasard.net> * automated/mule-tests.el: Check a coding system's type, not an 8-bit-fixed property, for whether that coding system should be treated as a fixed-width coding system. * automated/query-coding-tests.el: Don't test the query coding functionality for mswindows-multibyte coding systems, it's not yet implemented.
author Aidan Kehoe <kehoea@parhasard.net>
date Sat, 19 Sep 2009 22:53:13 +0100
parents e0a8715fdb1f
children 29fb3baea939 8b230c53075b
line wrap: on
line diff
--- a/lisp/mule/cyrillic.el	Sat Sep 19 17:56:23 2009 +0200
+++ b/lisp/mule/cyrillic.el	Sat Sep 19 22:53:13 2009 +0100
@@ -106,138 +106,138 @@
                      (standard-syntax-table))
 
 ;; And create the coding system.
-(make-8-bit-coding-system
- 'iso-8859-5
- '((#x80 ?\u0080) ;; <control>
-   (#x81 ?\u0081) ;; <control>
-   (#x82 ?\u0082) ;; <control>
-   (#x83 ?\u0083) ;; <control>
-   (#x84 ?\u0084) ;; <control>
-   (#x85 ?\u0085) ;; <control>
-   (#x86 ?\u0086) ;; <control>
-   (#x87 ?\u0087) ;; <control>
-   (#x88 ?\u0088) ;; <control>
-   (#x89 ?\u0089) ;; <control>
-   (#x8A ?\u008A) ;; <control>
-   (#x8B ?\u008B) ;; <control>
-   (#x8C ?\u008C) ;; <control>
-   (#x8D ?\u008D) ;; <control>
-   (#x8E ?\u008E) ;; <control>
-   (#x8F ?\u008F) ;; <control>
-   (#x90 ?\u0090) ;; <control>
-   (#x91 ?\u0091) ;; <control>
-   (#x92 ?\u0092) ;; <control>
-   (#x93 ?\u0093) ;; <control>
-   (#x94 ?\u0094) ;; <control>
-   (#x95 ?\u0095) ;; <control>
-   (#x96 ?\u0096) ;; <control>
-   (#x97 ?\u0097) ;; <control>
-   (#x98 ?\u0098) ;; <control>
-   (#x99 ?\u0099) ;; <control>
-   (#x9A ?\u009A) ;; <control>
-   (#x9B ?\u009B) ;; <control>
-   (#x9C ?\u009C) ;; <control>
-   (#x9D ?\u009D) ;; <control>
-   (#x9E ?\u009E) ;; <control>
-   (#x9F ?\u009F) ;; <control>
-   (#xA0 ?\u00A0) ;; NO-BREAK SPACE
-   (#xA1 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
-   (#xA2 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
-   (#xA3 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
-   (#xA4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
-   (#xA5 ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
-   (#xA6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-   (#xA7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
-   (#xA8 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
-   (#xA9 ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
-   (#xAA ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
-   (#xAB ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
-   (#xAC ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
-   (#xAD ?\u00AD) ;; SOFT HYPHEN
-   (#xAE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
-   (#xAF ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
-   (#xB0 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
-   (#xB1 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
-   (#xB2 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
-   (#xB3 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
-   (#xB4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
-   (#xB5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
-   (#xB6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
-   (#xB7 ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
-   (#xB8 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
-   (#xB9 ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
-   (#xBA ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
-   (#xBB ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
-   (#xBC ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
-   (#xBD ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
-   (#xBE ?\u041E) ;; CYRILLIC CAPITAL LETTER O
-   (#xBF ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
-   (#xC0 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
-   (#xC1 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
-   (#xC2 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
-   (#xC3 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
-   (#xC4 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
-   (#xC5 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
-   (#xC6 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
-   (#xC7 ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
-   (#xC8 ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
-   (#xC9 ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
-   (#xCA ?\u042A) ;; CYRILLIC CAPITAL LETTER HARD SIGN
-   (#xCB ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
-   (#xCC ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
-   (#xCD ?\u042D) ;; CYRILLIC CAPITAL LETTER E
-   (#xCE ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
-   (#xCF ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
-   (#xD0 ?\u0430) ;; CYRILLIC SMALL LETTER A
-   (#xD1 ?\u0431) ;; CYRILLIC SMALL LETTER BE
-   (#xD2 ?\u0432) ;; CYRILLIC SMALL LETTER VE
-   (#xD3 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
-   (#xD4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
-   (#xD5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
-   (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
-   (#xD7 ?\u0437) ;; CYRILLIC SMALL LETTER ZE
-   (#xD8 ?\u0438) ;; CYRILLIC SMALL LETTER I
-   (#xD9 ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
-   (#xDA ?\u043A) ;; CYRILLIC SMALL LETTER KA
-   (#xDB ?\u043B) ;; CYRILLIC SMALL LETTER EL
-   (#xDC ?\u043C) ;; CYRILLIC SMALL LETTER EM
-   (#xDD ?\u043D) ;; CYRILLIC SMALL LETTER EN
-   (#xDE ?\u043E) ;; CYRILLIC SMALL LETTER O
-   (#xDF ?\u043F) ;; CYRILLIC SMALL LETTER PE
-   (#xE0 ?\u0440) ;; CYRILLIC SMALL LETTER ER
-   (#xE1 ?\u0441) ;; CYRILLIC SMALL LETTER ES
-   (#xE2 ?\u0442) ;; CYRILLIC SMALL LETTER TE
-   (#xE3 ?\u0443) ;; CYRILLIC SMALL LETTER U
-   (#xE4 ?\u0444) ;; CYRILLIC SMALL LETTER EF
-   (#xE5 ?\u0445) ;; CYRILLIC SMALL LETTER HA
-   (#xE6 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
-   (#xE7 ?\u0447) ;; CYRILLIC SMALL LETTER CHE
-   (#xE8 ?\u0448) ;; CYRILLIC SMALL LETTER SHA
-   (#xE9 ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
-   (#xEA ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
-   (#xEB ?\u044B) ;; CYRILLIC SMALL LETTER YERU
-   (#xEC ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
-   (#xED ?\u044D) ;; CYRILLIC SMALL LETTER E
-   (#xEE ?\u044E) ;; CYRILLIC SMALL LETTER YU
-   (#xEF ?\u044F) ;; CYRILLIC SMALL LETTER YA
-   (#xF0 ?\u2116) ;; NUMERO SIGN
-   (#xF1 ?\u0451) ;; CYRILLIC SMALL LETTER IO
-   (#xF2 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
-   (#xF3 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
-   (#xF4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
-   (#xF5 ?\u0455) ;; CYRILLIC SMALL LETTER DZE
-   (#xF6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-   (#xF7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
-   (#xF8 ?\u0458) ;; CYRILLIC SMALL LETTER JE
-   (#xF9 ?\u0459) ;; CYRILLIC SMALL LETTER LJE
-   (#xFA ?\u045A) ;; CYRILLIC SMALL LETTER NJE
-   (#xFB ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
-   (#xFC ?\u045C) ;; CYRILLIC SMALL LETTER KJE
-   (#xFD ?\u00A7) ;; SECTION SIGN
-   (#xFE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
-   (#xFF ?\u045F)) ;; CYRILLIC SMALL LETTER DZHE
- "ISO-8859-5 (Cyrillic)"
- '(mnemonic "ISO8/Cyr"
+(make-coding-system
+ 'iso-8859-5 'fixed-width "ISO-8859-5 (Cyrillic)"
+ '(unicode-map
+   ((#x80 ?\u0080) ;; <control>
+    (#x81 ?\u0081) ;; <control>
+    (#x82 ?\u0082) ;; <control>
+    (#x83 ?\u0083) ;; <control>
+    (#x84 ?\u0084) ;; <control>
+    (#x85 ?\u0085) ;; <control>
+    (#x86 ?\u0086) ;; <control>
+    (#x87 ?\u0087) ;; <control>
+    (#x88 ?\u0088) ;; <control>
+    (#x89 ?\u0089) ;; <control>
+    (#x8A ?\u008A) ;; <control>
+    (#x8B ?\u008B) ;; <control>
+    (#x8C ?\u008C) ;; <control>
+    (#x8D ?\u008D) ;; <control>
+    (#x8E ?\u008E) ;; <control>
+    (#x8F ?\u008F) ;; <control>
+    (#x90 ?\u0090) ;; <control>
+    (#x91 ?\u0091) ;; <control>
+    (#x92 ?\u0092) ;; <control>
+    (#x93 ?\u0093) ;; <control>
+    (#x94 ?\u0094) ;; <control>
+    (#x95 ?\u0095) ;; <control>
+    (#x96 ?\u0096) ;; <control>
+    (#x97 ?\u0097) ;; <control>
+    (#x98 ?\u0098) ;; <control>
+    (#x99 ?\u0099) ;; <control>
+    (#x9A ?\u009A) ;; <control>
+    (#x9B ?\u009B) ;; <control>
+    (#x9C ?\u009C) ;; <control>
+    (#x9D ?\u009D) ;; <control>
+    (#x9E ?\u009E) ;; <control>
+    (#x9F ?\u009F) ;; <control>
+    (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+    (#xA1 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+    (#xA2 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
+    (#xA3 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
+    (#xA4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    (#xA5 ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
+    (#xA6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    (#xA7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
+    (#xA8 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
+    (#xA9 ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
+    (#xAA ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
+    (#xAB ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
+    (#xAC ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
+    (#xAD ?\u00AD) ;; SOFT HYPHEN
+    (#xAE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
+    (#xAF ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
+    (#xB0 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+    (#xB1 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+    (#xB2 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+    (#xB3 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+    (#xB4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+    (#xB5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+    (#xB6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+    (#xB7 ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+    (#xB8 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+    (#xB9 ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+    (#xBA ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+    (#xBB ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+    (#xBC ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+    (#xBD ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+    (#xBE ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+    (#xBF ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+    (#xC0 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+    (#xC1 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+    (#xC2 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+    (#xC3 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+    (#xC4 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+    (#xC5 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+    (#xC6 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+    (#xC7 ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+    (#xC8 ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+    (#xC9 ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+    (#xCA ?\u042A) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+    (#xCB ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+    (#xCC ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+    (#xCD ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+    (#xCE ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+    (#xCF ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+    (#xD0 ?\u0430) ;; CYRILLIC SMALL LETTER A
+    (#xD1 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+    (#xD2 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+    (#xD3 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+    (#xD4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+    (#xD5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+    (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+    (#xD7 ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+    (#xD8 ?\u0438) ;; CYRILLIC SMALL LETTER I
+    (#xD9 ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+    (#xDA ?\u043A) ;; CYRILLIC SMALL LETTER KA
+    (#xDB ?\u043B) ;; CYRILLIC SMALL LETTER EL
+    (#xDC ?\u043C) ;; CYRILLIC SMALL LETTER EM
+    (#xDD ?\u043D) ;; CYRILLIC SMALL LETTER EN
+    (#xDE ?\u043E) ;; CYRILLIC SMALL LETTER O
+    (#xDF ?\u043F) ;; CYRILLIC SMALL LETTER PE
+    (#xE0 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+    (#xE1 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+    (#xE2 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+    (#xE3 ?\u0443) ;; CYRILLIC SMALL LETTER U
+    (#xE4 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+    (#xE5 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+    (#xE6 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+    (#xE7 ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+    (#xE8 ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+    (#xE9 ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+    (#xEA ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+    (#xEB ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+    (#xEC ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+    (#xED ?\u044D) ;; CYRILLIC SMALL LETTER E
+    (#xEE ?\u044E) ;; CYRILLIC SMALL LETTER YU
+    (#xEF ?\u044F) ;; CYRILLIC SMALL LETTER YA
+    (#xF0 ?\u2116) ;; NUMERO SIGN
+    (#xF1 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+    (#xF2 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
+    (#xF3 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
+    (#xF4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
+    (#xF5 ?\u0455) ;; CYRILLIC SMALL LETTER DZE
+    (#xF6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    (#xF7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
+    (#xF8 ?\u0458) ;; CYRILLIC SMALL LETTER JE
+    (#xF9 ?\u0459) ;; CYRILLIC SMALL LETTER LJE
+    (#xFA ?\u045A) ;; CYRILLIC SMALL LETTER NJE
+    (#xFB ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
+    (#xFC ?\u045C) ;; CYRILLIC SMALL LETTER KJE
+    (#xFD ?\u00A7) ;; SECTION SIGN
+    (#xFE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
+    (#xFF ?\u045F)) ;; CYRILLIC SMALL LETTER DZHE
+   mnemonic "ISO8/Cyr"
    documentation "The ISO standard for encoding Cyrillic. Not used in practice.
 See `koi8-r' and `windows-1251'.  "
    aliases (cyrillic-iso-8bit)))
@@ -257,145 +257,145 @@
  '("Cyrillic"))
 
 ;; KOI8-R, the most common encoding for Cyrillic on Unix and Usenet.
-(make-8-bit-coding-system 
- 'koi8-r
- '((#x80 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
-   (#x81 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
-   (#x82 ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
-   (#x83 ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
-   (#x84 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
-   (#x85 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
-   (#x86 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-   (#x87 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
-   (#x88 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-   (#x89 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
-   (#x8A ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-   (#x8B ?\u2580) ;; UPPER HALF BLOCK
-   (#x8C ?\u2584) ;; LOWER HALF BLOCK
-   (#x8D ?\u2588) ;; FULL BLOCK
-   (#x8E ?\u258C) ;; LEFT HALF BLOCK
-   (#x8F ?\u2590) ;; RIGHT HALF BLOCK
-   (#x90 ?\u2591) ;; LIGHT SHADE
-   (#x91 ?\u2592) ;; MEDIUM SHADE
-   (#x92 ?\u2593) ;; DARK SHADE
-   (#x93 ?\u2320) ;; TOP HALF INTEGRAL
-   (#x94 ?\u25A0) ;; BLACK SQUARE
-   (#x95 ?\u2219) ;; BULLET OPERATOR
-   (#x96 ?\u221A) ;; SQUARE ROOT
-   (#x97 ?\u2248) ;; ALMOST EQUAL TO
-   (#x98 ?\u2264) ;; LESS-THAN OR EQUAL TO
-   (#x99 ?\u2265) ;; GREATER-THAN OR EQUAL TO
-   (#x9A ?\u00A0) ;; NO-BREAK SPACE
-   (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
-   (#x9C ?\u00B0) ;; DEGREE SIGN
-   (#x9D ?\u00B2) ;; SUPERSCRIPT TWO
-   (#x9E ?\u00B7) ;; MIDDLE DOT
-   (#x9F ?\u00F7) ;; DIVISION SIGN
-   (#xA0 ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
-   (#xA1 ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
-   (#xA2 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-   (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
-   (#xA4 ?\u2553) ;; BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-   (#xA5 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
-   (#xA6 ?\u2555) ;; BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-   (#xA7 ?\u2556) ;; BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-   (#xA8 ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
-   (#xA9 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-   (#xAA ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-   (#xAB ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
-   (#xAC ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-   (#xAD ?\u255C) ;; BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-   (#xAE ?\u255D) ;; BOX DRAWINGS DOUBLE UP AND LEFT
-   (#xAF ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-   (#xB0 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-   (#xB1 ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-   (#xB2 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-   (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
-   (#xB4 ?\u2562) ;; BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-   (#xB5 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-   (#xB6 ?\u2564) ;; BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-   (#xB7 ?\u2565) ;; BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-   (#xB8 ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-   (#xB9 ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-   (#xBA ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-   (#xBB ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-   (#xBC ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-   (#xBD ?\u256B) ;; BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-   (#xBE ?\u256C) ;; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-   (#xBF ?\u00A9) ;; COPYRIGHT SIGN
-   (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
-   (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
-   (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
-   (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
-   (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
-   (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
-   (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
-   (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
-   (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
-   (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
-   (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
-   (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
-   (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
-   (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
-   (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
-   (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
-   (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
-   (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
-   (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
-   (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
-   (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
-   (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
-   (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
-   (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
-   (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
-   (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
-   (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
-   (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
-   (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
-   (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
-   (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
-   (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
-   (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
-   (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
-   (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
-   (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
-   (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
-   (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
-   (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
-   (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
-   (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
-   (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
-   (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
-   (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
-   (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
-   (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
-   (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
-   (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
-   (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
-   (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
-   (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
-   (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
-   (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
-   (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
-   (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
-   (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
-   (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
-   (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
-   (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
-   (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
-   (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
-   (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
-   (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
-   (#xFF ?\u042A));; CYRILLIC CAPITAL LETTER HARD SIGN
- "KOI8-R (,L:^T(B ,L>Q\U]P(B ,L8]d^`\PfXUY(B, 8 ,LQXb(B) for Russian and Bulgarian."
- '(mnemonic "KOI8"
+(make-coding-system 
+ 'koi8-r 'fixed-width "KOI8-R (Cyrillic)"
+ '(unicode-map
+   ((#x80 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
+    (#x81 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
+    (#x82 ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
+    (#x83 ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
+    (#x84 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
+    (#x85 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
+    (#x86 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    (#x87 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    (#x88 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    (#x89 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    (#x8A ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    (#x8B ?\u2580) ;; UPPER HALF BLOCK
+    (#x8C ?\u2584) ;; LOWER HALF BLOCK
+    (#x8D ?\u2588) ;; FULL BLOCK
+    (#x8E ?\u258C) ;; LEFT HALF BLOCK
+    (#x8F ?\u2590) ;; RIGHT HALF BLOCK
+    (#x90 ?\u2591) ;; LIGHT SHADE
+    (#x91 ?\u2592) ;; MEDIUM SHADE
+    (#x92 ?\u2593) ;; DARK SHADE
+    (#x93 ?\u2320) ;; TOP HALF INTEGRAL
+    (#x94 ?\u25A0) ;; BLACK SQUARE
+    (#x95 ?\u2219) ;; BULLET OPERATOR
+    (#x96 ?\u221A) ;; SQUARE ROOT
+    (#x97 ?\u2248) ;; ALMOST EQUAL TO
+    (#x98 ?\u2264) ;; LESS-THAN OR EQUAL TO
+    (#x99 ?\u2265) ;; GREATER-THAN OR EQUAL TO
+    (#x9A ?\u00A0) ;; NO-BREAK SPACE
+    (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
+    (#x9C ?\u00B0) ;; DEGREE SIGN
+    (#x9D ?\u00B2) ;; SUPERSCRIPT TWO
+    (#x9E ?\u00B7) ;; MIDDLE DOT
+    (#x9F ?\u00F7) ;; DIVISION SIGN
+    (#xA0 ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
+    (#xA1 ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
+    (#xA2 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+    (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+    (#xA4 ?\u2553) ;; BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+    (#xA5 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    (#xA6 ?\u2555) ;; BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+    (#xA7 ?\u2556) ;; BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+    (#xA8 ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
+    (#xA9 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+    (#xAA ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+    (#xAB ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
+    (#xAC ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+    (#xAD ?\u255C) ;; BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+    (#xAE ?\u255D) ;; BOX DRAWINGS DOUBLE UP AND LEFT
+    (#xAF ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+    (#xB0 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+    (#xB1 ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    (#xB2 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+    (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+    (#xB4 ?\u2562) ;; BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+    (#xB5 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    (#xB6 ?\u2564) ;; BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+    (#xB7 ?\u2565) ;; BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+    (#xB8 ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    (#xB9 ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+    (#xBA ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+    (#xBB ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    (#xBC ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+    (#xBD ?\u256B) ;; BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+    (#xBE ?\u256C) ;; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    (#xBF ?\u00A9) ;; COPYRIGHT SIGN
+    (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
+    (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
+    (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+    (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+    (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+    (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+    (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+    (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+    (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+    (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
+    (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+    (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
+    (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
+    (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
+    (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
+    (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
+    (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
+    (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
+    (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+    (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+    (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+    (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
+    (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+    (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+    (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+    (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+    (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+    (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+    (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
+    (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+    (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+    (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+    (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+    (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+    (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+    (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+    (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+    (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+    (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+    (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+    (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+    (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+    (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+    (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+    (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+    (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+    (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+    (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+    (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+    (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+    (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+    (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+    (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+    (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+    (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+    (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+    (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+    (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+    (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+    (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+    (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+    (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+    (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+    (#xFF ?\u042A)) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+   mnemonic "KOI8"
    documentation
-   "This is the ASCII-compatible encoding documented in RFC 1341. 
-,L:>8(B8-,L@(B is very common across the Cyrillic-using internet and in Unix
-implementations; it shares the useful property with the other ,L:>8(B8
-encodings that when the high bit is stripped, encoded text remains
-readable (Cyrillic characters get mapped to corresponding Roman
-character of the opposite case). "
+   "This is ,L:^T(B ,L>Q\U]P(B ,L8]d^`\PfXUY(B, 8 ,LQXb(B, the ASCII-compatible encoding
+documented in RFC 1341. ,L:>8(B8-,L@(B is very common across the Cyrillic-using
+internet and in Unix implementations; it shares the useful property with the
+other ,L:>8(B8 encodings that when the high bit is stripped, encoded text
+remains readable (Cyrillic characters get mapped to corresponding Roman
+characters of the opposite case). "
    aliases (cyrillic-koi8 koi8 cp878)))
 
 ;; Create a corresponding language environment. 
@@ -423,144 +423,144 @@
  (remassq 'locale (copy-list (cdr (assoc "Russian" language-info-alist))))
  '("Cyrillic"))
 
-;; KOI8-U, for Ukrainian. 
-(make-8-bit-coding-system
- 'koi8-u
- '((#x80 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
-   (#x81 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
-   (#x82 ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
-   (#x83 ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
-   (#x84 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
-   (#x85 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
-   (#x86 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-   (#x87 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
-   (#x88 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-   (#x89 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
-   (#x8A ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-   (#x8B ?\u2580) ;; UPPER HALF BLOCK
-   (#x8C ?\u2584) ;; LOWER HALF BLOCK
-   (#x8D ?\u2588) ;; FULL BLOCK
-   (#x8E ?\u258C) ;; LEFT HALF BLOCK
-   (#x8F ?\u2590) ;; RIGHT HALF BLOCK
-   (#x90 ?\u2591) ;; LIGHT SHADE
-   (#x91 ?\u2592) ;; MEDIUM SHADE
-   (#x92 ?\u2593) ;; DARK SHADE
-   (#x93 ?\u2320) ;; TOP HALF INTEGRAL
-   (#x94 ?\u25A0) ;; BLACK SQUARE
-   (#x95 ?\u2022) ;; BULLET
-   (#x96 ?\u221A) ;; SQUARE ROOT
-   (#x97 ?\u2248) ;; ALMOST EQUAL TO
-   (#x98 ?\u2264) ;; LESS-THAN OR EQUAL TO
-   (#x99 ?\u2265) ;; GREATER-THAN OR EQUAL TO
-   (#x9A ?\u00A0) ;; NO-BREAK SPACE
-   (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
-   (#x9C ?\u00B0) ;; DEGREE SIGN
-   (#x9D ?\u00B2) ;; SUPERSCRIPT TWO
-   (#x9E ?\u00B7) ;; MIDDLE DOT
-   (#x9F ?\u00F7) ;; DIVISION SIGN
-   (#xA0 ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
-   (#xA1 ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
-   (#xA2 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-   (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
-   (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
-   (#xA5 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
-   (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-   (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
-   (#xA8 ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
-   (#xA9 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-   (#xAA ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-   (#xAB ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
-   (#xAC ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-   (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
-   (#xAE ?\u255D) ;; BOX DRAWINGS DOUBLE UP AND LEFT
-   (#xAF ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-   (#xB0 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-   (#xB1 ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-   (#xB2 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-   (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
-   (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
-   (#xB5 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-   (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-   (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
-   (#xB8 ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-   (#xB9 ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-   (#xBA ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-   (#xBB ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-   (#xBC ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-   (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-   (#xBE ?\u256C) ;; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-   (#xBF ?\u00A9) ;; COPYRIGHT SIGN
-   (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
-   (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
-   (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
-   (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
-   (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
-   (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
-   (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
-   (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
-   (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
-   (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
-   (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
-   (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
-   (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
-   (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
-   (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
-   (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
-   (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
-   (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
-   (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
-   (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
-   (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
-   (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
-   (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
-   (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
-   (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
-   (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
-   (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
-   (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
-   (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
-   (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
-   (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
-   (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
-   (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
-   (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
-   (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
-   (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
-   (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
-   (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
-   (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
-   (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
-   (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
-   (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
-   (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
-   (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
-   (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
-   (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
-   (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
-   (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
-   (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
-   (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
-   (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
-   (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
-   (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
-   (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
-   (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
-   (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
-   (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
-   (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
-   (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
-   (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
-   (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
-   (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
-   (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
-   (#xFF ?\u042A)) ;; CYRILLIC CAPITAL LETTER HARD SIGN
- "KOI8-U, for Ukrainian"
- '(mnemonic ",L:>8(B8,LC(B"
+;; KOI8-U, for Ukrainian.
+(make-coding-system
+ 'koi8-u 'fixed-width "KOI8-U, Ukrainian"
+ '(unicode-map
+   ((#x80 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
+    (#x81 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
+    (#x82 ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
+    (#x83 ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
+    (#x84 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
+    (#x85 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
+    (#x86 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    (#x87 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    (#x88 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    (#x89 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    (#x8A ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    (#x8B ?\u2580) ;; UPPER HALF BLOCK
+    (#x8C ?\u2584) ;; LOWER HALF BLOCK
+    (#x8D ?\u2588) ;; FULL BLOCK
+    (#x8E ?\u258C) ;; LEFT HALF BLOCK
+    (#x8F ?\u2590) ;; RIGHT HALF BLOCK
+    (#x90 ?\u2591) ;; LIGHT SHADE
+    (#x91 ?\u2592) ;; MEDIUM SHADE
+    (#x92 ?\u2593) ;; DARK SHADE
+    (#x93 ?\u2320) ;; TOP HALF INTEGRAL
+    (#x94 ?\u25A0) ;; BLACK SQUARE
+    (#x95 ?\u2022) ;; BULLET
+    (#x96 ?\u221A) ;; SQUARE ROOT
+    (#x97 ?\u2248) ;; ALMOST EQUAL TO
+    (#x98 ?\u2264) ;; LESS-THAN OR EQUAL TO
+    (#x99 ?\u2265) ;; GREATER-THAN OR EQUAL TO
+    (#x9A ?\u00A0) ;; NO-BREAK SPACE
+    (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
+    (#x9C ?\u00B0) ;; DEGREE SIGN
+    (#x9D ?\u00B2) ;; SUPERSCRIPT TWO
+    (#x9E ?\u00B7) ;; MIDDLE DOT
+    (#x9F ?\u00F7) ;; DIVISION SIGN
+    (#xA0 ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
+    (#xA1 ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
+    (#xA2 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+    (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+    (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
+    (#xA5 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
+    (#xA8 ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
+    (#xA9 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+    (#xAA ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+    (#xAB ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
+    (#xAC ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+    (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
+    (#xAE ?\u255D) ;; BOX DRAWINGS DOUBLE UP AND LEFT
+    (#xAF ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+    (#xB0 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+    (#xB1 ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    (#xB2 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+    (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+    (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    (#xB5 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
+    (#xB8 ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    (#xB9 ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+    (#xBA ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+    (#xBB ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    (#xBC ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+    (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+    (#xBE ?\u256C) ;; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    (#xBF ?\u00A9) ;; COPYRIGHT SIGN
+    (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
+    (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
+    (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+    (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+    (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+    (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+    (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+    (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+    (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+    (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
+    (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+    (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
+    (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
+    (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
+    (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
+    (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
+    (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
+    (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
+    (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+    (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+    (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+    (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
+    (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+    (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+    (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+    (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+    (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+    (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+    (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
+    (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+    (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+    (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+    (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+    (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+    (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+    (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+    (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+    (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+    (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+    (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+    (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+    (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+    (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+    (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+    (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+    (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+    (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+    (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+    (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+    (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+    (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+    (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+    (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+    (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+    (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+    (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+    (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+    (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+    (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+    (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+    (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+    (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+    (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+    (#xFF ?\u042A)) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+   mnemonic ",L:>8(B8,LC(B"
    documentation
    "KOI8-U, a KOI-8-compatible encoding for Ukrainian, described in RFC2319.
 This has GHE WITH UPTURN, BYELORUSSIAN-UKRAINIAN I, UKRAINIAN IE and
 YI instead of some box-drawing characters.  Russian in this encoding
-(without using box-drawing characters) is bit-for-bit compatible with
+\(without using box-drawing characters) is bit-for-bit compatible with
 Russian in KOI8-R.  "))
 
 ;; Case support, for the new characters.
@@ -584,142 +584,145 @@
                 . "Support for Ukrainian."))
  '("Cyrillic"))
 
-(make-8-bit-coding-system 
- 'windows-1251
- '((#x80 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
-   (#x81 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
-   (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
-   (#x83 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
-   (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
-   (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
-   (#x86 ?\u2020) ;; DAGGER
-   (#x87 ?\u2021) ;; DOUBLE DAGGER
-   (#x88 ?\u20AC) ;; EURO SIGN
-   (#x89 ?\u2030) ;; PER MILLE SIGN
-   (#x8A ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
-   (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-   (#x8C ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
-   (#x8D ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
-   (#x8E ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
-   (#x8F ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
-   (#x90 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
-   (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
-   (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
-   (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
-   (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
-   (#x95 ?\u2022) ;; BULLET
-   (#x96 ?\u2013) ;; EN DASH
-   (#x97 ?\u2014) ;; EM DASH
-   (#x99 ?\u2122) ;; TRADE MARK SIGN
-   (#x9A ?\u0459) ;; CYRILLIC SMALL LETTER LJE
-   (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-   (#x9C ?\u045A) ;; CYRILLIC SMALL LETTER NJE
-   (#x9D ?\u045C) ;; CYRILLIC SMALL LETTER KJE
-   (#x9E ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
-   (#x9F ?\u045F) ;; CYRILLIC SMALL LETTER DZHE
-   (#xA0 ?\u00A0) ;; NO-BREAK SPACE
-   (#xA1 ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
-   (#xA2 ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
-   (#xA3 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
-   (#xA4 ?\u00A4) ;; CURRENCY SIGN
-   (#xA5 ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-   (#xA6 ?\u00A6) ;; BROKEN BAR
-   (#xA7 ?\u00A7) ;; SECTION SIGN
-   (#xA8 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
-   (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
-   (#xAA ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
-   (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-   (#xAC ?\u00AC) ;; NOT SIGN
-   (#xAD ?\u00AD) ;; SOFT HYPHEN
-   (#xAE ?\u00AE) ;; REGISTERED SIGN
-   (#xAF ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
-   (#xB0 ?\u00B0) ;; DEGREE SIGN
-   (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
-   (#xB2 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-   (#xB3 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-   (#xB4 ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
-   (#xB5 ?\u00B5) ;; MICRO SIGN
-   (#xB6 ?\u00B6) ;; PILCROW SIGN
-   (#xB7 ?\u00B7) ;; MIDDLE DOT
-   (#xB8 ?\u0451) ;; CYRILLIC SMALL LETTER IO
-   (#xB9 ?\u2116) ;; NUMERO SIGN
-   (#xBA ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
-   (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-   (#xBC ?\u0458) ;; CYRILLIC SMALL LETTER JE
-   (#xBD ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
-   (#xBE ?\u0455) ;; CYRILLIC SMALL LETTER DZE
-   (#xBF ?\u0457) ;; CYRILLIC SMALL LETTER YI
-   (#xC0 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
-   (#xC1 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
-   (#xC2 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
-   (#xC3 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
-   (#xC4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
-   (#xC5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
-   (#xC6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
-   (#xC7 ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
-   (#xC8 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
-   (#xC9 ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
-   (#xCA ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
-   (#xCB ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
-   (#xCC ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
-   (#xCD ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
-   (#xCE ?\u041E) ;; CYRILLIC CAPITAL LETTER O
-   (#xCF ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
-   (#xD0 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
-   (#xD1 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
-   (#xD2 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
-   (#xD3 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
-   (#xD4 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
-   (#xD5 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
-   (#xD6 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
-   (#xD7 ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
-   (#xD8 ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
-   (#xD9 ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
-   (#xDA ?\u042A) ;; CYRILLIC CAPITAL LETTER HARD SIGN
-   (#xDB ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
-   (#xDC ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
-   (#xDD ?\u042D) ;; CYRILLIC CAPITAL LETTER E
-   (#xDE ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
-   (#xDF ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
-   (#xE0 ?\u0430) ;; CYRILLIC SMALL LETTER A
-   (#xE1 ?\u0431) ;; CYRILLIC SMALL LETTER BE
-   (#xE2 ?\u0432) ;; CYRILLIC SMALL LETTER VE
-   (#xE3 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
-   (#xE4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
-   (#xE5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
-   (#xE6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
-   (#xE7 ?\u0437) ;; CYRILLIC SMALL LETTER ZE
-   (#xE8 ?\u0438) ;; CYRILLIC SMALL LETTER I
-   (#xE9 ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
-   (#xEA ?\u043A) ;; CYRILLIC SMALL LETTER KA
-   (#xEB ?\u043B) ;; CYRILLIC SMALL LETTER EL
-   (#xEC ?\u043C) ;; CYRILLIC SMALL LETTER EM
-   (#xED ?\u043D) ;; CYRILLIC SMALL LETTER EN
-   (#xEE ?\u043E) ;; CYRILLIC SMALL LETTER O
-   (#xEF ?\u043F) ;; CYRILLIC SMALL LETTER PE
-   (#xF0 ?\u0440) ;; CYRILLIC SMALL LETTER ER
-   (#xF1 ?\u0441) ;; CYRILLIC SMALL LETTER ES
-   (#xF2 ?\u0442) ;; CYRILLIC SMALL LETTER TE
-   (#xF3 ?\u0443) ;; CYRILLIC SMALL LETTER U
-   (#xF4 ?\u0444) ;; CYRILLIC SMALL LETTER EF
-   (#xF5 ?\u0445) ;; CYRILLIC SMALL LETTER HA
-   (#xF6 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
-   (#xF7 ?\u0447) ;; CYRILLIC SMALL LETTER CHE
-   (#xF8 ?\u0448) ;; CYRILLIC SMALL LETTER SHA
-   (#xF9 ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
-   (#xFA ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
-   (#xFB ?\u044B) ;; CYRILLIC SMALL LETTER YERU
-   (#xFC ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
-   (#xFD ?\u044D) ;; CYRILLIC SMALL LETTER E
-   (#xFE ?\u044E) ;; CYRILLIC SMALL LETTER YU
-   (#xFF ?\u044F)) ;; CYRILLIC SMALL LETTER YA
- "Microsoft's Code Page 1251, for Russian, Bulgarian, Serbian and others.  "
- '(mnemonic "CyrW"
+(make-coding-system 
+ 'windows-1251 'fixed-width "Microsoft's CP1251, Cyrillic."
+ '(unicode-map
+   ((#x80 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
+    (#x81 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
+    (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
+    (#x83 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
+    (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
+    (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
+    (#x86 ?\u2020) ;; DAGGER
+    (#x87 ?\u2021) ;; DOUBLE DAGGER
+    (#x88 ?\u20AC) ;; EURO SIGN
+    (#x89 ?\u2030) ;; PER MILLE SIGN
+    (#x8A ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
+    (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    (#x8C ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
+    (#x8D ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
+    (#x8E ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
+    (#x8F ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
+    (#x90 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
+    (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
+    (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
+    (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
+    (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
+    (#x95 ?\u2022) ;; BULLET
+    (#x96 ?\u2013) ;; EN DASH
+    (#x97 ?\u2014) ;; EM DASH
+    (#x99 ?\u2122) ;; TRADE MARK SIGN
+    (#x9A ?\u0459) ;; CYRILLIC SMALL LETTER LJE
+    (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    (#x9C ?\u045A) ;; CYRILLIC SMALL LETTER NJE
+    (#x9D ?\u045C) ;; CYRILLIC SMALL LETTER KJE
+    (#x9E ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
+    (#x9F ?\u045F) ;; CYRILLIC SMALL LETTER DZHE
+    (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+    (#xA1 ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
+    (#xA2 ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
+    (#xA3 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
+    (#xA4 ?\u00A4) ;; CURRENCY SIGN
+    (#xA5 ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+    (#xA6 ?\u00A6) ;; BROKEN BAR
+    (#xA7 ?\u00A7) ;; SECTION SIGN
+    (#xA8 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+    (#xA9 ?\u00A9) ;; COPYRIGHT SIGN
+    (#xAA ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    (#xAC ?\u00AC) ;; NOT SIGN
+    (#xAD ?\u00AD) ;; SOFT HYPHEN
+    (#xAE ?\u00AE) ;; REGISTERED SIGN
+    (#xAF ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
+    (#xB0 ?\u00B0) ;; DEGREE SIGN
+    (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
+    (#xB2 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    (#xB3 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    (#xB4 ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
+    (#xB5 ?\u00B5) ;; MICRO SIGN
+    (#xB6 ?\u00B6) ;; PILCROW SIGN
+    (#xB7 ?\u00B7) ;; MIDDLE DOT
+    (#xB8 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+    (#xB9 ?\u2116) ;; NUMERO SIGN
+    (#xBA ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
+    (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    (#xBC ?\u0458) ;; CYRILLIC SMALL LETTER JE
+    (#xBD ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
+    (#xBE ?\u0455) ;; CYRILLIC SMALL LETTER DZE
+    (#xBF ?\u0457) ;; CYRILLIC SMALL LETTER YI
+    (#xC0 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+    (#xC1 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+    (#xC2 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+    (#xC3 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+    (#xC4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+    (#xC5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+    (#xC6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+    (#xC7 ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+    (#xC8 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+    (#xC9 ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+    (#xCA ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+    (#xCB ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+    (#xCC ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+    (#xCD ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+    (#xCE ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+    (#xCF ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+    (#xD0 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+    (#xD1 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+    (#xD2 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+    (#xD3 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+    (#xD4 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+    (#xD5 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+    (#xD6 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+    (#xD7 ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+    (#xD8 ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+    (#xD9 ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+    (#xDA ?\u042A) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+    (#xDB ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+    (#xDC ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+    (#xDD ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+    (#xDE ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+    (#xDF ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+    (#xE0 ?\u0430) ;; CYRILLIC SMALL LETTER A
+    (#xE1 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+    (#xE2 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+    (#xE3 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+    (#xE4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+    (#xE5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+    (#xE6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+    (#xE7 ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+    (#xE8 ?\u0438) ;; CYRILLIC SMALL LETTER I
+    (#xE9 ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+    (#xEA ?\u043A) ;; CYRILLIC SMALL LETTER KA
+    (#xEB ?\u043B) ;; CYRILLIC SMALL LETTER EL
+    (#xEC ?\u043C) ;; CYRILLIC SMALL LETTER EM
+    (#xED ?\u043D) ;; CYRILLIC SMALL LETTER EN
+    (#xEE ?\u043E) ;; CYRILLIC SMALL LETTER O
+    (#xEF ?\u043F) ;; CYRILLIC SMALL LETTER PE
+    (#xF0 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+    (#xF1 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+    (#xF2 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+    (#xF3 ?\u0443) ;; CYRILLIC SMALL LETTER U
+    (#xF4 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+    (#xF5 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+    (#xF6 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+    (#xF7 ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+    (#xF8 ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+    (#xF9 ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+    (#xFA ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+    (#xFB ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+    (#xFC ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+    (#xFD ?\u044D) ;; CYRILLIC SMALL LETTER E
+    (#xFE ?\u044E) ;; CYRILLIC SMALL LETTER YU
+    (#xFF ?\u044F)) ;; CYRILLIC SMALL LETTER YA
+   mnemonic "CyrW"
    documentation
    "This ASCII-compatible encoding is unfortunately not compatible at
 the code point level with the KOI8 family of encodings, but it
 provides several widely-used punctuation and quotation marks that
-KOI-8R and its relatives don't, and has become widely used.  "
+KOI-8R and its relatives don't, and has become widely used. 
+
+It supports Russian, Bulgarian, Serbian and other languages written using
+Cyrillic script.  "
    aliases (cp1251)))
 
 (set-language-info-alist
@@ -745,138 +748,138 @@
  '("Cyrillic"))
 
 ;;; Alternativnyj
-(make-8-bit-coding-system
- 'alternativnyj
- '((#x80 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
-   (#x81 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
-   (#x82 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
-   (#x83 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
-   (#x84 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
-   (#x85 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
-   (#x86 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
-   (#x87 ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
-   (#x88 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
-   (#x89 ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
-   (#x8A ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
-   (#x8B ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
-   (#x8C ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
-   (#x8D ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
-   (#x8E ?\u041E) ;; CYRILLIC CAPITAL LETTER O
-   (#x8F ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
-   (#x90 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
-   (#x91 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
-   (#x92 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
-   (#x93 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
-   (#x94 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
-   (#x95 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
-   (#x96 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
-   (#x97 ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
-   (#x98 ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
-   (#x99 ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
-   (#x9A ?\u042A) ;; CYRILLIC CAPITAL LETTER HARD SIGN
-   (#x9B ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
-   (#x9C ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
-   (#x9D ?\u042D) ;; CYRILLIC CAPITAL LETTER E
-   (#x9E ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
-   (#x9F ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
-   (#xA0 ?\u0430) ;; CYRILLIC SMALL LETTER A
-   (#xA1 ?\u0431) ;; CYRILLIC SMALL LETTER BE
-   (#xA2 ?\u0432) ;; CYRILLIC SMALL LETTER VE
-   (#xA3 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
-   (#xA4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
-   (#xA5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
-   (#xA6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
-   (#xA7 ?\u0437) ;; CYRILLIC SMALL LETTER ZE
-   (#xA8 ?\u0438) ;; CYRILLIC SMALL LETTER I
-   (#xA9 ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
-   (#xAA ?\u043A) ;; CYRILLIC SMALL LETTER KA
-   (#xAB ?\u043B) ;; CYRILLIC SMALL LETTER EL
-   (#xAC ?\u043C) ;; CYRILLIC SMALL LETTER EM
-   (#xAD ?\u043D) ;; CYRILLIC SMALL LETTER EN
-   (#xAE ?\u043E) ;; CYRILLIC SMALL LETTER O
-   (#xAF ?\u043F) ;; CYRILLIC SMALL LETTER PE
-   (#xB0 ?\u2591) ;; LIGHT SHADE
-   (#xB1 ?\u2592) ;; MEDIUM SHADE
-   (#xB2 ?\u2593) ;; DARK SHADE
-   (#xB3 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
-   (#xB4 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
-   (#xB5 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-   (#xB6 ?\u2562) ;; BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-   (#xB7 ?\u2556) ;; BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-   (#xB8 ?\u2555) ;; BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-   (#xB9 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-   (#xBA ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
-   (#xBB ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
-   (#xBC ?\u255D) ;; BOX DRAWINGS DOUBLE UP AND LEFT
-   (#xBD ?\u255C) ;; BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-   (#xBE ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-   (#xBF ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
-   (#xC0 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
-   (#xC1 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
-   (#xC2 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-   (#xC3 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-   (#xC4 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
-   (#xC5 ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-   (#xC6 ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-   (#xC7 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-   (#xC8 ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
-   (#xC9 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
-   (#xCA ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-   (#xCB ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-   (#xCC ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-   (#xCD ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
-   (#xCE ?\u256C) ;; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-   (#xCF ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-   (#xD0 ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-   (#xD1 ?\u2564) ;; BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-   (#xD2 ?\u2565) ;; BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-   (#xD3 ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-   (#xD4 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-   (#xD5 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-   (#xD6 ?\u2553) ;; BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-   (#xD7 ?\u256B) ;; BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-   (#xD8 ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-   (#xD9 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
-   (#xDA ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
-   (#xDB ?\u2588) ;; FULL BLOCK
-   (#xDC ?\u2584) ;; LOWER HALF BLOCK
-   (#xDD ?\u258C) ;; LEFT HALF BLOCK
-   (#xDE ?\u2590) ;; RIGHT HALF BLOCK
-   (#xDF ?\u2580) ;; UPPER HALF BLOCK
-   (#xE0 ?\u0440) ;; CYRILLIC SMALL LETTER ER
-   (#xE1 ?\u0441) ;; CYRILLIC SMALL LETTER ES
-   (#xE2 ?\u0442) ;; CYRILLIC SMALL LETTER TE
-   (#xE3 ?\u0443) ;; CYRILLIC SMALL LETTER U
-   (#xE4 ?\u0444) ;; CYRILLIC SMALL LETTER EF
-   (#xE5 ?\u0445) ;; CYRILLIC SMALL LETTER HA
-   (#xE6 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
-   (#xE7 ?\u0447) ;; CYRILLIC SMALL LETTER CHE
-   (#xE8 ?\u0448) ;; CYRILLIC SMALL LETTER SHA
-   (#xE9 ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
-   (#xEA ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
-   (#xEB ?\u044B) ;; CYRILLIC SMALL LETTER YERU
-   (#xEC ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
-   (#xED ?\u044D) ;; CYRILLIC SMALL LETTER E
-   (#xEE ?\u044E) ;; CYRILLIC SMALL LETTER YU
-   (#xEF ?\u044F) ;; CYRILLIC SMALL LETTER YA
-   (#xF0 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
-   (#xF1 ?\u0451) ;; CYRILLIC SMALL LETTER IO
-   (#xF2 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
-   (#xF3 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
-   (#xF4 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
-   (#xF5 ?\u0457) ;; CYRILLIC SMALL LETTER YI
-   (#xF6 ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
-   (#xF7 ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
-   (#xF8 ?\u00B0) ;; DEGREE SIGN
-   (#xF9 ?\u2022) ;; BULLET
-   (#xFA ?\u00B7) ;; MIDDLE DOT
-   (#xFB ?\u221A) ;; SQUARE ROOT
-   (#xFC ?\u2116) ;; NUMERO SIGN
-   (#xFD ?\u00A4) ;; CURRENCY SIGN
-   (#xFE ?\u25A0) ;; BLACK SQUARE
-   (#xFF ?\u00A0)) ;; NO-BREAK SPACE
- "Alternativnyj (Cyrillic). Microsoft's Code Page 966. "
- '(mnemonic "Cy.Alt"
+(make-coding-system
+ 'alternativnyj 'fixed-width "Microsoft's CP966, Cyrillic"
+ '(unicode-map
+   ((#x80 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+    (#x81 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+    (#x82 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+    (#x83 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+    (#x84 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+    (#x85 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+    (#x86 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+    (#x87 ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+    (#x88 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+    (#x89 ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+    (#x8A ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+    (#x8B ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+    (#x8C ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+    (#x8D ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+    (#x8E ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+    (#x8F ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+    (#x90 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+    (#x91 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+    (#x92 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+    (#x93 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+    (#x94 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+    (#x95 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+    (#x96 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+    (#x97 ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+    (#x98 ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+    (#x99 ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+    (#x9A ?\u042A) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+    (#x9B ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+    (#x9C ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+    (#x9D ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+    (#x9E ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+    (#x9F ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+    (#xA0 ?\u0430) ;; CYRILLIC SMALL LETTER A
+    (#xA1 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+    (#xA2 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+    (#xA3 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+    (#xA4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+    (#xA5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+    (#xA6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+    (#xA7 ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+    (#xA8 ?\u0438) ;; CYRILLIC SMALL LETTER I
+    (#xA9 ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+    (#xAA ?\u043A) ;; CYRILLIC SMALL LETTER KA
+    (#xAB ?\u043B) ;; CYRILLIC SMALL LETTER EL
+    (#xAC ?\u043C) ;; CYRILLIC SMALL LETTER EM
+    (#xAD ?\u043D) ;; CYRILLIC SMALL LETTER EN
+    (#xAE ?\u043E) ;; CYRILLIC SMALL LETTER O
+    (#xAF ?\u043F) ;; CYRILLIC SMALL LETTER PE
+    (#xB0 ?\u2591) ;; LIGHT SHADE
+    (#xB1 ?\u2592) ;; MEDIUM SHADE
+    (#xB2 ?\u2593) ;; DARK SHADE
+    (#xB3 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
+    (#xB4 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    (#xB5 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+    (#xB6 ?\u2562) ;; BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+    (#xB7 ?\u2556) ;; BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+    (#xB8 ?\u2555) ;; BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+    (#xB9 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    (#xBA ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
+    (#xBB ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
+    (#xBC ?\u255D) ;; BOX DRAWINGS DOUBLE UP AND LEFT
+    (#xBD ?\u255C) ;; BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+    (#xBE ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+    (#xBF ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
+    (#xC0 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
+    (#xC1 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    (#xC2 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    (#xC3 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    (#xC4 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
+    (#xC5 ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    (#xC6 ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+    (#xC7 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+    (#xC8 ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
+    (#xC9 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    (#xCA ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    (#xCB ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    (#xCC ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    (#xCD ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
+    (#xCE ?\u256C) ;; BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+    (#xCF ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+    (#xD0 ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+    (#xD1 ?\u2564) ;; BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+    (#xD2 ?\u2565) ;; BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+    (#xD3 ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+    (#xD4 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+    (#xD5 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+    (#xD6 ?\u2553) ;; BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+    (#xD7 ?\u256B) ;; BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+    (#xD8 ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+    (#xD9 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
+    (#xDA ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
+    (#xDB ?\u2588) ;; FULL BLOCK
+    (#xDC ?\u2584) ;; LOWER HALF BLOCK
+    (#xDD ?\u258C) ;; LEFT HALF BLOCK
+    (#xDE ?\u2590) ;; RIGHT HALF BLOCK
+    (#xDF ?\u2580) ;; UPPER HALF BLOCK
+    (#xE0 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+    (#xE1 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+    (#xE2 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+    (#xE3 ?\u0443) ;; CYRILLIC SMALL LETTER U
+    (#xE4 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+    (#xE5 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+    (#xE6 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+    (#xE7 ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+    (#xE8 ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+    (#xE9 ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+    (#xEA ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+    (#xEB ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+    (#xEC ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+    (#xED ?\u044D) ;; CYRILLIC SMALL LETTER E
+    (#xEE ?\u044E) ;; CYRILLIC SMALL LETTER YU
+    (#xEF ?\u044F) ;; CYRILLIC SMALL LETTER YA
+    (#xF0 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+    (#xF1 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+    (#xF2 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    (#xF3 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
+    (#xF4 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
+    (#xF5 ?\u0457) ;; CYRILLIC SMALL LETTER YI
+    (#xF6 ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
+    (#xF7 ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
+    (#xF8 ?\u00B0) ;; DEGREE SIGN
+    (#xF9 ?\u2022) ;; BULLET
+    (#xFA ?\u00B7) ;; MIDDLE DOT
+    (#xFB ?\u221A) ;; SQUARE ROOT
+    (#xFC ?\u2116) ;; NUMERO SIGN
+    (#xFD ?\u00A4) ;; CURRENCY SIGN
+    (#xFE ?\u25A0) ;; BLACK SQUARE
+    (#xFF ?\u00A0)) ;; NO-BREAK SPACE
+   mnemonic "Cy.Alt"
    aliases (cp866)))
 
 (set-language-info-alist
@@ -892,257 +895,258 @@
                   (documentation . "Support for Cyrillic ALTERNATIVNYJ."))
  '("Cyrillic"))
 
-(make-8-bit-coding-system
- 'koi8-ru
- '((#x80 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
-   (#x81 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
-   (#x82 ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
-   (#x83 ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
-   (#x84 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
-   (#x85 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
-   (#x86 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-   (#x87 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
-   (#x88 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-   (#x89 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
-   (#x8A ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-   (#x8B ?\u2580) ;; UPPER HALF BLOCK
-   (#x8C ?\u2584) ;; LOWER HALF BLOCK
-   (#x8D ?\u2588) ;; FULL BLOCK
-   (#x8E ?\u258C) ;; LEFT HALF BLOCK
-   (#x8F ?\u2590) ;; RIGHT HALF BLOCK
-   (#x90 ?\u2591) ;; LIGHT SHADE
-   (#x91 ?\u2592) ;; MEDIUM SHADE
-   (#x92 ?\u2593) ;; DARK SHADE
-   (#x93 ?\u2320) ;; TOP HALF INTEGRAL
-   (#x94 ?\u25A0) ;; BLACK SQUARE
-   (#x95 ?\u2219) ;; BULLET OPERATOR
-   (#x96 ?\u221A) ;; SQUARE ROOT
-   (#x97 ?\u2248) ;; ALMOST EQUAL TO
-   (#x98 ?\u2264) ;; LESS-THAN OR EQUAL TO
-   (#x99 ?\u2265) ;; GREATER-THAN OR EQUAL TO
-   (#x9A ?\u00A0) ;; NO-BREAK SPACE
-   (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
-   (#x9C ?\u00B0) ;; DEGREE SIGN
-   (#x9D ?\u00B2) ;; SUPERSCRIPT TWO
-   (#x9E ?\u00B7) ;; MIDDLE DOT
-   (#x9F ?\u00F7) ;; DIVISION SIGN
-   (#xA0 ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
-   (#xA1 ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
-   (#xA2 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-   (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
-   (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
-   (#xA5 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
-   (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-   (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
-   (#xA8 ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
-   (#xA9 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-   (#xAA ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-   (#xAB ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
-   (#xAC ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-   (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
-   (#xAE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
-   (#xAF ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-   (#xB0 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-   (#xB1 ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-   (#xB2 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-   (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
-   (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
-   (#xB5 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-   (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-   (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
-   (#xB8 ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-   (#xB9 ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-   (#xBA ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-   (#xBB ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-   (#xBC ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-   (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-   (#xBE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
-   (#xBF ?\u00A9) ;; COPYRIGHT SIGN
-   (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
-   (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
-   (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
-   (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
-   (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
-   (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
-   (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
-   (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
-   (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
-   (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
-   (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
-   (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
-   (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
-   (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
-   (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
-   (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
-   (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
-   (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
-   (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
-   (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
-   (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
-   (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
-   (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
-   (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
-   (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
-   (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
-   (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
-   (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
-   (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
-   (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
-   (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
-   (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
-   (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
-   (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
-   (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
-   (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
-   (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
-   (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
-   (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
-   (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
-   (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
-   (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
-   (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
-   (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
-   (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
-   (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
-   (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
-   (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
-   (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
-   (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
-   (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
-   (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
-   (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
-   (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
-   (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
-   (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
-   (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
-   (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
-   (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
-   (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
-   (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
-   (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
-   (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
-   (#xFF ?\u042A));; CYRILLIC CAPITAL LETTER HARD SIGN
- "KOI8-RU, a mostly-compatible superset of KOI8-R. 
+(make-coding-system
+ 'koi8-ru 'fixed-width ",L:>8(B-8 (Russian, Ukrainian)"
+ '(unicode-map
+   ((#x80 ?\u2500) ;; BOX DRAWINGS LIGHT HORIZONTAL
+    (#x81 ?\u2502) ;; BOX DRAWINGS LIGHT VERTICAL
+    (#x82 ?\u250C) ;; BOX DRAWINGS LIGHT DOWN AND RIGHT
+    (#x83 ?\u2510) ;; BOX DRAWINGS LIGHT DOWN AND LEFT
+    (#x84 ?\u2514) ;; BOX DRAWINGS LIGHT UP AND RIGHT
+    (#x85 ?\u2518) ;; BOX DRAWINGS LIGHT UP AND LEFT
+    (#x86 ?\u251C) ;; BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+    (#x87 ?\u2524) ;; BOX DRAWINGS LIGHT VERTICAL AND LEFT
+    (#x88 ?\u252C) ;; BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+    (#x89 ?\u2534) ;; BOX DRAWINGS LIGHT UP AND HORIZONTAL
+    (#x8A ?\u253C) ;; BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+    (#x8B ?\u2580) ;; UPPER HALF BLOCK
+    (#x8C ?\u2584) ;; LOWER HALF BLOCK
+    (#x8D ?\u2588) ;; FULL BLOCK
+    (#x8E ?\u258C) ;; LEFT HALF BLOCK
+    (#x8F ?\u2590) ;; RIGHT HALF BLOCK
+    (#x90 ?\u2591) ;; LIGHT SHADE
+    (#x91 ?\u2592) ;; MEDIUM SHADE
+    (#x92 ?\u2593) ;; DARK SHADE
+    (#x93 ?\u2320) ;; TOP HALF INTEGRAL
+    (#x94 ?\u25A0) ;; BLACK SQUARE
+    (#x95 ?\u2219) ;; BULLET OPERATOR
+    (#x96 ?\u221A) ;; SQUARE ROOT
+    (#x97 ?\u2248) ;; ALMOST EQUAL TO
+    (#x98 ?\u2264) ;; LESS-THAN OR EQUAL TO
+    (#x99 ?\u2265) ;; GREATER-THAN OR EQUAL TO
+    (#x9A ?\u00A0) ;; NO-BREAK SPACE
+    (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
+    (#x9C ?\u00B0) ;; DEGREE SIGN
+    (#x9D ?\u00B2) ;; SUPERSCRIPT TWO
+    (#x9E ?\u00B7) ;; MIDDLE DOT
+    (#x9F ?\u00F7) ;; DIVISION SIGN
+    (#xA0 ?\u2550) ;; BOX DRAWINGS DOUBLE HORIZONTAL
+    (#xA1 ?\u2551) ;; BOX DRAWINGS DOUBLE VERTICAL
+    (#xA2 ?\u2552) ;; BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+    (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+    (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
+    (#xA5 ?\u2554) ;; BOX DRAWINGS DOUBLE DOWN AND RIGHT
+    (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
+    (#xA8 ?\u2557) ;; BOX DRAWINGS DOUBLE DOWN AND LEFT
+    (#xA9 ?\u2558) ;; BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+    (#xAA ?\u2559) ;; BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+    (#xAB ?\u255A) ;; BOX DRAWINGS DOUBLE UP AND RIGHT
+    (#xAC ?\u255B) ;; BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+    (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
+    (#xAE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
+    (#xAF ?\u255E) ;; BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+    (#xB0 ?\u255F) ;; BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+    (#xB1 ?\u2560) ;; BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+    (#xB2 ?\u2561) ;; BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+    (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+    (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    (#xB5 ?\u2563) ;; BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+    (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
+    (#xB8 ?\u2566) ;; BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+    (#xB9 ?\u2567) ;; BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+    (#xBA ?\u2568) ;; BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+    (#xBB ?\u2569) ;; BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+    (#xBC ?\u256A) ;; BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+    (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+    (#xBE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
+    (#xBF ?\u00A9) ;; COPYRIGHT SIGN
+    (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
+    (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
+    (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+    (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+    (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+    (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+    (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+    (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+    (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+    (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
+    (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+    (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
+    (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
+    (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
+    (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
+    (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
+    (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
+    (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
+    (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+    (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+    (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+    (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
+    (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+    (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+    (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+    (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+    (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+    (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+    (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
+    (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+    (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+    (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+    (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+    (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+    (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+    (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+    (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+    (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+    (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+    (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+    (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+    (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+    (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+    (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+    (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+    (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+    (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+    (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+    (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+    (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+    (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+    (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+    (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+    (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+    (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+    (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+    (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+    (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+    (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+    (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+    (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+    (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+    (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+    (#xFF ?\u042A)) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+   mnemonic ",L@C(B"
+   documentation "KOI8-RU, a mostly-compatible superset of KOI8-R. 
 Also known as Windows code page 21866; has Ukrainian and Belarussian support. "
- '(mnemonic ",L@C(B"
    aliases (cp21866)))
 
 ;; We should provide an input method and the corresponding language
 ;; environments for the next three coding systems. 
 
-(make-8-bit-coding-system
- 'koi8-t
- '((#x80 ?\u049B) ;; CYRILLIC SMALL LETTER KA WITH DESCENDER
-   (#x81 ?\u0493) ;; CYRILLIC SMALL LETTER GHE WITH STROKE
-   (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
-   (#x83 ?\u0492) ;; CYRILLIC CAPITAL LETTER GHE WITH STROKE
-   (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
-   (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
-   (#x86 ?\u2020) ;; DAGGER
-   (#x87 ?\u2021) ;; DOUBLE DAGGER
-   (#x89 ?\u2030) ;; PER MILLE SIGN
-   (#x8A ?\u04B3) ;; CYRILLIC SMALL LETTER HA WITH DESCENDER
-   (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-   (#x8C ?\u04B2) ;; CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-   (#x8D ?\u04B7) ;; CYRILLIC SMALL LETTER CHE WITH DESCENDER
-   (#x8E ?\u04B6) ;; CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-   (#x90 ?\u049A) ;; CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-   (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
-   (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
-   (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
-   (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
-   (#x95 ?\u2022) ;; BULLET
-   (#x96 ?\u2013) ;; EN DASH
-   (#x97 ?\u2014) ;; EM DASH
-   (#x99 ?\u2122) ;; TRADE MARK SIGN
-   (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-   (#xA1 ?\u04EF) ;; CYRILLIC SMALL LETTER U WITH MACRON
-   (#xA2 ?\u04EE) ;; CYRILLIC CAPITAL LETTER U WITH MACRON
-   (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
-   (#xA4 ?\u00A4) ;; CURRENCY SIGN
-   (#xA5 ?\u04E3) ;; CYRILLIC SMALL LETTER I WITH MACRON
-   (#xA6 ?\u00A6) ;; BROKEN BAR
-   (#xA7 ?\u00A7) ;; SECTION SIGN
-   (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-   (#xAC ?\u00AC) ;; NOT SIGN
-   (#xAD ?\u00AD) ;; SOFT HYPHEN
-   (#xAE ?\u00AE) ;; REGISTERED SIGN
-   (#xB0 ?\u00B0) ;; DEGREE SIGN
-   (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
-   (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO
-   (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
-   (#xB5 ?\u04E2) ;; CYRILLIC CAPITAL LETTER I WITH MACRON
-   (#xB6 ?\u00B6) ;; PILCROW SIGN
-   (#xB7 ?\u00B7) ;; MIDDLE DOT
-   (#xB9 ?\u2116) ;; NUMERO SIGN
-   (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-   (#xBF ?\u00A9) ;; COPYRIGHT SIGN
-   (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
-   (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
-   (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
-   (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
-   (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
-   (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
-   (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
-   (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
-   (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
-   (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
-   (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
-   (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
-   (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
-   (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
-   (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
-   (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
-   (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
-   (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
-   (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
-   (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
-   (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
-   (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
-   (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
-   (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
-   (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
-   (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
-   (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
-   (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
-   (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
-   (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
-   (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
-   (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
-   (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
-   (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
-   (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
-   (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
-   (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
-   (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
-   (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
-   (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
-   (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
-   (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
-   (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
-   (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
-   (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
-   (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
-   (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
-   (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
-   (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
-   (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
-   (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
-   (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
-   (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
-   (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
-   (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
-   (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
-   (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
-   (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
-   (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
-   (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
-   (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
-   (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
-   (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
-   (#xFF ?\u042A));; CYRILLIC CAPITAL LETTER HARD SIGN
- ",L:>8(B-8 for Tajik."
- '(mnemonic ",LB%GҶ%@(B"
+(make-coding-system
+ 'koi8-t 'fixed-width ",L:>8(B-8 for Tajik."
+ '(unicode-map
+   ((#x80 ?\u049B) ;; CYRILLIC SMALL LETTER KA WITH DESCENDER
+    (#x81 ?\u0493) ;; CYRILLIC SMALL LETTER GHE WITH STROKE
+    (#x82 ?\u201A) ;; SINGLE LOW-9 QUOTATION MARK
+    (#x83 ?\u0492) ;; CYRILLIC CAPITAL LETTER GHE WITH STROKE
+    (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
+    (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
+    (#x86 ?\u2020) ;; DAGGER
+    (#x87 ?\u2021) ;; DOUBLE DAGGER
+    (#x89 ?\u2030) ;; PER MILLE SIGN
+    (#x8A ?\u04B3) ;; CYRILLIC SMALL LETTER HA WITH DESCENDER
+    (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    (#x8C ?\u04B2) ;; CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+    (#x8D ?\u04B7) ;; CYRILLIC SMALL LETTER CHE WITH DESCENDER
+    (#x8E ?\u04B6) ;; CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+    (#x90 ?\u049A) ;; CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+    (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
+    (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
+    (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
+    (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
+    (#x95 ?\u2022) ;; BULLET
+    (#x96 ?\u2013) ;; EN DASH
+    (#x97 ?\u2014) ;; EM DASH
+    (#x99 ?\u2122) ;; TRADE MARK SIGN
+    (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    (#xA1 ?\u04EF) ;; CYRILLIC SMALL LETTER U WITH MACRON
+    (#xA2 ?\u04EE) ;; CYRILLIC CAPITAL LETTER U WITH MACRON
+    (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+    (#xA4 ?\u00A4) ;; CURRENCY SIGN
+    (#xA5 ?\u04E3) ;; CYRILLIC SMALL LETTER I WITH MACRON
+    (#xA6 ?\u00A6) ;; BROKEN BAR
+    (#xA7 ?\u00A7) ;; SECTION SIGN
+    (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    (#xAC ?\u00AC) ;; NOT SIGN
+    (#xAD ?\u00AD) ;; SOFT HYPHEN
+    (#xAE ?\u00AE) ;; REGISTERED SIGN
+    (#xB0 ?\u00B0) ;; DEGREE SIGN
+    (#xB1 ?\u00B1) ;; PLUS-MINUS SIGN
+    (#xB2 ?\u00B2) ;; SUPERSCRIPT TWO
+    (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+    (#xB5 ?\u04E2) ;; CYRILLIC CAPITAL LETTER I WITH MACRON
+    (#xB6 ?\u00B6) ;; PILCROW SIGN
+    (#xB7 ?\u00B7) ;; MIDDLE DOT
+    (#xB9 ?\u2116) ;; NUMERO SIGN
+    (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    (#xBF ?\u00A9) ;; COPYRIGHT SIGN
+    (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
+    (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
+    (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+    (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+    (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+    (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+    (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+    (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+    (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+    (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
+    (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+    (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
+    (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
+    (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
+    (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
+    (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
+    (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
+    (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
+    (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+    (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+    (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+    (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
+    (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+    (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+    (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+    (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+    (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+    (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+    (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
+    (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+    (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+    (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+    (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+    (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+    (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+    (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+    (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+    (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+    (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+    (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+    (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+    (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+    (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+    (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+    (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+    (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+    (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+    (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+    (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+    (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+    (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+    (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+    (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+    (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+    (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+    (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+    (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+    (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+    (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+    (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+    (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+    (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+    (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+    (#xFF ?\u042A)) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+   mnemonic ",LB%GҶ%@(B"
    documentation
    "Compatible in the alphabetic characters with KOI-8R for Russian,
 this 8-bit Cyrillic coding system makes those characters available
@@ -1163,138 +1167,138 @@
   (put-case-table-pair upper lower case-table))
 
 ;; Support fot the languages of the Caucasus.
-(make-8-bit-coding-system
- 'koi8-c
- '((#x80 ?\u0493) ;; CYRILLIC SMALL LETTER GHE WITH STROKE
-   (#x81 ?\u0497) ;; CYRILLIC SMALL LETTER ZHE WITH DESCENDER
-   (#x82 ?\u049B) ;; CYRILLIC SMALL LETTER KA WITH DESCENDER
-   (#x83 ?\u049D) ;; CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
-   (#x84 ?\u04A3) ;; CYRILLIC SMALL LETTER EN WITH DESCENDER
-   (#x85 ?\u04AF) ;; CYRILLIC SMALL LETTER STRAIGHT U
-   (#x86 ?\u04B1) ;; CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
-   (#x87 ?\u04B3) ;; CYRILLIC SMALL LETTER HA WITH DESCENDER
-   (#x88 ?\u04B7) ;; CYRILLIC SMALL LETTER CHE WITH DESCENDER
-   (#x89 ?\u04B9) ;; CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
-   (#x8A ?\u04BB) ;; CYRILLIC SMALL LETTER SHHA
-   (#x8B ?\u2580) ;; UPPER HALF BLOCK
-   (#x8C ?\u049D) ;; CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
-   (#x8D ?\u04E3) ;; CYRILLIC SMALL LETTER I WITH MACRON
-   (#x8E ?\u04E9) ;; CYRILLIC SMALL LETTER BARRED O
-   (#x8F ?\u04EF) ;; CYRILLIC SMALL LETTER U WITH MACRON
-   (#x90 ?\u0492) ;; CYRILLIC CAPITAL LETTER GHE WITH STROKE
-   (#x91 ?\u0496) ;; CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-   (#x92 ?\u049A) ;; CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-   (#x93 ?\u049C) ;; CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-   (#x94 ?\u04A2) ;; CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-   (#x95 ?\u04AE) ;; CYRILLIC CAPITAL LETTER STRAIGHT U
-   (#x96 ?\u04B0) ;; CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-   (#x97 ?\u04B2) ;; CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-   (#x98 ?\u04B6) ;; CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-   (#x99 ?\u04B8) ;; CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-   (#x9A ?\u04BA) ;; CYRILLIC CAPITAL LETTER SHHA
-   (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
-   (#x9C ?\u04D8) ;; CYRILLIC CAPITAL LETTER SCHWA
-   (#x9D ?\u04E2) ;; CYRILLIC CAPITAL LETTER I WITH MACRON
-   (#x9E ?\u04E8) ;; CYRILLIC CAPITAL LETTER BARRED O
-   (#x9F ?\u04EE) ;; CYRILLIC CAPITAL LETTER U WITH MACRON
-   (#xA0 ?\u00A0) ;; NO-BREAK SPACE
-   (#xA1 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
-   (#xA2 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
-   (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
-   (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
-   (#xA5 ?\u0455) ;; CYRILLIC SMALL LETTER DZE
-   (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-   (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
-   (#xA8 ?\u0458) ;; CYRILLIC SMALL LETTER JE
-   (#xA9 ?\u0459) ;; CYRILLIC SMALL LETTER LJE
-   (#xAA ?\u045A) ;; CYRILLIC SMALL LETTER NJE
-   (#xAB ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
-   (#xAC ?\u045C) ;; CYRILLIC SMALL LETTER KJE
-   (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
-   (#xAE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
-   (#xAF ?\u045F) ;; CYRILLIC SMALL LETTER DZHE
-   (#xB0 ?\u2116) ;; NUMERO SIGN
-   (#xB1 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
-   (#xB2 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
-   (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
-   (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
-   (#xB5 ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
-   (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-   (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
-   (#xB8 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
-   (#xB9 ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
-   (#xBA ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
-   (#xBB ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
-   (#xBC ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
-   (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-   (#xBE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
-   (#xBF ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
-   (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
-   (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
-   (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
-   (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
-   (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
-   (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
-   (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
-   (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
-   (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
-   (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
-   (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
-   (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
-   (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
-   (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
-   (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
-   (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
-   (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
-   (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
-   (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
-   (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
-   (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
-   (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
-   (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
-   (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
-   (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
-   (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
-   (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
-   (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
-   (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
-   (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
-   (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
-   (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
-   (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
-   (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
-   (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
-   (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
-   (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
-   (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
-   (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
-   (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
-   (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
-   (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
-   (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
-   (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
-   (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
-   (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
-   (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
-   (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
-   (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
-   (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
-   (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
-   (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
-   (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
-   (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
-   (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
-   (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
-   (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
-   (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
-   (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
-   (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
-   (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
-   (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
-   (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
-   (#xFF ?\u042A));; CYRILLIC CAPITAL LETTER HARD SIGN
- "KOI-8 for the Caucasus."
- '(documentation 
+(make-coding-system
+ 'koi8-c 'fixed-width "KOI-8, Caucasus."
+ '(unicode-map
+   ((#x80 ?\u0493) ;; CYRILLIC SMALL LETTER GHE WITH STROKE
+    (#x81 ?\u0497) ;; CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+    (#x82 ?\u049B) ;; CYRILLIC SMALL LETTER KA WITH DESCENDER
+    (#x83 ?\u049D) ;; CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+    (#x84 ?\u04A3) ;; CYRILLIC SMALL LETTER EN WITH DESCENDER
+    (#x85 ?\u04AF) ;; CYRILLIC SMALL LETTER STRAIGHT U
+    (#x86 ?\u04B1) ;; CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+    (#x87 ?\u04B3) ;; CYRILLIC SMALL LETTER HA WITH DESCENDER
+    (#x88 ?\u04B7) ;; CYRILLIC SMALL LETTER CHE WITH DESCENDER
+    (#x89 ?\u04B9) ;; CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+    (#x8A ?\u04BB) ;; CYRILLIC SMALL LETTER SHHA
+    (#x8B ?\u2580) ;; UPPER HALF BLOCK
+    (#x8C ?\u049D) ;; CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+    (#x8D ?\u04E3) ;; CYRILLIC SMALL LETTER I WITH MACRON
+    (#x8E ?\u04E9) ;; CYRILLIC SMALL LETTER BARRED O
+    (#x8F ?\u04EF) ;; CYRILLIC SMALL LETTER U WITH MACRON
+    (#x90 ?\u0492) ;; CYRILLIC CAPITAL LETTER GHE WITH STROKE
+    (#x91 ?\u0496) ;; CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+    (#x92 ?\u049A) ;; CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+    (#x93 ?\u049C) ;; CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+    (#x94 ?\u04A2) ;; CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+    (#x95 ?\u04AE) ;; CYRILLIC CAPITAL LETTER STRAIGHT U
+    (#x96 ?\u04B0) ;; CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+    (#x97 ?\u04B2) ;; CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+    (#x98 ?\u04B6) ;; CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+    (#x99 ?\u04B8) ;; CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+    (#x9A ?\u04BA) ;; CYRILLIC CAPITAL LETTER SHHA
+    (#x9B ?\u2321) ;; BOTTOM HALF INTEGRAL
+    (#x9C ?\u04D8) ;; CYRILLIC CAPITAL LETTER SCHWA
+    (#x9D ?\u04E2) ;; CYRILLIC CAPITAL LETTER I WITH MACRON
+    (#x9E ?\u04E8) ;; CYRILLIC CAPITAL LETTER BARRED O
+    (#x9F ?\u04EE) ;; CYRILLIC CAPITAL LETTER U WITH MACRON
+    (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+    (#xA1 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
+    (#xA2 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
+    (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+    (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
+    (#xA5 ?\u0455) ;; CYRILLIC SMALL LETTER DZE
+    (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
+    (#xA8 ?\u0458) ;; CYRILLIC SMALL LETTER JE
+    (#xA9 ?\u0459) ;; CYRILLIC SMALL LETTER LJE
+    (#xAA ?\u045A) ;; CYRILLIC SMALL LETTER NJE
+    (#xAB ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
+    (#xAC ?\u045C) ;; CYRILLIC SMALL LETTER KJE
+    (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
+    (#xAE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
+    (#xAF ?\u045F) ;; CYRILLIC SMALL LETTER DZHE
+    (#xB0 ?\u2116) ;; NUMERO SIGN
+    (#xB1 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
+    (#xB2 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
+    (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+    (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    (#xB5 ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
+    (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
+    (#xB8 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
+    (#xB9 ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
+    (#xBA ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
+    (#xBB ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
+    (#xBC ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
+    (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+    (#xBE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
+    (#xBF ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
+    (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
+    (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
+    (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+    (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+    (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+    (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+    (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+    (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+    (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+    (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
+    (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+    (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
+    (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
+    (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
+    (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
+    (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
+    (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
+    (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
+    (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+    (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+    (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+    (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
+    (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+    (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+    (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+    (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+    (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+    (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+    (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
+    (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+    (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+    (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+    (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+    (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+    (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+    (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+    (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+    (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+    (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+    (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+    (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+    (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+    (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+    (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+    (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+    (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+    (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+    (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+    (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+    (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+    (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+    (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+    (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+    (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+    (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+    (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+    (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+    (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+    (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+    (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+    (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+    (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+    (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+    (#xFF ?\u042A)) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+   documentation 
    "Note that this does not support old Russian orthography;
 for that, see koi8-o. "))
 
@@ -1315,138 +1319,138 @@
   (put-case-table-pair upper lower case-table))
 
 ;; Archaic Russian support.
-(make-8-bit-coding-system
- 'koi8-o
- '((#x80 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
-   (#x81 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
-   (#x82 ?\u00B8) ;; CEDILLA
-   (#x83 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
-   (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
-   (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
-   (#x86 ?\u2020) ;; DAGGER
-   (#x87 ?\u00A7) ;; SECTION SIGN
-   (#x88 ?\u20AC) ;; EURO SIGN
-   (#x89 ?\u00A8) ;; DIAERESIS
-   (#x8A ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
-   (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-   (#x8C ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
-   (#x8D ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
-   (#x8E ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
-   (#x8F ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
-   (#x90 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
-   (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
-   (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
-   (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
-   (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
-   (#x95 ?\u2022) ;; BULLET
-   (#x96 ?\u2013) ;; EN DASH
-   (#x97 ?\u2014) ;; EM DASH
-   (#x98 ?\u00A3) ;; POUND SIGN
-   (#x99 ?\u00B7) ;; MIDDLE DOT
-   (#x9A ?\u0459) ;; CYRILLIC SMALL LETTER LJE
-   (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-   (#x9C ?\u045A) ;; CYRILLIC SMALL LETTER NJE
-   (#x9D ?\u045C) ;; CYRILLIC SMALL LETTER KJE
-   (#x9E ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
-   (#x9F ?\u045F) ;; CYRILLIC SMALL LETTER DZHE
-   (#xA0 ?\u00A0) ;; NO-BREAK SPACE
-   (#xA1 ?\u0475) ;; CYRILLIC SMALL LETTER IZHITSA
-   (#xA2 ?\u0463) ;; CYRILLIC SMALL LETTER YAT
-   (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
-   (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
-   (#xA5 ?\u0455) ;; CYRILLIC SMALL LETTER DZE
-   (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-   (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
-   (#xA8 ?\u0458) ;; CYRILLIC SMALL LETTER JE
-   (#xA9 ?\u00AE) ;; REGISTERED SIGN
-   (#xAA ?\u2122) ;; TRADE MARK SIGN
-   (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-   (#xAC ?\u0473) ;; CYRILLIC SMALL LETTER FITA
-   (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
-   (#xAE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
-   (#xAF ?\u00B4) ;; ACUTE ACCENT
-   (#xB0 ?\u00B0) ;; DEGREE SIGN
-   (#xB1 ?\u0474) ;; CYRILLIC CAPITAL LETTER IZHITSA
-   (#xB2 ?\u0462) ;; CYRILLIC CAPITAL LETTER YAT
-   (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
-   (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
-   (#xB5 ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
-   (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-   (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
-   (#xB8 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
-   (#xB9 ?\u2116) ;; NUMERO SIGN
-   (#xBA ?\u00A2) ;; CENT SIGN
-   (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-   (#xBC ?\u0472) ;; CYRILLIC CAPITAL LETTER FITA
-   (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
-   (#xBE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
-   (#xBF ?\u00A9) ;; COPYRIGHT SIGN
-   (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
-   (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
-   (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
-   (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
-   (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
-   (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
-   (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
-   (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
-   (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
-   (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
-   (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
-   (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
-   (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
-   (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
-   (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
-   (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
-   (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
-   (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
-   (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
-   (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
-   (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
-   (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
-   (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
-   (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
-   (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
-   (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
-   (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
-   (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
-   (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
-   (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
-   (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
-   (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
-   (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
-   (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
-   (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
-   (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
-   (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
-   (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
-   (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
-   (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
-   (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
-   (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
-   (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
-   (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
-   (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
-   (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
-   (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
-   (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
-   (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
-   (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
-   (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
-   (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
-   (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
-   (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
-   (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
-   (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
-   (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
-   (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
-   (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
-   (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
-   (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
-   (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
-   (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
-   (#xFF ?\u042A));; CYRILLIC CAPITAL LETTER HARD SIGN
- "KOI-8 for old-orthography Russian; also known as KOI-C."
- '(mnemonic ",L:>(B"
+(make-coding-system
+ 'koi8-o 'fixed-width "Old-orthography Russian"
+ '(unicode-map
+   ((#x80 ?\u0402) ;; CYRILLIC CAPITAL LETTER DJE
+    (#x81 ?\u0403) ;; CYRILLIC CAPITAL LETTER GJE
+    (#x82 ?\u00B8) ;; CEDILLA
+    (#x83 ?\u0453) ;; CYRILLIC SMALL LETTER GJE
+    (#x84 ?\u201E) ;; DOUBLE LOW-9 QUOTATION MARK
+    (#x85 ?\u2026) ;; HORIZONTAL ELLIPSIS
+    (#x86 ?\u2020) ;; DAGGER
+    (#x87 ?\u00A7) ;; SECTION SIGN
+    (#x88 ?\u20AC) ;; EURO SIGN
+    (#x89 ?\u00A8) ;; DIAERESIS
+    (#x8A ?\u0409) ;; CYRILLIC CAPITAL LETTER LJE
+    (#x8B ?\u2039) ;; SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+    (#x8C ?\u040A) ;; CYRILLIC CAPITAL LETTER NJE
+    (#x8D ?\u040C) ;; CYRILLIC CAPITAL LETTER KJE
+    (#x8E ?\u040B) ;; CYRILLIC CAPITAL LETTER TSHE
+    (#x8F ?\u040F) ;; CYRILLIC CAPITAL LETTER DZHE
+    (#x90 ?\u0452) ;; CYRILLIC SMALL LETTER DJE
+    (#x91 ?\u2018) ;; LEFT SINGLE QUOTATION MARK
+    (#x92 ?\u2019) ;; RIGHT SINGLE QUOTATION MARK
+    (#x93 ?\u201C) ;; LEFT DOUBLE QUOTATION MARK
+    (#x94 ?\u201D) ;; RIGHT DOUBLE QUOTATION MARK
+    (#x95 ?\u2022) ;; BULLET
+    (#x96 ?\u2013) ;; EN DASH
+    (#x97 ?\u2014) ;; EM DASH
+    (#x98 ?\u00A3) ;; POUND SIGN
+    (#x99 ?\u00B7) ;; MIDDLE DOT
+    (#x9A ?\u0459) ;; CYRILLIC SMALL LETTER LJE
+    (#x9B ?\u203A) ;; SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+    (#x9C ?\u045A) ;; CYRILLIC SMALL LETTER NJE
+    (#x9D ?\u045C) ;; CYRILLIC SMALL LETTER KJE
+    (#x9E ?\u045B) ;; CYRILLIC SMALL LETTER TSHE
+    (#x9F ?\u045F) ;; CYRILLIC SMALL LETTER DZHE
+    (#xA0 ?\u00A0) ;; NO-BREAK SPACE
+    (#xA1 ?\u0475) ;; CYRILLIC SMALL LETTER IZHITSA
+    (#xA2 ?\u0463) ;; CYRILLIC SMALL LETTER YAT
+    (#xA3 ?\u0451) ;; CYRILLIC SMALL LETTER IO
+    (#xA4 ?\u0454) ;; CYRILLIC SMALL LETTER UKRAINIAN IE
+    (#xA5 ?\u0455) ;; CYRILLIC SMALL LETTER DZE
+    (#xA6 ?\u0456) ;; CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+    (#xA7 ?\u0457) ;; CYRILLIC SMALL LETTER YI
+    (#xA8 ?\u0458) ;; CYRILLIC SMALL LETTER JE
+    (#xA9 ?\u00AE) ;; REGISTERED SIGN
+    (#xAA ?\u2122) ;; TRADE MARK SIGN
+    (#xAB ?\u00AB) ;; LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+    (#xAC ?\u0473) ;; CYRILLIC SMALL LETTER FITA
+    (#xAD ?\u0491) ;; CYRILLIC SMALL LETTER GHE WITH UPTURN
+    (#xAE ?\u045E) ;; CYRILLIC SMALL LETTER SHORT U
+    (#xAF ?\u00B4) ;; ACUTE ACCENT
+    (#xB0 ?\u00B0) ;; DEGREE SIGN
+    (#xB1 ?\u0474) ;; CYRILLIC CAPITAL LETTER IZHITSA
+    (#xB2 ?\u0462) ;; CYRILLIC CAPITAL LETTER YAT
+    (#xB3 ?\u0401) ;; CYRILLIC CAPITAL LETTER IO
+    (#xB4 ?\u0404) ;; CYRILLIC CAPITAL LETTER UKRAINIAN IE
+    (#xB5 ?\u0405) ;; CYRILLIC CAPITAL LETTER DZE
+    (#xB6 ?\u0406) ;; CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+    (#xB7 ?\u0407) ;; CYRILLIC CAPITAL LETTER YI
+    (#xB8 ?\u0408) ;; CYRILLIC CAPITAL LETTER JE
+    (#xB9 ?\u2116) ;; NUMERO SIGN
+    (#xBA ?\u00A2) ;; CENT SIGN
+    (#xBB ?\u00BB) ;; RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+    (#xBC ?\u0472) ;; CYRILLIC CAPITAL LETTER FITA
+    (#xBD ?\u0490) ;; CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+    (#xBE ?\u040E) ;; CYRILLIC CAPITAL LETTER SHORT U
+    (#xBF ?\u00A9) ;; COPYRIGHT SIGN
+    (#xC0 ?\u044E) ;; CYRILLIC SMALL LETTER YU
+    (#xC1 ?\u0430) ;; CYRILLIC SMALL LETTER A
+    (#xC2 ?\u0431) ;; CYRILLIC SMALL LETTER BE
+    (#xC3 ?\u0446) ;; CYRILLIC SMALL LETTER TSE
+    (#xC4 ?\u0434) ;; CYRILLIC SMALL LETTER DE
+    (#xC5 ?\u0435) ;; CYRILLIC SMALL LETTER IE
+    (#xC6 ?\u0444) ;; CYRILLIC SMALL LETTER EF
+    (#xC7 ?\u0433) ;; CYRILLIC SMALL LETTER GHE
+    (#xC8 ?\u0445) ;; CYRILLIC SMALL LETTER HA
+    (#xC9 ?\u0438) ;; CYRILLIC SMALL LETTER I
+    (#xCA ?\u0439) ;; CYRILLIC SMALL LETTER SHORT I
+    (#xCB ?\u043A) ;; CYRILLIC SMALL LETTER KA
+    (#xCC ?\u043B) ;; CYRILLIC SMALL LETTER EL
+    (#xCD ?\u043C) ;; CYRILLIC SMALL LETTER EM
+    (#xCE ?\u043D) ;; CYRILLIC SMALL LETTER EN
+    (#xCF ?\u043E) ;; CYRILLIC SMALL LETTER O
+    (#xD0 ?\u043F) ;; CYRILLIC SMALL LETTER PE
+    (#xD1 ?\u044F) ;; CYRILLIC SMALL LETTER YA
+    (#xD2 ?\u0440) ;; CYRILLIC SMALL LETTER ER
+    (#xD3 ?\u0441) ;; CYRILLIC SMALL LETTER ES
+    (#xD4 ?\u0442) ;; CYRILLIC SMALL LETTER TE
+    (#xD5 ?\u0443) ;; CYRILLIC SMALL LETTER U
+    (#xD6 ?\u0436) ;; CYRILLIC SMALL LETTER ZHE
+    (#xD7 ?\u0432) ;; CYRILLIC SMALL LETTER VE
+    (#xD8 ?\u044C) ;; CYRILLIC SMALL LETTER SOFT SIGN
+    (#xD9 ?\u044B) ;; CYRILLIC SMALL LETTER YERU
+    (#xDA ?\u0437) ;; CYRILLIC SMALL LETTER ZE
+    (#xDB ?\u0448) ;; CYRILLIC SMALL LETTER SHA
+    (#xDC ?\u044D) ;; CYRILLIC SMALL LETTER E
+    (#xDD ?\u0449) ;; CYRILLIC SMALL LETTER SHCHA
+    (#xDE ?\u0447) ;; CYRILLIC SMALL LETTER CHE
+    (#xDF ?\u044A) ;; CYRILLIC SMALL LETTER HARD SIGN
+    (#xE0 ?\u042E) ;; CYRILLIC CAPITAL LETTER YU
+    (#xE1 ?\u0410) ;; CYRILLIC CAPITAL LETTER A
+    (#xE2 ?\u0411) ;; CYRILLIC CAPITAL LETTER BE
+    (#xE3 ?\u0426) ;; CYRILLIC CAPITAL LETTER TSE
+    (#xE4 ?\u0414) ;; CYRILLIC CAPITAL LETTER DE
+    (#xE5 ?\u0415) ;; CYRILLIC CAPITAL LETTER IE
+    (#xE6 ?\u0424) ;; CYRILLIC CAPITAL LETTER EF
+    (#xE7 ?\u0413) ;; CYRILLIC CAPITAL LETTER GHE
+    (#xE8 ?\u0425) ;; CYRILLIC CAPITAL LETTER HA
+    (#xE9 ?\u0418) ;; CYRILLIC CAPITAL LETTER I
+    (#xEA ?\u0419) ;; CYRILLIC CAPITAL LETTER SHORT I
+    (#xEB ?\u041A) ;; CYRILLIC CAPITAL LETTER KA
+    (#xEC ?\u041B) ;; CYRILLIC CAPITAL LETTER EL
+    (#xED ?\u041C) ;; CYRILLIC CAPITAL LETTER EM
+    (#xEE ?\u041D) ;; CYRILLIC CAPITAL LETTER EN
+    (#xEF ?\u041E) ;; CYRILLIC CAPITAL LETTER O
+    (#xF0 ?\u041F) ;; CYRILLIC CAPITAL LETTER PE
+    (#xF1 ?\u042F) ;; CYRILLIC CAPITAL LETTER YA
+    (#xF2 ?\u0420) ;; CYRILLIC CAPITAL LETTER ER
+    (#xF3 ?\u0421) ;; CYRILLIC CAPITAL LETTER ES
+    (#xF4 ?\u0422) ;; CYRILLIC CAPITAL LETTER TE
+    (#xF5 ?\u0423) ;; CYRILLIC CAPITAL LETTER U
+    (#xF6 ?\u0416) ;; CYRILLIC CAPITAL LETTER ZHE
+    (#xF7 ?\u0412) ;; CYRILLIC CAPITAL LETTER VE
+    (#xF8 ?\u042C) ;; CYRILLIC CAPITAL LETTER SOFT SIGN
+    (#xF9 ?\u042B) ;; CYRILLIC CAPITAL LETTER YERU
+    (#xFA ?\u0417) ;; CYRILLIC CAPITAL LETTER ZE
+    (#xFB ?\u0428) ;; CYRILLIC CAPITAL LETTER SHA
+    (#xFC ?\u042D) ;; CYRILLIC CAPITAL LETTER E
+    (#xFD ?\u0429) ;; CYRILLIC CAPITAL LETTER SHCHA
+    (#xFE ?\u0427) ;; CYRILLIC CAPITAL LETTER CHE
+    (#xFF ?\u042A)) ;; CYRILLIC CAPITAL LETTER HARD SIGN
+   mnemonic ",L:>(B"
    documentation
    "KOI-8 for old-orthography Russian; also known as KOI-C.