;ELC ;;; compiled by rms@psilocin.gnu.ai.mit.edu on Thu Aug 8 20:21:53 1996 ;;; from file /home/fsf/rms/e19/lisp/iso-acc.el ;;; emacs version 19.32.3. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`iso-acc.el' was compiled for Emacs 19.29 or later")) (provide (quote iso-acc)) #@434 List of language-specific customizations for the ISO Accents mode. Each element of the list is of the form (LANGUAGE (PSEUDO-ACCENT MAPPINGS) (PSEUDO-ACCENT MAPPINGS) ...) LANGUAGE is a string naming the language. PSEUDO-ACCENT is a char specifying an accent key. MAPPINGS are cons cells of the form (CHAR . ISO-CHAR). The net effect is that the key sequence PSEUDO-ACCENT CHAR is mapped to ISO-CHAR on input. (defvar iso-languages (quote (("portuguese" (39 (65 . 193) (69 . 201) (73 . 205) (79 . 211) (85 . 218) (67 . 199) (97 . 225) (101 . 233) (105 . 237) (111 . 243) (117 . 250) (99 . 231) (32 . 39)) (96 (65 . 192) (97 . 224) (32 . 96)) (94 (65 . 194) (69 . 202) (79 . 212) (97 . 226) (101 . 234) (111 . 244) (32 . 94)) (34 (85 . 220) (117 . 252) (32 . 34)) (126 (65 . 195) (79 . 213) (97 . 227) (111 . 245) (32 . 126))) ("irish" (39 (65 . 193) (69 . 201) (73 . 205) (79 . 211) (85 . 218) (97 . 225) (101 . 233) (105 . 237) (111 . 243) (117 . 250) (32 . 39))) ("french" (39 (69 . 201) (67 . 199) (101 . 233) (99 . 231) (32 . 39)) (96 (65 . 192) (69 . 200) (85 . 217) (97 . 224) (101 . 232) (117 . 249) (32 . 96)) (94 (65 . 194) (69 . 202) (73 . 206) (79 . 212) (85 . 219) (97 . 226) (101 . 234) (105 . 238) (111 . 244) (117 . 251) (32 . 94)) (34 (69 . 203) (73 . 207) (101 . 235) (105 . 239) (32 . 34)) (126 (60 . 171) (62 . 187) (67 . 199) (99 . 231) (32 . 126))) ("latin-2" (39 (65 . 193) (67 . 198) (68 . 208) (69 . 201) (73 . 205) (76 . 197) (78 . 209) (79 . 211) (82 . 192) (83 . 166) (85 . 218) (89 . 221) (90 . 172) (97 . 225) (99 . 230) (100 . 240) (101 . 233) (105 . 237) (108 . 229) (110 . 241) (111 . 243) (114 . 224) (115 . 182) (117 . 250) (121 . 253) (122 . 188) (39 . 180) (32 . 39)) (96 (65 . 161) (67 . 199) (69 . 202) (76 . 163) (83 . 170) (84 . 222) (90 . 175) (97 . 177) (108 . 179) (99 . 231) (101 . 234) (115 . 186) (116 . 254) (122 . 191) (96 . 170) (46 . 255) (32 . 96)) (94 (65 . 194) (79 . 212) (97 . 226) (111 . 244) (94 . 94) (32 . 94)) (34 (65 . 196) (69 . 203) (79 . 214) (85 . 220) (97 . 228) (101 . 235) (111 . 246) (115 . 223) (117 . 252) (34 . 168) (32 . 34)) (126 (65 . 195) (67 . 200) (68 . 207) (76 . 165) (78 . 210) (79 . 213) (82 . 216) (83 . 169) (84 . 171) (85 . 219) (90 . 174) (97 . 211) (99 . 232) (100 . 239) (108 . 181) (110 . 242) (111 . 245) (114 . 248) (115 . 185) (116 . 187) (117 . 251) (122 . 190) (118 . 162) (126 . 162) (46 . 184) (32 . 126))) ("latin-1" (39 (65 . 193) (69 . 201) (73 . 205) (79 . 211) (85 . 218) (89 . 221) (97 . 225) (101 . 233) (105 . 237) (111 . 243) (117 . 250) (121 . 253) (39 . 180) (32 . 39)) (96 (65 . 192) (69 . 200) (73 . 204) (79 . 210) (85 . 217) (97 . 224) (101 . 232) (105 . 236) (111 . 242) (117 . 249) (96 . 96) (32 . 96)) (94 (65 . 194) (69 . 202) (73 . 206) (79 . 212) (85 . 219) (97 . 226) (101 . 234) (105 . 238) (111 . 244) (117 . 251) (94 . 94) (32 . 94)) (34 (65 . 196) (69 . 203) (73 . 207) (79 . 214) (85 . 220) (97 . 228) (101 . 235) (105 . 239) (111 . 246) (115 . 223) (117 . 252) (121 . 255) (34 . 168) (32 . 34)) (126 (65 . 195) (67 . 199) (68 . 208) (78 . 209) (79 . 213) (84 . 222) (97 . 227) (99 . 231) (100 . 240) (110 . 241) (111 . 245) (116 . 254) (62 . 187) (60 . 171) (126 . 184) (33 . 161) (63 . 191) (32 . 126)) (47 (65 . 197) (69 . 198) (79 . 216) (97 . 229) (101 . 230) (111 . 248) (47 . 176) (32 . 47))))) (#$ . 500)) #@115 Language for which ISO Accents mode is currently customized. Change it with the `iso-accents-customize' function. (defvar iso-language nil (#$ . 3867)) #@72 Association list for ISO accent combinations, for the chosen language. (defvar iso-accents-list nil (#$ . 4025)) #@133 *Non-nil enables ISO Accents mode. Setting this variable makes it local to the current buffer. See the function `iso-accents-mode'. (defvar iso-accents-mode nil (#$ . -4145)) (make-variable-buffer-local (quote iso-accents-mode)) #@436 *List of accent keys that become prefixes in ISO Accents mode. The default is (?' ?` ?^ ?" ?~ ?/), which contains all the supported accent keys. If you set this variable to a list in which some of those characters are missing, the missing ones do not act as accents. Note that if you specify a language with `iso-accents-customize', that can also turn off certain prefixes (whichever ones are not needed in the language you choose). (defvar iso-accents-enable (quote (39 96 94 34 126 47)) (#$ . -4381)) #@59 Modify the following character by adding an accent to it. (defalias 'iso-accents-accent-key #[(prompt) "ƒ \n>ƒΓ\f!‡Ε !‡" [iso-accents-mode last-input-char iso-accents-enable iso-accents-compose prompt char-to-string] 2 (#$ . 4892)]) (defalias 'iso-accents-compose #[(prompt) "‰\nž\f„ΕΖ!Η=ƒΘ GΙV„\nƒ.ΛΜ\f†&Ν #ˆΞ ‚8 cˆΞ `S`|ˆ‰ žA‰ƒKΡ!‚SCΡ !,‡" [last-input-char first-char iso-accents-list list prompt key-binding "a" self-insert-command this-single-command-keys 1 this-command message "%s%c" "Compose with " read-event second-char entry vector unread-command-events] 5]) #@836 Toggle ISO Accents mode, in which accents modify the following letter. This permits easy insertion of accented characters according to ISO-8859-1. When Iso-accents mode is enabled, accent character keys (`, ', ", ^, / and ~) do not self-insert; instead, they modify the following letter key so that it inserts an ISO accented letter. You can customize ISO Accents mode to a particular language with the command `iso-accents-customize'. Special combinations: ~c gives a c with cedilla, ~d gives an Icelandic eth (d with dash). ~t gives an Icelandic thorn. "s gives German sharp s. /a gives a with ring. /e gives an a-e ligature. ~< and ~> give guillemots. ~! gives an inverted exclamation mark. ~? gives an inverted question mark. With an argument, a positive argument enables ISO Accents mode, and a negative argument disables it. (defalias 'iso-accents-mode #[(&optional arg) "ƒ\fΑ!ΒX‚ ƒΔ‰‡Ε‰‡" [arg prefix-numeric-value 0 iso-accents-mode nil t] 2 (#$ . 5498) "P"]) #@154 Customize the ISO accents machinery for a particular language. It selects the customization based on the specifications in the `iso-languages' variable. (defalias 'iso-accents-customize #[(language) "ΐ \n\"Γ‰‰„ΗΘ \"‚J  A\n ƒ,ΜΝΓ #ˆ‚0Ξ  \n‰…JΟ Π\f@@!Ν#ˆ\fA‰„7Γ+‡" [assoc language iso-languages nil tail all-accents table error "Unknown language '%s'" iso-language iso-accents-list key-translation-map substitute-key-definition iso-accents-accent-key make-sparse-keymap define-key vector] 5 (#$ . 6486) (list (completing-read "Language: " iso-languages nil t))]) #@198 Convert two-character sequences in region into accented characters. Noninteractively, this operates on text from START to END. This uses the same conversion that ISO Accents mode uses for type-in. (defalias 'iso-accentuate #[(start end) "ŠŒ }ˆbˆΒuˆΓ` W…<h >ƒ6ghžžA‰ƒ6ΗuˆΘΙ!ˆ\fcˆ S‚Βuˆ‚+‡" [start end 1 nil entry iso-accents-enable iso-accents-list -1 delete-char 2] 3 (#$ . 7076) "r"]) (defalias 'iso-accent-rassoc-unit #[(value alist) "ΐ‰ ƒ\n„ @@Δ @A\"@ A‰„\n…& \nB*‡" [nil acc elt alist rassq value] 4]) #@211 Convert accented characters in the region into two-character sequences. Noninteractively, this operates on text from START to END. This uses the opposite of the conversion done by ISO Accents mode for type-in. (defalias 'iso-unaccentuate #[(start end) "ŠŒ }ˆbˆΒ` W…8gΔVƒ2Εg\"‰ƒ2ΗΘ!ˆ @ A±ˆ T‚ Θuˆ‚ +‡" [start end nil entry 127 iso-accent-rassoc-unit iso-accents-list delete-char 1] 3 (#$ . 7616) "r"]) #@130 Convert accented characters in the region into unaccented characters. Noninteractively, this operates on text from START to END. (defalias 'iso-deaccentuate #[(start end) "ŠŒ }ˆbˆΒ` W…2gΔVƒ,Εg\"‰ƒ,ΗΘ!ˆ Acˆ‚ Θuˆ‚ +‡" [start end nil entry 127 iso-accent-rassoc-unit iso-accents-list delete-char 1] 3 (#$ . 8037) "r"]) (iso-accents-customize "latin-1") (defalias 'iso-acc-minibuf-setup #[nil "Šΐ !qˆ\n)‰‡" [window-buffer minibuffer-scroll-window iso-accents-mode] 2]) (add-hook (quote minibuf-setup-hook) (quote iso-acc-minibuf-setup))