Mercurial > emacs
annotate lisp/international/iso-acc.el @ 14317:594c4676b8c6
(hippie-expand): Pass proper format string to message.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Thu, 25 Jan 1996 00:54:39 +0000 |
parents | 5ef14e01a330 |
children | 55e1bf4d743a |
rev | line source |
---|---|
4720 | 1 ;;; iso-acc.el -- minor mode providing electric accent keys |
14169 | 2 |
3 ;; Copyright (C) 1993, 1994 Free Software Foundation, Inc. | |
4720 | 4 |
5 ;; Author: Johan Vromans <jv@mh.nl> | |
5040
34ce5cc32eb8
(iso-accents-list): Added /A for A-with-ring
Richard M. Stallman <rms@gnu.org>
parents:
4924
diff
changeset
|
6 ;; Version: 1.7 (modified) |
4921
e96cc77d9a7c
Support ~ and /. Support 'Y, 'y, "y.
Richard M. Stallman <rms@gnu.org>
parents:
4877
diff
changeset
|
7 ;; Maintainer: FSF |
e96cc77d9a7c
Support ~ and /. Support 'Y, 'y, "y.
Richard M. Stallman <rms@gnu.org>
parents:
4877
diff
changeset
|
8 ;; Keywords: i18n |
4720 | 9 |
10 ;; This file is part of GNU Emacs. | |
11 | |
12 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
13 ;; it under the terms of the GNU General Public License as published by | |
14 ;; the Free Software Foundation; either version 2, or (at your option) | |
15 ;; any later version. | |
16 | |
17 ;; GNU Emacs is distributed in the hope that it will be useful, | |
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 ;; GNU General Public License for more details. | |
21 | |
22 ;; You should have received a copy of the GNU General Public License | |
14169 | 23 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
24 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
25 ;; Boston, MA 02111-1307, USA. | |
4720 | 26 |
27 ;;; Commentary: | |
28 | |
9740
ba689bf126fb
(iso-accents-mode): Variable renamed from iso-accents-minor-mode.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
29 ;; Function `iso-accents-mode' activates a minor mode in which |
ba689bf126fb
(iso-accents-mode): Variable renamed from iso-accents-minor-mode.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
30 ;; typewriter "dead keys" are emulated. The purpose of this emulation |
ba689bf126fb
(iso-accents-mode): Variable renamed from iso-accents-minor-mode.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
31 ;; is to provide a simple means for inserting accented characters |
ba689bf126fb
(iso-accents-mode): Variable renamed from iso-accents-minor-mode.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
32 ;; according to the ISO-8859-1 character set. |
4720 | 33 ;; |
9740
ba689bf126fb
(iso-accents-mode): Variable renamed from iso-accents-minor-mode.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
34 ;; In `iso-accents-mode', pseudo accent characters are used to |
10599
bbf3a30a4d39
(iso-accents-list): Add Icelandic thorn.
Karl Heuer <kwzh@gnu.org>
parents:
9740
diff
changeset
|
35 ;; introduce accented keys. The pseudo-accent characters are: |
4720 | 36 ;; |
37 ;; ' (minute) -> grave accent | |
38 ;; ` (backtick) -> acute accent | |
39 ;; " (second) -> diaeresis | |
4921
e96cc77d9a7c
Support ~ and /. Support 'Y, 'y, "y.
Richard M. Stallman <rms@gnu.org>
parents:
4877
diff
changeset
|
40 ;; ^ (caret) -> circumflex |
e96cc77d9a7c
Support ~ and /. Support 'Y, 'y, "y.
Richard M. Stallman <rms@gnu.org>
parents:
4877
diff
changeset
|
41 ;; ~ (tilde) -> tilde over the character |
e96cc77d9a7c
Support ~ and /. Support 'Y, 'y, "y.
Richard M. Stallman <rms@gnu.org>
parents:
4877
diff
changeset
|
42 ;; / (slash) -> slash through the character. |
5040
34ce5cc32eb8
(iso-accents-list): Added /A for A-with-ring
Richard M. Stallman <rms@gnu.org>
parents:
4924
diff
changeset
|
43 ;; Also: /A is A-with-ring and /E is AE ligature. |
4720 | 44 ;; |
45 ;; The action taken depends on the key that follows the pseudo accent. | |
46 ;; In general: | |
47 ;; | |
48 ;; pseudo-accent + appropriate letter -> accented letter | |
49 ;; pseudo-accent + space -> pseudo-accent | |
50 ;; pseudo-accent + pseudo-accent -> accent (if available) | |
51 ;; pseudo-accent + other -> pseudo-accent + other | |
52 ;; | |
53 ;; If the pseudo-accent is followed by anything else than a | |
54 ;; self-insert-command, the dead-key code is terminated, the | |
55 ;; pseudo-accent inserted 'as is' and the bell is rung to signal this. | |
56 ;; | |
4721
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
57 ;; Function `iso-accents-mode' can be used to enable the iso accents |
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
58 ;; minor mode, or disable it. |
5101
c95efc1cf15b
(iso-accents-enable): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
5060
diff
changeset
|
59 |
c95efc1cf15b
(iso-accents-enable): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
5060
diff
changeset
|
60 ;; If you want only some of these characters to serve as accents, |
13800 | 61 ;; add a language to iso-languages which specifies the accent characters |
62 ;; that you want, then select the language with iso-accents-customize. | |
4720 | 63 |
64 ;;; Code: | |
65 | |
66 (provide 'iso-acc) | |
67 | |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
68 (defvar iso-languages |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
69 '(("portuguese" |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
70 (?' ?` ?^ ?\" ?~) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
71 (((?' ?A) ?\301) ((?' ?E) ?\311) ((?' ?I) ?\315) ((?' ?O) ?\323) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
72 ((?' ?U) ?\332) ((?' ?C) ?\307) ((?' ?a) ?\341) ((?' ?e) ?\351) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
73 ((?' ?i) ?\355) ((?' ?o) ?\363) ((?' ?u) ?\372) ((?' ?c) ?\347) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
74 ((?' ? ) ?') ((?` ?A) ?\300) ((?` ?a) ?\340) ((?` ? ) ?`) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
75 ((?^ ?A) ?\302) ((?^ ?E) ?\312) ((?^ ?O) ?\324) ((?^ ?a) ?\342) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
76 ((?^ ?e) ?\352) ((?^ ?o) ?\364) ((?^ ? ) ?^) ((?\" ?U) ?\334) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
77 ((?\" ?u) ?\374) ((?\" ? ) ?\") ((?\~ ?A) ?\303) ((?\~ ?O) ?\325) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
78 ((?\~ ?a) ?\343) ((?\~ ?o) ?\365) ((?\~ ?\ ) ?\~))) |
13820
8d33da3d3899
(iso-languages): Add entry for `irish'.
Richard M. Stallman <rms@gnu.org>
parents:
13800
diff
changeset
|
79 ("irish" |
8d33da3d3899
(iso-languages): Add entry for `irish'.
Richard M. Stallman <rms@gnu.org>
parents:
13800
diff
changeset
|
80 (?') |
8d33da3d3899
(iso-languages): Add entry for `irish'.
Richard M. Stallman <rms@gnu.org>
parents:
13800
diff
changeset
|
81 (((?' ?A) ?\301) ((?' ?E) ?\311) ((?' ?I) ?\315) ((?' ?O) ?\323) |
8d33da3d3899
(iso-languages): Add entry for `irish'.
Richard M. Stallman <rms@gnu.org>
parents:
13800
diff
changeset
|
82 ((?' ?U) ?\332) ((?' ?a) ?\341) ((?' ?e) ?\351) |
8d33da3d3899
(iso-languages): Add entry for `irish'.
Richard M. Stallman <rms@gnu.org>
parents:
13800
diff
changeset
|
83 ((?' ?i) ?\355) ((?' ?o) ?\363) ((?' ?u) ?\372) |
8d33da3d3899
(iso-languages): Add entry for `irish'.
Richard M. Stallman <rms@gnu.org>
parents:
13800
diff
changeset
|
84 ((?' ? ) ?') )) |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
85 ("french" |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
86 (?' ?` ?^ ?\" ?~) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
87 (((?' ?A) ?\301) ((?' ?E) ?\311) ((?' ?I) ?\315) ((?' ?O) ?\323) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
88 ((?' ?U) ?\332) ((?' ?C) ?\307) ((?' ?a) ?\341) ((?' ?e) ?\351) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
89 ((?' ?i) ?\355) ((?' ?o) ?\363) ((?' ?u) ?\372) ((?' ?c) ?\347) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
90 ((?' ? ) ?') ((?` ?A) ?\300) ((?` ?E) ?\310) ((?` ?a) ?\340) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
91 ((?` ?e) ?\350) ((?` ? ) ?`) ((?^ ?A) ?\302) ((?^ ?E) ?\312) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
92 ((?^ ?I) ?\316) ((?^ ?O) ?\324) ((?^ ?U) ?\333) ((?^ ?a) ?\342) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
93 ((?^ ?e) ?\352) ((?^ ?i) ?\356) ((?^ ?o) ?\364) ((?^ ?u) ?\373) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
94 ((?^ ? ) ?^) ((?\" ?U) ?\334) ((?\" ?u) ?\374) ((?\" ? ) ?\") |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
95 ((?\~ ?A) ?\303) ((?\~ ?O) ?\325) ((?\~ ?a) ?\343) ((?\~ ?o) ?\365) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
96 ((?\~ ?\ ) ?\~))) |
14289
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
97 ("latin-2" |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
98 (?' ?` ?^ ?\" ?~) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
99 (((?' ?A) ?\301) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
100 ((?' ?C) ?\306) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
101 ((?' ?D) ?\320) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
102 ((?' ?E) ?\311) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
103 ((?' ?I) ?\315) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
104 ((?' ?L) ?\305) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
105 ((?' ?N) ?\321) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
106 ((?' ?O) ?\323) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
107 ((?' ?R) ?\300) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
108 ((?' ?S) ?\246) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
109 ((?' ?U) ?\332) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
110 ((?' ?Y) ?\335) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
111 ((?' ?Z) ?\254) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
112 ((?' ?a) ?\341) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
113 ((?' ?c) ?\346) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
114 ((?' ?d) ?\360) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
115 ((?' ?e) ?\351) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
116 ((?' ?i) ?\355) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
117 ((?' ?l) ?\345) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
118 ((?' ?n) ?\361) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
119 ((?' ?o) ?\363) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
120 ((?' ?r) ?\340) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
121 ((?' ?s) ?\266) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
122 ((?' ?u) ?\372) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
123 ((?' ?y) ?\375) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
124 ((?' ?z) ?\274) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
125 ((?' ?') ?\264) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
126 ((?' ? ) ?') |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
127 ((?` ?A) ?\241) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
128 ((?` ?C) ?\307) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
129 ((?` ?E) ?\312) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
130 ((?` ?L) ?\243) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
131 ((?` ?S) ?\252) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
132 ((?` ?T) ?\336) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
133 ((?` ?Z) ?\257) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
134 ((?` ?a) ?\261) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
135 ((?` ?l) ?\263) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
136 ((?` ?c) ?\347) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
137 ((?` ?e) ?\352) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
138 ((?` ?s) ?\272) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
139 ((?` ?t) ?\376) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
140 ((?` ?z) ?\277) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
141 ((?` ? ) ?`) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
142 ((?` ?`) ?\252) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
143 ((?` ?.) ?\377) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
144 ((?^ ?A) ?\302) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
145 ((?^ ?O) ?\324) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
146 ((?^ ?a) ?\342) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
147 ((?^ ?o) ?\364) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
148 ((?^ ? ) ?^) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
149 ((?^ ?^) ?^) ; no special code? |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
150 ((?\" ?A) ?\304) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
151 ((?\" ?E) ?\313) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
152 ((?\" ?O) ?\326) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
153 ((?\" ?U) ?\334) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
154 ((?\" ?a) ?\344) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
155 ((?\" ?e) ?\353) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
156 ((?\" ?o) ?\366) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
157 ((?\" ?s) ?\337) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
158 ((?\" ?u) ?\374) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
159 ((?\" ? ) ?\") |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
160 ((?\" ?\") ?\250) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
161 ((?\~ ?A) ?\303) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
162 ((?\~ ?C) ?\310) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
163 ((?\~ ?D) ?\317) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
164 ((?\~ ?L) ?\245) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
165 ((?\~ ?N) ?\322) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
166 ((?\~ ?O) ?\325) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
167 ((?\~ ?R) ?\330) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
168 ((?\~ ?S) ?\251) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
169 ((?\~ ?T) ?\253) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
170 ((?\~ ?U) ?\333) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
171 ((?\~ ?Z) ?\256) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
172 ((?\~ ?a) ?\323) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
173 ((?\~ ?c) ?\350) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
174 ((?\~ ?d) ?\357) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
175 ((?\~ ?l) ?\265) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
176 ((?\~ ?n) ?\362) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
177 ((?\~ ?o) ?\365) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
178 ((?\~ ?r) ?\370) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
179 ((?\~ ?s) ?\271) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
180 ((?\~ ?t) ?\273) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
181 ((?\~ ?u) ?\373) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
182 ((?\~ ?z) ?\276) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
183 ((?\~ ?\ ) ?\~) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
184 ((?\~ ?v) ?\242);; v accent |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
185 ((?\~ ?\~) ?\242);; v accent |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
186 ((?\~ ?\.) ?\270);; cedilla accent |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
187 )) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
188 ("latin-1" |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
189 (?' ?` ?^ ?\" ?~ ?/) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
190 (((?' ?A) ?\301) ((?' ?E) ?\311) ((?' ?I) ?\315) ((?' ?O) ?\323) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
191 ((?' ?U) ?\332) ((?' ?Y) ?\335) ((?' ?a) ?\341) ((?' ?e) ?\351) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
192 ((?' ?i) ?\355) ((?' ?o) ?\363) ((?' ?u) ?\372) ((?' ?y) ?\375) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
193 ((?' ?') ?\264) ((?' ? ) ?') ((?` ?A) ?\300) ((?` ?E) ?\310) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
194 ((?` ?I) ?\314) ((?` ?O) ?\322) ((?` ?U) ?\331) ((?` ?a) ?\340) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
195 ((?` ?e) ?\350) ((?` ?i) ?\354) ((?` ?o) ?\362) ((?` ?u) ?\371) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
196 ((?` ? ) ?`) ((?` ?`) ?`) ((?^ ?A) ?\302) ((?^ ?E) ?\312) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
197 ((?^ ?I) ?\316) ((?^ ?O) ?\324) ((?^ ?U) ?\333) ((?^ ?a) ?\342) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
198 ((?^ ?e) ?\352) ((?^ ?i) ?\356) ((?^ ?o) ?\364) ((?^ ?u) ?\373) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
199 ((?^ ? ) ?^) ((?^ ?^) ?^) ((?\" ?A) ?\304) ((?\" ?E) ?\313) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
200 ((?\" ?I) ?\317) ((?\" ?O) ?\326) ((?\" ?U) ?\334) ((?\" ?a) ?\344) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
201 ((?\" ?e) ?\353) ((?\" ?i) ?\357) ((?\" ?o) ?\366) ((?\" ?s) ?\337) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
202 ((?\" ?u) ?\374) ((?\" ?y) ?\377) ((?\" ? ) ?\") ((?\" ?\") ?\250) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
203 ((?\~ ?A) ?\303) ((?\~ ?C) ?\307) ((?\~ ?D) ?\320) ((?\~ ?N) ?\321) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
204 ((?\~ ?O) ?\325) ((?\~ ?T) ?\336) ((?\~ ?a) ?\343) ((?\~ ?c) ?\347) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
205 ((?\~ ?d) ?\360) ((?\~ ?n) ?\361) ((?\~ ?o) ?\365) ((?\~ ?t) ?\376) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
206 ((?\~ ?>) ?\273) ((?\~ ?<) ?\253) ((?\~ ?\ ) ?\~) ((?\~ ?\~) ?\270) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
207 ((?\/ ?A) ?\305) ((?\/ ?E) ?\306) ((?\/ ?O) ?\330) ((?\/ ?a) ?\345) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
208 ((?\/ ?e) ?\346) ((?\/ ?o) ?\370) ((?\/ ?\ ) ?\/) ((?\/ ?\/) ?\260)))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
209 "List of language-specific customizations for the ISO Accents mode. |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
210 |
14115
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
211 Each element of the list is of the form (LANGUAGE PREFIXES LIST). |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
212 |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
213 LANGUAGE is a string naming the language. |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
214 |
14115
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
215 PREFIXES is a list of characters that will be used as accent prefixes. |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
216 It is currently not used. |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
217 |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
218 LIST is a list of accent translations. It will be the value of the |
13800 | 219 `iso-accents-list' variable.") |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
220 |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
221 (defvar iso-language nil |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
222 "Language for which ISO Accents mode is currently customized. |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
223 Change it with the `iso-accents-customize' function.") |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
224 |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
225 (defvar iso-accents-list nil |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
226 "Association list for ISO accent combinations, for the chosen language.") |
4720 | 227 |
9740
ba689bf126fb
(iso-accents-mode): Variable renamed from iso-accents-minor-mode.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
228 (defvar iso-accents-mode nil |
4924
fb527936ca61
(iso-accents-mode): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
4922
diff
changeset
|
229 "*Non-nil enables ISO Accents mode. |
4733
4d378f483cf4
Set up keymap at load time.
Richard M. Stallman <rms@gnu.org>
parents:
4721
diff
changeset
|
230 Setting this variable makes it local to the current buffer. |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
231 See the function `iso-accents-mode'.") |
9740
ba689bf126fb
(iso-accents-mode): Variable renamed from iso-accents-minor-mode.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
232 (make-variable-buffer-local 'iso-accents-mode) |
4720 | 233 |
14115
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
234 (defvar iso-accents-enable '(?' ?` ?^ ?\" ?~ ?/) |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
235 "*List of accent keys that become prefixes in ISO Accents mode. |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
236 The default is (?' ?` ?^ ?\" ?~ ?/), which contains all the supported |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
237 accent keys. If you set this variable to a list in which some of those |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
238 characters are missing, the missing ones do not act as accents. |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
239 |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
240 Note that if you specify a language with `iso-accents-customize', |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
241 that can also turn off certain prefixes (whichever ones are not needed in |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
242 the language you choose).") |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
243 |
4877
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
244 (defun iso-accents-accent-key (prompt) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
245 "Modify the following character by adding an accent to it." |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
246 ;; Pick up the accent character. |
14115
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
247 (if (and iso-accents-mode |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
248 (memq last-input-char iso-accents-enable)) |
4877
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
249 (iso-accents-compose prompt) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
250 (char-to-string last-input-char))) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
251 |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
252 (defun iso-accents-compose-key (prompt) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
253 "Modify the following character by adding an accent to it." |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
254 ;; Pick up the accent character. |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
255 (let ((combined (iso-accents-compose prompt))) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
256 (if unread-command-events |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
257 (let ((unread unread-command-events)) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
258 (setq unread-command-events nil) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
259 (error "Characters %s and %s cannot be composed" |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
260 (single-key-description (aref combined 0)) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
261 (single-key-description (car unread))))) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
262 combined)) |
4720 | 263 |
4877
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
264 (defun iso-accents-compose (prompt) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
265 (let* ((first-char last-input-char) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
266 ;; Wait for the second key and look up the combination. |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
267 (second-char (if (or prompt |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
268 (not (eq (key-binding "a") |
13136
b37ba01d6e27
Fix typo calling iso-accents-customize.
Richard M. Stallman <rms@gnu.org>
parents:
12728
diff
changeset
|
269 'self-insert-command)) |
b37ba01d6e27
Fix typo calling iso-accents-customize.
Richard M. Stallman <rms@gnu.org>
parents:
12728
diff
changeset
|
270 ;; Called from anything but the command loop. |
b37ba01d6e27
Fix typo calling iso-accents-customize.
Richard M. Stallman <rms@gnu.org>
parents:
12728
diff
changeset
|
271 this-command) |
4877
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
272 (progn |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
273 (message "%s%c" |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
274 (or prompt "Compose with ") |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
275 first-char) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
276 (read-event)) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
277 (insert first-char) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
278 (prog1 (read-event) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
279 (delete-region (1- (point)) (point))))) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
280 (entry (assoc (list first-char second-char) iso-accents-list))) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
281 (if entry |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
282 ;; Found it: delete the first character and insert the combination. |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
283 (concat (list (nth 1 entry))) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
284 ;; Otherwise, advance and schedule the second key for execution. |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
285 (setq unread-command-events (list second-char)) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
286 (vector first-char)))) |
4733
4d378f483cf4
Set up keymap at load time.
Richard M. Stallman <rms@gnu.org>
parents:
4721
diff
changeset
|
287 |
4720 | 288 ;; It is a matter of taste if you want the minor mode indicated |
289 ;; in the mode line... | |
4733
4d378f483cf4
Set up keymap at load time.
Richard M. Stallman <rms@gnu.org>
parents:
4721
diff
changeset
|
290 ;; If so, uncomment the next four lines. |
9740
ba689bf126fb
(iso-accents-mode): Variable renamed from iso-accents-minor-mode.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
291 ;; (or (assq 'iso-accents-mode minor-mode-map-alist) |
4720 | 292 ;; (setq minor-mode-alist |
293 ;; (append minor-mode-alist | |
9740
ba689bf126fb
(iso-accents-mode): Variable renamed from iso-accents-minor-mode.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
294 ;; '((iso-accents-mode " ISO-Acc"))))) |
4720 | 295 |
296 ;;;###autoload | |
4721
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
297 (defun iso-accents-mode (&optional arg) |
4924
fb527936ca61
(iso-accents-mode): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
4922
diff
changeset
|
298 "Toggle ISO Accents mode, in which accents modify the following letter. |
4721
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
299 This permits easy insertion of accented characters according to ISO-8859-1. |
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
300 When Iso-accents mode is enabled, accent character keys |
4921
e96cc77d9a7c
Support ~ and /. Support 'Y, 'y, "y.
Richard M. Stallman <rms@gnu.org>
parents:
4877
diff
changeset
|
301 \(`, ', \", ^, / and ~) do not self-insert; instead, they modify the following |
4721
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
302 letter key so that it inserts an ISO accented letter. |
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
303 |
13800 | 304 You can customize ISO Accents mode to a particular language |
305 with the command `iso-accents-customize'. | |
5101
c95efc1cf15b
(iso-accents-enable): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
5060
diff
changeset
|
306 |
4921
e96cc77d9a7c
Support ~ and /. Support 'Y, 'y, "y.
Richard M. Stallman <rms@gnu.org>
parents:
4877
diff
changeset
|
307 Special combinations: ~c gives a c with cedilla, |
10599
bbf3a30a4d39
(iso-accents-list): Add Icelandic thorn.
Karl Heuer <kwzh@gnu.org>
parents:
9740
diff
changeset
|
308 ~d gives an Icelandic eth (d with dash). |
bbf3a30a4d39
(iso-accents-list): Add Icelandic thorn.
Karl Heuer <kwzh@gnu.org>
parents:
9740
diff
changeset
|
309 ~t gives an Icelandic thorn. |
5060
0f70551a445a
(iso-accents-list): Add "s.
Richard M. Stallman <rms@gnu.org>
parents:
5059
diff
changeset
|
310 \"s gives German sharp s. |
0f70551a445a
(iso-accents-list): Add "s.
Richard M. Stallman <rms@gnu.org>
parents:
5059
diff
changeset
|
311 /a gives a with ring. |
0f70551a445a
(iso-accents-list): Add "s.
Richard M. Stallman <rms@gnu.org>
parents:
5059
diff
changeset
|
312 /e gives an a-e ligature. |
13992 | 313 ~< and ~> give guillemots. |
11642
ffbb4fa31092
(iso-accents-mode): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
11523
diff
changeset
|
314 ~! gives an inverted exclamation mark. |
ffbb4fa31092
(iso-accents-mode): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
11523
diff
changeset
|
315 ~? gives an inverted question mark. |
4921
e96cc77d9a7c
Support ~ and /. Support 'Y, 'y, "y.
Richard M. Stallman <rms@gnu.org>
parents:
4877
diff
changeset
|
316 |
5101
c95efc1cf15b
(iso-accents-enable): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
5060
diff
changeset
|
317 With an argument, a positive argument enables ISO Accents mode, |
4721
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
318 and a negative argument disables it." |
4720 | 319 |
320 (interactive "P") | |
321 | |
4721
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
322 (if (if arg |
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
323 ;; Negative arg means switch it off. |
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
324 (<= (prefix-numeric-value arg) 0) |
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
325 ;; No arg means toggle. |
9740
ba689bf126fb
(iso-accents-mode): Variable renamed from iso-accents-minor-mode.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
326 iso-accents-mode) |
ba689bf126fb
(iso-accents-mode): Variable renamed from iso-accents-minor-mode.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
327 (setq iso-accents-mode nil) |
4720 | 328 |
329 ;; Enable electric accents. | |
9740
ba689bf126fb
(iso-accents-mode): Variable renamed from iso-accents-minor-mode.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
330 (setq iso-accents-mode t))) |
4720 | 331 |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
332 (defun iso-accents-customize (language) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
333 "Customize the ISO accents machinery for a particular language. |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
334 It selects the customization based on the specifications in the |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
335 `iso-languages' variable." |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
336 (interactive (list (completing-read "Language: " iso-languages nil t))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
337 (let ((table (assoc language iso-languages)) |
14115
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
338 all-accents tail) |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
339 (if (not table) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
340 (error "Unknown language") |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
341 (setq iso-language language) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
342 (setq iso-accents-list (car (cdr (cdr table)))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
343 (if key-translation-map |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
344 (substitute-key-definition |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
345 'iso-accents-accent-key nil key-translation-map) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
346 (setq key-translation-map (make-sparse-keymap))) |
14115
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
347 ;; Find all the characters that are used as accent prefixes |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
348 ;; in this language, and set up translation for them. |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
349 (setq tail iso-accents-list) |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
350 (while tail |
14289
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
351 (let ((acc (car (car (car tail))))) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
352 (or (memq acc all-accents) |
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
353 (setq all-accents (cons acc all-accents)))) |
14115
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
354 (setq tail (cdr tail))) |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
355 (setq tail all-accents) |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
356 (while tail |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
357 (define-key key-translation-map (char-to-string (car tail)) |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
358 'iso-accents-accent-key) |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
359 (setq tail (cdr tail)))))) |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
360 |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
361 (defun iso-accentuate (start end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
362 "Convert two-character sequences in region into accented characters. |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
363 Noninteractively, this operates on text from START to END. |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
364 This uses the same conversion that ISO Accents mode uses for type-in." |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
365 (interactive "r") |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
366 (save-excursion |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
367 (save-restriction |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
368 (narrow-to-region start end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
369 (goto-char start) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
370 (forward-char 1) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
371 (let (entry) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
372 (while (< (point) end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
373 (if (and (memq (preceding-char) iso-accents-enable) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
374 (<= ?A (following-char)) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
375 (<= (following-char) ?z) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
376 (setq entry (assoc (list (preceding-char) (following-char)) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
377 iso-accents-list))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
378 (progn |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
379 (forward-char -1) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
380 (delete-char 2) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
381 (insert (car (cdr entry))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
382 (setq end (1- end))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
383 (forward-char 1))))))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
384 |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
385 (defun iso-accent-rassoc-unit (value alist) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
386 (while (and alist |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
387 (not (eq (car (cdr (car alist))) value))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
388 (setq alist (cdr alist))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
389 (if alist |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
390 (car alist) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
391 nil)) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
392 |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
393 (defun iso-unaccentuate (start end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
394 "Convert accented characters in the region into two-character sequences. |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
395 Noninteractively, this operates on text from START to END. |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
396 This uses the opposite of the conversion done by ISO Accents mode for type-in." |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
397 (interactive "r") |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
398 (save-excursion |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
399 (save-restriction |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
400 (narrow-to-region start end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
401 (goto-char start) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
402 (let (entry) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
403 (while (< (point) end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
404 (if (and (> (following-char) 127) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
405 (setq entry (iso-accent-rassoc-unit (following-char) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
406 iso-accents-list))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
407 (progn |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
408 (delete-char 1) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
409 (insert (car (car entry)) (car (cdr (car entry)))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
410 (setq end (1+ end))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
411 (forward-char 1))))))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
412 |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
413 (defun iso-deaccentuate (start end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
414 "Convert accented characters in the region into unaccented characters. |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
415 Noninteractively, this operates on text from START to END." |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
416 (interactive "r") |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
417 (save-excursion |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
418 (save-restriction |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
419 (narrow-to-region start end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
420 (goto-char start) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
421 (let (entry) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
422 (while (< (point) end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
423 (if (and (> (following-char) 127) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
424 (setq entry (iso-accent-rassoc-unit (following-char) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
425 iso-accents-list))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
426 (progn |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
427 (delete-char 1) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
428 (insert (car (cdr (car entry))))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
429 (forward-char 1))))))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
430 |
14115
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
431 ;; Set up the default settings. |
14289
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
432 (iso-accents-customize "latin-1") |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
433 |
4720 | 434 ;;; iso-acc.el ends here |