;ELC ;;; compiled by mamont@yozhik.chu.cam.ac.uk on Mon Mar 18 00:30:42 2002 ;;; from file /home/mamont/russian.el ;;; emacs version 21.4 (patch 6) "Common Lisp" XEmacs Lucid. ;;; bytecomp version 2.27 XEmacs; 2000-09-12. ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 19. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "20"))) (error "`russian.el' was compiled for Emacs 20")) (or (boundp 'current-load-list) (setq current-load-list nil)) #@216 The encoding of the font used to display Cyrillic characters. Possible values are listed in `russian-font-list'. Names of transliteration schemes can be also used in this variable, if no Cyrillic font is available. (defvar russian-font-name "8koi" (#$ . 562)) #@89 *The encoding of displayed buffer. Possible values are listed in `russian-buffer-list'. (defvar russian-buffer-name "8koi" (#$ . -828)) #@214 Type of Russian keyboard. If `ascii' use phonetic correspondence between Cyrillic and Latin characters. If `jcuken' use standard russian typewriter keyboard. Possible values are listed in `russian-keyboard-list'. (defvar russian-keyboard-name "ascii" (#$ . 971)) #@95 *The encoding of input Cyrillic characters. Possible values are listed in `russian-mode-list' (defvar russian-mode-name "8koi" (#$ . -1240)) #@39 Names of user defined font encodings. (defvar russian-font-additional-list nil (#$ . 1387)) #@50 Names of user defined buffer Cyrillic encodings. (defvar russian-buffer-additional-list nil (#$ . 1485)) #@52 Names of user defined keyboard Cyrillic encodings. (defvar russian-keyboard-additional-list nil (#$ . 1596)) #@63 Names of user defined encodings for `russian-insertion-mode'. (defvar russian-mode-additional-list nil (#$ . 1711)) #@217 Alist of automatic parameter settings for russian.el. Each element looks like (REGEXP . ENCODING). Specify ENCODING as the default for `russian-buffer-name' and `russian-mode-name' in files whose names match REGEXP. (defvar russian-auto-mode-alist (list '("\\.\\(8koi\\|koi8?\\)\\'" . "8koi") '("\\.alt\\'" . "alt") '("\\.iso\\'" . "gostcii") '("\\.\\(7koi\\|koi7\\)\\'" . "7koi") '("\\.dir" . "moshkov")) (#$ . 1834)) #@102 File names which require use of russian minor mode by default. Used by function `russian-auto-mode'. (defvar russian-auto-mode-regexp "\\.\\([78]koi\\|koi[78]?\\|iso\\|alt\\|dir\\)\\'" (#$ . 2260)) #@690 Alist of user defined Cyrillic encodings. Each element looks like (PROMPT ENCODING MDLNENAME DECODING-RULE FILTER-FROM FILTER-TO). For example: ("wtvr" russian-encoding-whatever "WHATEVER" russian-encoding-whatever-decoding-rule russian-encoding-whatever-filter-from russian-encoding-whatever-filter-to) PROMPT is a string easy to type, in our case "wtvr". ENCODING is the name of the variable defining the encoding, in our case russian-encoding-whatever. MDLNENAME is a string for the modeline, i.e. "WHATEVER". DECODING-RULE is russian-encoding-whatever-decoding-rule or nil. FILTER-TO (FILTER-FROM) are russian-encoding-whatever-filter-to (resp. from) or nil. (defvar russian-encoding-additional-alist nil (#$ . 2465)) #@37 Alist of default Russian encodings. (defconst russian-encoding-default-alist '(("ascii" russian-encoding-ascii "ASCII") ("7koi" russian-encoding-7koi "KOI-7") ("alt" russian-encoding-alt "ALT") ("8koi" russian-encoding-8koi "KOI-8") ("mac" russian-encoding-mac "MAC") ("win-cp1251" russian-encoding-win-cp1251 "WIN") ("osn" russian-encoding-osn "OSN") ("gostcii" russian-encoding-gostcii "GOSTCII") ("moshkov" russian-encoding-moshkov "moshkov") ("naive" russian-encoding-naive "NAIVE" russian-encoding-naive-decoding-rule) ("libcon" russian-encoding-libcon "LibCon" russian-encoding-libcon-decoding-rule) ("broken-8koi" russian-encoding-broken-8koi "BrknKOI-8" russian-encoding-broken-8koi-decoding-rule) ("tex" russian-encoding-tex "CyrTeX" russian-encoding-tex-decoding-rule) ("jcuken" russian-encoding-jcuken "JCUKEN" nil russian-encoding-jcuken-filter-from russian-encoding-jcuken-filter-to) ("jcuken-win" russian-encoding-jcukenwin "JCUKEN-Win" nil russian-encoding-jcukenwin-filter-from russian-encoding-jcukenwin-filter-to) ("cp500" russian-encoding-cp500 "CP500") ("ebcdic" russian-encoding-ebcdic "EBCDIC") ("dkoi" russian-encoding-dkoi "DKOI") ("ascii2" russian-encoding-ascii2 "ASCII-2") ("xkb" russian-encoding-xkb "XKB" nil nil nil t) ("unumeric" russian-encoding-unumeric "UNUMERIC")) (#$ . 3219)) #@145 Cyrillic fonts and transliterations supported by default. Add new fonts and transliteration schemes by changing `russian-font-additional-list'. (defconst russian-font-default-list '("ascii" "ascii2" "7koi" "alt" "8koi" "mac" "win-cp1251" "osn" "moshkov" "gostcii" "naive" "libcon" "jcuken" "jcuken-win") (#$ . 4539)) #@144 Cyrillic encodings and transliterations whose display is supported by default. Add new encodings by changing `russian-buffer-additional-list'. (defconst russian-buffer-default-list '("ascii" "ascii2" "7koi" "alt" "8koi" "mac" "win-cp1251" "osn" "moshkov" "gostcii" "naive" "libcon" "broken-8koi" "tex" "jcuken" "jcuken-win" "cp500" "ebcdic" "dkoi") (#$ . 4863)) #@108 Cyrillic keyboards supported by default. Add new keyboards by changing `russian-keyboard-additional-list'. (defconst russian-keyboard-default-list '("ascii" "ascii2" "jcuken" "jcuken-win" "xkb" "alt" "moshkov" "8koi" "mac" "win-cp1251" "osn") (#$ . 5232)) #@132 Cyrillic encodings supported by default in `russian-insertion-mode'. Add new encodings by changing `russian-mode-additional-list'. (defconst russian-mode-default-list '("ascii" "7koi" "alt" "8koi" "mac" "win-cp1251" "osn" "gostcii" "xkb" "moshkov" "naive" "libcon" "broken-8koi" "tex" "jcuken" "jcuken-win" "cp500" "ebcdic" "dkoi") (#$ . 5495)) #@152 Encoding used in internal conversions by russian.el. This should be an encoding of the "string" type and coincide with ASCII for characters below 127. (defconst russian-safe-encoding-name "8koi" (#$ . 5847)) #@402 Determine the default russian encoding of a file by its name. Take the name of the file visited in the current buffer. Search in `russian-auto-mode-alist' for a REGEXP matching the value of `buffer-file-name' until the first match and use the corresponding ENCODING to set `russian-buffer-name'. Use the global defaults if no matches are found. Do nothing if no file is visited in the current buffer. (defalias 'russian-set-default-encoding #[nil " !\nsȉ \" B! ," [name case-fold-search system-type buffer-file-name enc match-list file-name-sans-versions (vax-vms windows-nt) nil mapcar #[(x) " @\" A" [name x string-match] 3] eval or russian-auto-mode-alist russian-buffer-name] 5 (#$ . 6062) nil]) #@178 Check if the file requires use of russian minor mode. If the name of file visited in the curent buffer matches `russian-auto-mode-regexp' turn on russian minor mode by default. (defalias 'russian-auto-mode #[nil "  !\"!" [russian-auto-mode-regexp buffer-file-name string-match file-name-sans-versions russian-mode 1] 4 (#$ . 6799)]) (make-variable-buffer-local 'russian-buffer-name) #@107 List of encodings known to russian.el. Add new encodings by changing `russian-encoding-additional-alist'. (defvar russian-encoding-alist (append russian-encoding-default-alist russian-encoding-additional-alist) (#$ . 7199)) #@142 List of supported cyrillic fonts and transliterations. Add new fonts and transliteration schemes by changing `russian-font-additional-list'. (defvar russian-font-list (append russian-font-default-list russian-font-additional-list) (#$ . 7430)) #@118 List of Russian encodings whose display is supported. Add new encodings by changing `russian-buffer-additional-list' (defvar russian-buffer-list (append russian-buffer-default-list russian-buffer-additional-list) (#$ . 7681)) #@105 List of supported cyrillic keyboards. Add new keyboards by changing `russian-keyboard-additional-list'. (defvar russian-keyboard-list (append russian-keyboard-default-list russian-keyboard-additional-list) (#$ . 7914)) #@128 List of Russian encodings supported in `russian-insertion-mode'. Add new encodings by changing `russian-mode-additional-list'. (defvar russian-mode-list (append russian-mode-default-list russian-mode-additional-list) (#$ . 8140)) (byte-code " B! \" B! \" B!@\" B!A\"\n B B B B B B B B B B B B! B# B% B' B) B+ B- B/ B1 B B 4 B5 B7 B9 B; B= BC ?B BD B‡" [russian-buffer-alist russian-buffer-list russian-font-alist russian-font-list russian-encoding-libcon-decoding-rule current-load-list boundp mapcar list russian-keyboard-alist russian-mode-alist russian-encoding-unumeric [0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32] russian-encoding-ascii "abwgde^vzijklmnoprstufhc=[]#yx\\`qABWGDE&VZIJKLMNOPRSTUFHC+{}$YX|~Q" russian-encoding-7koi "ABWGDE#VZIJKLMNOPRSTUFHC^[]_YX\\@Qabwgde$vzijklmnoprstufhc~{}\"yx|`q" russian-encoding-alt "񦧨" russian-encoding-8koi "ţ" russian-encoding-gostcii "ﰱ" russian-encoding-osn "ﰱ𶷸" russian-encoding-win-cp1251 "Ũ" russian-encoding-mac "݆" russian-encoding-moshkov "ųݬ" russian-encoding-cp500 "iI쿀YDEBFCGHTQRSXUVWڛdebfcghtqrsxuvw" russian-encoding-dkoi "wxYvBʻu" russian-encoding-ebcdic "ݮXYbcdeBfghipqrstuvwx" russian-encoding-jcuken "f,dult/;pbqrkvyjghcnea[wxio]sm'.zFZ" russian-encoding-jcukenwin "f,dult`;pbqrkvyjghcnea[wxio]sm'.zFZ" russian-encoding-naive ("a" "b" "v" "g" "d" "e" "e" "zh" "z" "i" "j" "k" "l" "m" "n" "o" "p" "r" "s" "t" "u" "f" "h" "c" "ch" "sh" "sch" "'" "y" "'" "e" "yu" "ya" "A" "B" "V" "G" "D" "E" "E" "Zh" "Z" "I" "J" "K" "L" "M" "N" "O" "P" "R" "S" "T" "U" "F" "H" "C" "Ch" "Sh" "Sch" "'" "Y" "'" "E" "Yu" "Ya") russian-encoding-libcon ("a" "b" "v" "g" "d" "e" "e" "zh" "z" "i" "j" "k" "l" "m" "n" "o" "p" "r" "s" "t" "u" "f" "x" "ts" "ch" "sh" "shch" "\"" "y" "'" "e" "ju" "ja" "A" "B" "V" "G" "D" "E" "E" "ZH" "Z" "I" "J" "K" "L" "M" "N" "O" "P" "R" "S" "T" "U" "F" "X" "TS" "CH" "SH" "SHCH" "\"" "Y" "'" "E" "JU" "JA") russian-encoding-broken-8koi ("=C1" "=C2" "=D7" "=C7" "=C4" "=C5" "=A3" "=D6" "=DA" "=C9" "=CA" "=CB" "=CC" "=CD" "=CE" "=CF" "=D0" "=D2" "=D3" "=D4" "=D5" "=C6" "=C8" "=C3" "=DE" "=DB" "=DD" "=DF" "=D9" "=D8" "=DC" "=C0" "=D1" "=E1" "=E2" "=F7" "=E7" "=E4" "=E5" "=B3" "=F6" "=FA" "=E9" "=EA" "=EB" "=EC" "=ED" "=EE" "=EF" "=F0" "=F2" "=F3" "=F4" "=F5" "=E6" "=E8" "=E3" "=FE" "=FB" "=FD" "=FF" "=F9" "=F8" "=FC" "=E0" "=F1") russian-encoding-tex-decoding-rule (nil (?b . 2) (?v . 3) (?g . 4) (?d . 5) (?e . 6) (?z . 9) (?\\ (nil (?\" (nil (?e . 7) (?E . 40))) (?\` (nil (?e . 31) (?E . 64))) (?u (nil (?{ (nil (?i (nil (?} . 11))) (?I (nil (?} . 44))))))))) (?{ (nil (?a (nil (?} . 1))) (?A (nil (?} . 34))) (?z (nil (?h (nil (?} . 8))))) (?Z (nil (?H (nil (?} . 41))))) (?h (nil (?} . 23))) (?H (nil (?} . 56))) (?s (nil (?} . 19) (?h (nil (?} . 26) (?c (nil (?h (nil (?} . 27))))))))) (?S (nil (?} . 52) (?H (nil (?} . 59) (?C (nil (?H (nil (?} . 60))))))))) (?t (nil (?} . 20) (?s (nil (?} . 24))))) (?T (nil (?} . 53) (?S (nil (?} . 57))))) (?c (nil (?h (nil (?} . 25))))) (?C (nil (?H (nil (?} . 58))))) (?\\ (nil (?c (nil (?d (nil (?p (nil (?r (nil (?i (nil (?m (nil (?e (nil (?} . 28))))))))))))) (?p (nil (?r (nil (?i (nil (?m (nil (?e (nil (?} . 30))))))))))))) (?C (nil (?d (nil (?p (nil (?r (nil (?i (nil (?m (nil (?e (nil (?} . 61))))))))))))) (?p (nil (?r (nil (?i (nil (?m (nil (?e (nil (?} . 63))))))))))))))) (?y (nil (?} . 29) (?u (nil (?} . 32))) (?a (nil (?} . 33))))) (?Y (nil (?} . 62) (?U (nil (?} . 65))) (?A (nil (?} . 66))))))) (?i . 10) (?k . 12) (?l . 13) (?m . 14) (?n . 15) (?o . 16) (?p . 17) (?r . 18) (?u . 21) (?f . 22) (?B . 35) (?V . 36) (?G . 37) (?D . 38) (?E . 39) (?I . 43) (?K . 45) (?L . 46) (?M . 47) (?N . 48) (?O . 49) (?P . 50) (?R . 51) (?U . 54) (?F . 55)) russian-encoding-broken-8koi-decoding-rule (nil (?= (nil (?0 (nil (?9 . -9))) (?2 (nil (?0 . -32))) (?\n . 0) (?A (nil (?3 . 7))) (?B (nil (?3 . 40))) (?C (nil (?0 . 32) (?1 . 1) (?2 . 2) (?3 . 24) (?4 . 5) (?5 . 6) (?6 . 22) (?7 . 4) (?8 . 23) (?9 . 10) (?A . 11) (?B . 12) (?C . 13) (?D . 14) (?E . 15) (?F . 16))) (?D (nil (?0 . 17) (?1 . 33) (?2 . 18) (?3 . 19) (?4 . 20) (?5 . 21) (?6 . 8) (?7 . 3) (?8 . 30) (?9 . 29) (?A . 9) (?B . 26) (?C . 31) (?D . 27) (?E . 25) (?F . 28))) (?E (nil (?0 . 65) (?1 . 34) (?2 . 35) (?3 . 57) (?4 . 38) (?5 . 39) (?6 . 55) (?7 . 37) (?8 . 56) (?9 . 43) (?A . 44) (?B . 45) (?C . 46) (?D . 47) (?E . 48) (?F . 49))) (?F (nil (?0 . 50) (?1 . 66) (?2 . 51) (?3 . 52) (?4 . 53) (?5 . 54) (?6 . 41) (?7 . 36) (?8 . 63) (?9 . 62) (?A . 42) (?B . 59) (?C . 64) (?D . 60) (?E . 58) (?F . 61)))))) (nil (?a . 1) (?b . 2) (?c (24 (?h . 25))) (?d . 5) (?e (6 (?f (nil (?f . [31 22 22]))) (?l (nil (?e (nil (?k (nil (?t (nil (?r . [31 13 6 12 20 18]))))))))))) (?f . 22) (?g . 4) (?h . 23) (?i . 10) (?j (11 (?a . 33) (?o . 7) (?u . 32))) (?k (12 (?h . 23))) (?l . 13) (?m . 14) (?n . 15) (?o . 16) (?p (17 (?o ([17 16] (?e ([17 16 6] (?t . [17 16 31 20]))) (?r (nil (?t (nil (?s (nil (?m . [17 16 18 20 19 14]))))))))))) (?r (18 (?t (nil (?s (nil (?i (nil (?g . [18 20 19 10 4]))))))))) (?s (19 (?o (nil (?v (nil (?e (nil (?t (nil (?s (nil (?k . [19 16 3 6 20 19 12]))))))))))) (?c (nil (?h (27 (?e ([27 6] (?z . [19 25 6 9]))) (?i (nil (?t (nil (?a . [19 25 10 20 1]))))) (?a (nil (?s (nil (?t . [19 25 1 19 20]))))))))) (?h (26 (?c (nil (?h . 27))))))) (?t (20 (?s (24 (?c (nil (?h . [20 27]))) (?j (nil (?a . [20 19 33]))) (?t . [20 19 20]) (?y (nil (?a . [20 19 33]))))))) (?u . 21) (?v . 3) (?w . 3) (?x . 23) (?y (29 (?a . 33) (?o . 7) (?u . 32))) (?z (9 (?h . 8))) (?A . 34) (?B (35 (?\' . [35 63]))) (?C (57 (?H . 58) (?h . 58))) (?D (38 (?\' . [38 63]))) (?E (39 (?V ([39 36] (?M . [64 36 47]))))) (?F (55 (?\' . [55 63]))) (?G (37 (?\' . [37 63]))) (?H (56 (?\' . [56 63]))) (?I . 43) (?J (44 (?A . 66) (?a . 66) (?O . 40) (?o . 40) (?U . 65) (?u . 65))) (?K (45 (?\' . [45 63]) (?H . 56) (?h . 56))) (?L (46 (?\' . [46 63]))) (?M (47 (?\' . [47 63]))) (?N (48 (?\' . [48 63]))) (?O . 49) (?P (50 (?\' . [50 63]) (?O (nil (?R (nil (?T (nil (?S (nil (?M . [50 49 51 53 52 47]))))))))))) (?R (51 (?\' . [51 63]) (?T (nil (?S (nil (?I (nil (?G . [51 53 52 43 37]))))))))) (?S (52 (?\' . [52 63]) (?o (nil (?v (nil (?e (nil (?t (nil (?s (nil (?k . [52 16 3 6 20 19 12]))))))))))) (?C (nil (?H (60 (?I (nil (?T (nil (?A . [52 58 43 53 34]))))) (?A (nil (?S (nil (?T . [52 58 34 52 53]))))))))) (?H (59 (?\' . [59 63]) (?C (nil (?H . 60))))) (?c (nil (?h (60 (?i (nil (?t (nil (?a . [52 25 10 20 1]))))) (?a (nil (?s (nil (?t . [52 25 1 19 20]))))))))) (?h (59 (?c (nil (?h . 60))))))) (?T (53 (?\' . [53 63]) (?s (57 (?j (nil (?a . [53 19 33]))) (?t . [53 19 20]) (?y (nil (?a . [53 19 33]))))) (?S (57 (?J (nil (?A . [53 52 66]))) (?T . [53 52 53]) (?Y (nil (?A . [53 52 66]))))))) (?U . 54) (?V (36 (?\' . [36 63]))) (?W (36 (?\' . [36 63]))) (?X (56 (?\' . [56 63]))) (?Y (62 (?A . 66) (?O . 40) (?U . 65) (?a . 66) (?o . 40) (?u . 65))) (?Z (42 (?\' . [42 63]) (?H (41 (?\' . [41 63]))) (?h . 41))) (?\' . 30) (?\ (nil (?s (nil (?c (nil (?h ([-32 19 25] (?i (nil (?p . [-32 27 10 17]))))))))) (?e (nil (?n . [-32 31 15]) (?k . [-32 31 12]) (?p . [-32 31 17]) (?t . [-32 31 20]))) (?E (nil (?k . [-32 64 12]) (?p . [-32 64 17]) (?K . [-32 64 45]) (?P . [-32 64 50]) (?t . [-32 64 20]) (?T . [-32 64 53]))))) (?\t (nil (?s (nil (?c (nil (?h ([-9 19 25] (?i (nil (?p . [-9 27 10 17]))))))))) (?e (nil (?k . [-9 31 12]) (?p . [-9 31 17]) (?t . [-9 31 20]))) (?E (nil (?k . [-9 64 12]) (?p . [-9 64 17]) (?K . [-9 64 45]) (?P . [-9 64 50]) (?t . [-9 64 20]) (?T . [-9 64 53]))))) (?\n (nil (?s (nil (?c (nil (?h ([-10 19 25] (?i (nil (?p . [-10 27 10 17]))))))))) (?e (nil (?n . [-10 31 15]) (?k . [-10 31 12]) (?p . [-10 31 17]) (?t . [-10 31 20]))) (?E (nil (?k . [-10 64 12]) (?p . [-10 64 17]) (?K . [-10 64 45]) (?P . [-10 64 50]) (?t . [-10 64 20]) (?T . [-10 64 53]))))) (?\^L (nil (?s (nil (?c (nil (?h ([-12 19 25] (?i (nil (?p . [-12 27 10 17]))))))))) (?e (nil (?n . [-12 31 15]) (?k . [-12 31 12]) (?p . [-12 31 17]) (?t . [-12 31 20]))) (?E (nil (?k . [-12 64 12]) (?p . [-12 64 17]) (?K . [-12 64 45]) (?P . [-12 64 50]) (?t . [-12 64 20]) (?T . [-12 64 53]))))) (?\r (nil (?s (nil (?c (nil (?h ([-13 19 25] (?i (nil (?p . [-13 27 10 17]))))))))) (?e (nil (?n . [-13 31 15]) (?k . [-13 31 12]) (?p . [-13 31 17]) (?t . [-13 31 20]))) (?E (nil (?k . [-13 64 12]) (?p . [-13 64 17]) (?K . [-13 64 45]) (?P . [-13 64 50]) (?t . [-13 64 20]) (?T . [-13 64 53])))))) russian-encoding-naive-decoding-rule russian-encoding-tex ("{a}" "b" "v" "g" "d" "e" "\\\"e" "{zh}" "z" "i" "\\u{i}" "k" "l" "m" "n" "o" "p" "r" "{s}" "{t}" "u" "f" "{h}" "{ts}" "{ch}" "{sh}" "{shch}" "{\\cdprime}" "{y}" "{\\cprime}" "\\`e" "{yu}" "{ya}" "{A}" "B" "V" "G" "D" "E" "\\\"E" "{ZH}" "Z" "I" "\\u{I}" "K" "L" "M" "N" "O" "P" "R" "{S}" "{T}" "U" "F" "{H}" "{TS}" "{CH}" "{SH}" "{SHCH}" "{\\Cdprime}" "{Y}" "{\\Cprime}" "\\`E" "{YU}" "{YA}") russian-encoding-ascii2 "abwgdevzijklmnoprstufhc^[]_yx\\@qABWGDEVZIJKLMNOPRSTUFHC~{}YX|`Q" russian-encoding-jcuken-filter-from ("~`!@#$%^&*_-+=" "+=_!/\":<>?-,;.") russian-encoding-jcuken-filter-to ("~`!@#$%^&*_-+={[}]:;\"'<,>.?/" " $@ !_~`(())%+$$^-&=*#") russian-encoding-jcukenwin-filter-from ("!@#$%^&*" "!\"#$:,.;") russian-encoding-jcukenwin-filter-to russian-keyboard-list russian-mode-list russian-encoding-xkb ("!\"#$:,.;" "!@#$%^&*") [Cyrillic_a Cyrillic_be Cyrillic_ve Cyrillic_ghe Cyrillic_de Cyrillic_ie Cyrillic_io Cyrillic_zhe Cyrillic_ze Cyrillic_i Cyrillic_shorti Cyrillic_ka Cyrillic_el Cyrillic_em Cyrillic_en Cyrillic_o Cyrillic_pe Cyrillic_er Cyrillic_es Cyrillic_te Cyrillic_u Cyrillic_ef Cyrillic_ha Cyrillic_tse Cyrillic_che Cyrillic_sha Cyrillic_shcha Cyrillic_hardsign Cyrillic_yeru Cyrillic_softsign Cyrillic_e Cyrillic_yu Cyrillic_ya Cyrillic_A Cyrillic_BE Cyrillic_VE Cyrillic_GHE Cyrillic_DE Cyrillic_IE Cyrillic_IO Cyrillic_ZHE Cyrillic_ZE Cyrillic_I Cyrillic_SHORTI Cyrillic_KA Cyrillic_EL Cyrillic_EM Cyrillic_EN Cyrillic_O Cyrillic_PE Cyrillic_ER Cyrillic_ES Cyrillic_TE Cyrillic_U Cyrillic_EF Cyrillic_HA Cyrillic_TSE Cyrillic_CHE Cyrillic_SHA Cyrillic_SHCHA Cyrillic_HARDSIGN Cyrillic_YERU Cyrillic_SOFTSIGN Cyrillic_E Cyrillic_YU Cyrillic_YA]] 3) #@71 Prompt for new font encoding and set `russian-font-name' accordingly. (defalias 'russian-set-font #[nil "\nQ$k? )" [russian-font-alist font-name russian-font-name completing-read "New russian font or a transliteration (default " "): " nil t ""] 6 (#$ . 19241) nil]) #@75 Prompt for new buffer encoding and set `russian-buffer-name' accordingly. (defalias 'russian-set-buffer #[nil "\nQ$k? )" [russian-buffer-alist buffer-name russian-buffer-name completing-read "New encoding of a russian buffer (default " "): " nil t ""] 6 (#$ . 19527) nil]) #@79 Prompt for new keyboard encoding and set `russian-keyboard-name' accordingly. (defalias 'russian-set-keyboard #[nil "\nQ$k? )" [russian-keyboard-alist keyboard-name russian-keyboard-name completing-read "New russian keyboard (default " "): " nil t ""] 6 (#$ . 19820) nil]) #@72 Prompt for new input encoding and set `russian-mode-name' accordingly. (defalias 'russian-set-mode #[nil "\nQ$k? )" [russian-mode-alist mode-name russian-mode-name completing-read "New russian insertion mode (default " "): " nil t ""] 6 (#$ . 20113) nil]) (defalias 'russian-univ-nth #[(string-or-list i) " < 8 H" [i string-or-list] 2]) (defalias 'russian-univ-vector #[(char-or-string) ";\"\"!" [char-or-string apply vector append nil] 5]) (defalias 'russian-univ-append #[(char-or-string string-or-list) " <! \"! P" [char-or-string string-or-list append vector] 3]) (byte-code " B!Ç" [russian-temporary-table current-load-list boundp nil] 2) (defalias 'russian-get-table #[(numeric display max long-from long-to) "A@!$%A@!&8! %8!!8!\" @! A@!!@!!A@!#\"̉#W\n I Tp)\" $&\n\n͉GGW H H W Hk! P H! P \" \"J TE! P! P \" T.GW H! P H! P \" \" TV*GW H! P H! P \" \" TU* G͉''W H H \"\"B\nB\nI TL,(̉#W\n H\n \n H!I Tg). " [from-filter-from j russian-temporary-table real-from real-to i eval 4 5 6 make-string ?a 0 nil make-display-table t vector russian-univ-append russian-univ-nth russian-univ-vector to-filter-to numeric to-filter-from char2 from-filter-to len2 len1 flag char1 char-to char-from long-from from-filter to-filter use-assoc max from long-to to len display] 8]) #@153 *Display Russian text in the current buffer in encoding ARG. Prompt for encoding if called interactively. Use default encoding if no argument is given. (defalias 'russian-display #[(&optional arg) "t!  \" \"\n %!p#*" [russian-temporary-table font-long buffer-long russian-encoding-alist russian-buffer-name arg call-interactively russian-set-buffer assoc russian-get-table nil t 256 fboundp add-spec-to-specifier russian-font-name current-display-table buffer-display-table] 6 (#$ . -21743) "P"]) #@62 Obsolete. Use `russian-mode' with negative argument instead. (defalias 'russian-undisplay #[(&optional arg) "!" [russian-mode -1] 2 (#$ . 22284) nil]) (defalias 'russian-translate-string-list #[(start end translate-table) "\n }bmg H! cu*e~)" [translate-table end start char-to char 1 delete-char nil] 3]) (defalias 'russian-translate-decoding-rule #[(start end decoding-rule to) "Ɖ}bm ɉˍ[u ! ! GW \nHV < S 8 SHc W [c)\nTP* V < S 8 SHc W [c m u ~." [chars-moved chars-erase j char to char-to nil 1 0 t read-more (byte-code " mg GW 8@a 8A:\nT  \" @@ @ \nT T@ u\nT)&ȇ" [char-read flag-read-more chars-moved flag-match i decoding-list t 1 nil throw read-more chars-erase char-to] 4) delete-char vectorp char-read flag-match flag-read-more decoding-list n start end decoding-rule] 8]) #@196 Translate Russian text in region from encoding FROM-NAME to TO-NAME. NON-INTERACTIVE should be t if used non-interactively, FROM-NAME and TO-NAME are strings, which must be valid encoding names. (defalias 'russian-translate-region #[(start end &optional non-interactive from-name to-name) " $ $ \" \" A@! A@!< 8\n }ed%ed%) 8!\n $)<ȉ %\n # %\n #," [from-name end start russian-encoding-alist to-long from-long completing-read "Translate from the encoding: " nil t "Translate to the encoding: " assoc eval 4 russian-translate-region 3 russian-translate-decoding-rule russian-get-table 256 russian-translate-string-list translate-region to-name to from russian-safe-encoding-name decoding-rule russian-temporary-table non-interactive] 6 (#$ . 23271) "r"]) #@74 Translate Russian text in the whole buffer from one encoding to another. (defalias 'russian-translate-buffer #[nil "ed#" [russian-translate-region nil] 4 (#$ . 24116) nil]) #@35 The current version of russian.el (defconst russian-version 1.06 (#$ . 24298)) (byte-code "\nB!!\nBć" [russian-mode-default-string russian-mode current-load-list boundp nil make-variable-buffer-local " Rus"] 2) #@41 Name of `russian-mode' in the mode line (defvar russian-mode-string russian-mode-default-string (#$ . 24531)) (byte-code "!B" [minor-mode-alist make-variable-buffer-local russian-mode-string russian-mode (russian-mode russian-mode-string)] 2) #@60 List of functions to run when `russian-mode' is turned on. (defvar russian-mode-hook nil (#$ . 24793)) #@240 Display a Russian text in the current buffer. Unconditionally turn off if ARG is negative or zero, turn on with any other value of ARG. Prompt for the buffer encoding if called interactively with positive argument, use defaults otherwise. (defalias 'russian-mode #[(&optional arg) " ? !V \nk t !V! ! !! p# " [current-display-table russian-insertion-mode russian-mode-name russian-buffer-name russian-mode arg prefix-numeric-value 0 russian-set-default-encoding call-interactively russian-display run-hooks russian-mode-hook -1 fboundp add-spec-to-specifier make-display-table buffer-display-table] 5 (#$ . 24903) "P"]) #@49 Non-nil if `russian-insertion-mode' is enabled. (defvar russian-insertion-mode nil (#$ . 25582)) (make-variable-buffer-local 'russian-insertion-mode) #@70 List of functions to run when `russian-insertion-mode' is turned on. (defvar russian-insertion-mode-hook nil (#$ . 25738)) (byte-code " B!! B! B!LJ" [russian-insertion-mode-table russian-insertion-mode-map russian-insertion-mode-string current-load-list boundp "" make-variable-buffer-local nil] 2) #@55 true if case and syntax tables were applied to buffer (defvar russian-tables-applied nil (#$ . 26070)) (byte-code "!\nB!!\nB!!" [russian-syntax-table-orig russian-case-table-orig current-load-list make-variable-buffer-local russian-tables-applied boundp nil] 2) #@26 true if use associations (defvar russian-input-associations nil (#$ . 26363)) (make-variable-buffer-local 'russian-input-associations) #@53 These input encodings can be switched on by default (defvar russian-safe-input-encodings '("alt" "8koi" "mac" "win-cp1251" "osn" "gostcii" "moshkov" "broken-8koi") (#$ . 26504)) (byte-code "\nB \"" [russian-xemacs-p emacs-version current-load-list string-match "XEmacs"] 3) #@201 Intended to fix a bug with XEmacs. XEmacs can't use characters with code greater than 127 in define-key. So if russian-bind-as-integer is t when characters bind as integer and as characters otherwise (defvar russian-bind-as-integer russian-xemacs-p (#$ . 26792)) (byte-code "!M" [russian-xemacs-p require case-table russian-set-case-syntax-pair #[(uc lc table) " @ A@ I\n I I\n I # #*" [downcase table upcase lc uc modify-syntax-entry "w " standard-syntax-table] 5]] 2) #@47 Sets case and syntax table for current buffer (defalias 'russian-set-tables #[(&optional arg) "t!  \"A@!GΥƉ  W H \\H! \n# \n# TW\n!- ƉƉ)" [UC LC table russian-tables-applied from char nil call-interactively russian-set-buffer copy-syntax-table current-case-table t eval assoc 2 0 fboundp russian-set-case-syntax-pair set-case-syntax-pair set-case-table arg russian-buffer-name size russian-syntax-table-orig russian-case-table-orig russian-encoding-alist] 6 (#$ . 27303) "P"]) #@258 If on, enable insertion of Russian characters in the current buffer. Toggle `russian-insertion-mode' without ARG. With ARG, turn russian insertion minor mode on if ARG is positive and prompt for the encoding if called interactively, turn it off otherwise. (defalias 'russian-insertion-mode #[(&optional arg) " $? !V$  t !V!!t !V!' k'!'1-\" -\"(A@!)8! &҉(%.*\n.!//0X\n *8* H02&\n) H3 W ! #&\n) H !# T.* !(8Q+!,+!4+P5 !, GW 8,@a, \" S Ta*&B B" [long-from russian-mode-name use-assoc minor-mode-map-alist arg i prefix-numeric-value 0 call-interactively russian-mode 1 russian-set-mode russian-display assoc eval 6 make-sparse-keymap russian-get-table nil 256 copy-list 255 define-key 127 char-to-string russian-perform-insertion vector russian-set-tables "[" 2 "]" run-hooks russian-insertion-mode-hook "" set-buffer-modified-p buffer-modified-p russian-insertion-mode delq russian-insertion-mode-map russian-buffer-name long-to real-from russian-insertion-mode-table russian-insertion-mode-string test russian-encoding-alist russian-temporary-table russian-input-associations char russian-keyboard-name russian-xemacs-p russian-bind-as-integer russian-mode-default-string russian-mode-string] 7 (#$ . 27875) "P"]) (defalias 'russian-perform-insertion #[nil " ! ! ! \"A\nc! ! Hc)" [russian-insertion-mode-table russian-input-associations value last-command-event nil assoc fboundp event-key event-basic-type event-to-character] 4 nil nil]) #@59 How many chars should be checked while detecting encoding (defvar russian-detect-chars 1000 (#$ . 29533)) #@65 List of encodings could be used while detecting buffer encoding (defconst russian-detect-safe-encoding-list '("8koi" "win-cp1251" "alt" "mac" "osn" "gostcii") (#$ . 29645)) #@36 Table of letters combination pairs (defvar russian-detect-table [[0 549 743 1387 678 958 284 0 152 696 1103 9 841 396 1224 1641 945 1492 637 1745 1149 324 140 168 93 399 127 29 0 2 61 271 32 165] [1770 2 64 248 64 191 271 0 327 372 30 92 884 610 342 482 8 199 295 329 536 28 22 85 12 157 59 18 0 0 0 2 116 315] [250 119 0 4 0 1 162 0 0 0 74 0 5 48 4 18 282 0 91 4 2 134 0 4 0 0 0 11 4 179 4 0 0 32] [763 535 0 16 0 14 420 0 0 24 188 0 21 41 14 163 403 13 44 227 31 186 0 5 0 2 15 0 0 215 12 0 0 19] [347 145 0 4 0 110 29 0 0 0 105 0 28 100 1 2 414 0 178 0 4 49 0 0 2 8 0 0 0 0 0 0 0 0] [229 436 7 84 0 4 315 0 62 0 379 0 40 135 0 184 508 1 118 23 6 161 0 1 16 7 0 0 0 120 50 0 0 50] [1895 6 108 171 185 169 123 0 47 230 4 154 164 454 397 821 24 166 713 450 785 11 0 59 15 91 71 41 0 0 0 0 15 9] [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0] [9 81 0 0 0 95 297 0 0 0 129 0 21 0 2 168 214 0 2 2 0 17 0 0 0 0 0 0 0 0 0 0 0 0] [243 490 22 223 16 65 51 0 2 0 28 0 23 9 174 202 90 0 12 2 0 70 0 0 0 0 0 0 0 93 14 0 0 21] [1794 12 24 157 90 86 373 0 53 178 83 120 188 182 301 494 24 56 59 324 608 1 72 133 56 130 77 20 0 0 0 0 53 230] [951 0 1 0 4 44 2 0 0 0 0 0 11 0 2 11 0 0 0 14 48 0 0 0 4 20 4 0 0 0 0 0 0 0] [455 653 0 65 1 0 86 0 19 4 337 0 330 51 0 34 1086 0 147 67 176 188 0 0 3 0 5 0 0 0 0 0 0 0] [105 383 2 0 10 2 431 0 22 2 444 0 32 8 0 85 410 2 0 20 5 119 1 0 0 5 4 1 0 108 742 0 91 360] [720 424 9 0 0 0 675 0 0 0 487 0 13 26 17 123 402 77 2 8 0 130 2 0 0 10 0 0 0 103 1 31 0 39] [227 1488 0 6 0 29 797 0 4 0 732 0 83 0 0 238 1559 0 2 42 180 184 3 2 40 28 4 16 0 517 149 16 10 192] [1887 2 308 525 304 573 148 0 215 171 65 475 210 742 475 649 8 124 1083 723 593 4 7 57 14 224 67 28 0 0 0 19 44 58] [41 174 0 0 0 0 274 0 0 0 185 0 25 106 0 3 824 4 522 0 92 101 0 0 0 2 0 0 0 18 11 0 0 50] [542 766 2 65 24 309 568 0 21 2 496 0 34 7 35 180 598 21 15 17 48 342 2 27 11 6 17 0 0 163 45 0 22 62] [221 154 7 133 0 15 435 0 2 0 200 0 275 232 40 207 369 200 11 72 1353 107 0 9 4 29 1 0 3 58 133 0 10 452] [1224 910 3 111 0 10 469 0 0 2 318 0 66 14 45 82 1356 1 386 337 5 131 0 0 2 7 4 0 0 244 836 0 0 48] [447 4 45 25 108 176 53 0 92 95 0 11 137 125 56 203 0 47 34 171 152 0 0 40 0 198 38 27 0 0 0 0 126 3] [13 108 0 0 0 0 25 0 0 0 29 0 0 6 2 0 21 0 42 0 0 7 4 0 0 0 0 0 0 2 0 0 0 0] [455 36 0 8 0 0 4 0 0 0 7 0 0 11 2 23 200 0 10 3 2 6 0 8 0 0 2 0 0 0 0 0 0 0] [42 60 0 12 0 0 76 0 0 0 135 0 3 0 0 0 5 0 0 0 0 12 0 0 292 0 0 0 0 18 0 0 0 0] [9 276 0 0 0 0 402 0 0 0 233 0 57 5 0 102 20 0 0 0 161 53 0 0 0 0 5 0 0 0 30 0 0 0] [50 91 0 4 0 0 188 0 0 0 105 0 34 18 0 16 32 0 2 0 6 20 0 0 0 0 27 0 0 0 71 0 0 0] [0 26 0 0 0 0 107 0 0 0 74 0 0 0 0 2 0 0 0 0 0 28 0 0 0 0 0 0 0 0 1 0 0 0] [0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3] [692 0 18 109 22 13 173 0 2 1 0 218 55 44 134 9 0 22 27 45 44 0 0 153 0 12 47 0 0 0 0 0 0 0] [1319 0 12 0 2 2 47 0 0 49 6 0 97 0 11 352 0 2 0 79 9 0 2 0 24 5 90 0 0 0 0 0 12 40] [23 0 0 0 0 0 0 0 0 0 0 33 1 8 0 5 0 1 0 5 255 0 4 4 0 0 0 0 0 0 0 0 0 0] [292 0 49 0 0 27 0 0 6 1 0 0 4 0 2 6 0 0 4 2 136 0 0 0 2 4 0 31 0 0 0 0 2 0] [1425 0 8 14 18 43 89 0 11 23 2 4 25 16 19 43 0 4 11 21 225 0 0 22 65 9 0 16 0 0 0 0 35 60]] (#$ . 29824)) #@120 Tries to detect current buffer's encoding. Detection based on letter frequency analysis. Returns valid encodings list. (defalias 'russian-detect-region-encoding #[(&optional start end) "edƉ@Ɖ \"\"%\n EC\"AZ}bmg\n @A@HǪ TA@HǪT UU HHAA8\\ A0TYuo ~)\n @8 @8 V @8 Aj\n V @8_ Y @@C\" @@C A_ ." [cch pcch code-table-list fmax enc code-table nil 0 russian-get-table 255 assoc "unumeric" append 1 t 2 1.5 enc-list table count found pch ch freq start end stop russian-encoding-alist russian-detect-chars russian-detect-safe-encoding-list russian-temporary-table russian-detect-table] 15 (#$ . 33043)]) #@96 Detects buffer encoding. It calls 'russian-detect-region-encoding' to process selected region. (defalias 'russian-detect-encoding #[nil "ed\"" [russian-detect-region-encoding] 3 (#$ . 33879)]) (defalias 'russian-detect-or-get-encoding #[nil "Ɖ t GU  \n \n @ @CC\" @CC Ai Ɖ %C GU GU\n \nC @C ," [russian-detect-safe-encoding-list initial russian-buffer-name enc-list enc encoding nil russian-detect-encoding 1 append completing-read "encoding: " 0] 7 nil nil]) #@26 Turn on russian encoding (defalias 'russian-toggle-input #[(&optional arg) "  V ; k  t! @!\n ! W\n ! " [russian-mode russian-safe-input-encodings russian-mode-name russian-buffer-name russian-buffer-default-list arg 0 t russian-set-default-encoding call-interactively russian-detect-or-get-encoding 1 russian-insertion-mode -1] 2 (#$ . 34410) "P"]) #@413 Builds table for character set autodetection, takes input buffer with some text, its encoding, and places the result to given buffer. If append-table is not nil then newly collected data are added to old table, else old data are overwritten. After table has build you can evaluate it (C-x C-e) and test it (russian-detect-or-get-encoding). And if the result satisfies you move newly created table to your .emacs (defalias 'russian-build-detect-table #[(&optional src-buffer dest-buffer input-encoding ignore-io append-table) "Ɖ\"p\"\n%\n\n#\"!Ɖ\n#\"#\"%&\"'(!ljW \"I Tn\"qebmgk T \"! H T$ k U U H H HTI u7))qdbc$ljW H HHI Tk HI WcljW H H\" Tjc TWTcO-!" [code-table processed input-encoding markov-table prior-ch current-ch nil 0 "8koi" assoc cerror "Unable to find such an encoding" russian-get-table 255 "unumeric" make-vector 34 vconcat ?\n message format "%d lines" 7 6 "*scratch*" "(defvar russian-markov-table [\n" " [" " " "%5d" "]" "\n" "]\n" " \"Table of letters combination pairs\")\n" "ok" src-buffer russian-encoding-alist ignore-io russian-buffer-name russian-temporary-table append-table russian-detect-table dest-buffer] 9 (#$ . 34831) (list (read-buffer "Input buffer: " (current-buffer)) (read-buffer "Output buffer: " "*scratch*") (let ((value (completing-read (concat "encoding of a source buffer (default " russian-buffer-name "): ") russian-buffer-alist nil t))) (if (equal value "") russian-buffer-name value)) (yes-or-no-p-minibuf "Ignore russian IO? ") (yes-or-no-p-minibuf "Append data to main table? "))]) (provide 'russian)