Mercurial > emacs
annotate lisp/international/iso-acc.el @ 23323:0800a4f84757
(underlying_strftime):
Set the buffer to a nonzero value before calling
strftime, and check to see whether strftime has set the buffer to zero.
This lets us distinguish between an empty buffer and an error.
I'm installing this patch by hand now; it will be superseded whenever
the glibc sources are propagated back to fsf.org.
author | Paul Eggert <eggert@twinsun.com> |
---|---|
date | Fri, 25 Sep 1998 21:40:23 +0000 |
parents | 40670d13dd48 |
children | 212a00c75674 |
rev | line source |
---|---|
15261 | 1 ;;; iso-acc.el --- minor mode providing electric accent keys |
14169 | 2 |
14734 | 3 ;; Copyright (C) 1993, 1994, 1996 Free Software Foundation, Inc. |
4720 | 4 |
15840 | 5 ;; Author: Johan Vromans |
4921
e96cc77d9a7c
Support ~ and /. Support 'Y, 'y, "y.
Richard M. Stallman <rms@gnu.org>
parents:
4877
diff
changeset
|
6 ;; Maintainer: FSF |
e96cc77d9a7c
Support ~ and /. Support 'Y, 'y, "y.
Richard M. Stallman <rms@gnu.org>
parents:
4877
diff
changeset
|
7 ;; Keywords: i18n |
4720 | 8 |
9 ;; This file is part of GNU Emacs. | |
10 | |
11 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
12 ;; it under the terms of the GNU General Public License as published by | |
13 ;; the Free Software Foundation; either version 2, or (at your option) | |
14 ;; any later version. | |
15 | |
16 ;; GNU Emacs is distributed in the hope that it will be useful, | |
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
19 ;; GNU General Public License for more details. | |
20 | |
21 ;; You should have received a copy of the GNU General Public License | |
14169 | 22 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
23 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
24 ;; Boston, MA 02111-1307, USA. | |
4720 | 25 |
26 ;;; Commentary: | |
27 | |
9740
ba689bf126fb
(iso-accents-mode): Variable renamed from iso-accents-minor-mode.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
28 ;; 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
|
29 ;; 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
|
30 ;; is to provide a simple means for inserting accented characters |
18019
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
31 ;; according to the ISO-8859-1...3 character sets. |
4720 | 32 ;; |
9740
ba689bf126fb
(iso-accents-mode): Variable renamed from iso-accents-minor-mode.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
33 ;; 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
|
34 ;; introduce accented keys. The pseudo-accent characters are: |
4720 | 35 ;; |
36 ;; ' (minute) -> grave accent | |
37 ;; ` (backtick) -> acute accent | |
38 ;; " (second) -> diaeresis | |
4921
e96cc77d9a7c
Support ~ and /. Support 'Y, 'y, "y.
Richard M. Stallman <rms@gnu.org>
parents:
4877
diff
changeset
|
39 ;; ^ (caret) -> circumflex |
e96cc77d9a7c
Support ~ and /. Support 'Y, 'y, "y.
Richard M. Stallman <rms@gnu.org>
parents:
4877
diff
changeset
|
40 ;; ~ (tilde) -> tilde over the character |
e96cc77d9a7c
Support ~ and /. Support 'Y, 'y, "y.
Richard M. Stallman <rms@gnu.org>
parents:
4877
diff
changeset
|
41 ;; / (slash) -> slash through the character. |
18019
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
42 ;; Also: /A is A-with-ring and /E is AE ligature. |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
43 ;; These two are enabled only if you set iso-accents-enable |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
44 ;; to include them: |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
45 ;; . (period) -> dot over the character (some languages only) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
46 ;; , (cedilla) -> cedilla under the character (some languages only) |
4720 | 47 ;; |
48 ;; The action taken depends on the key that follows the pseudo accent. | |
49 ;; In general: | |
50 ;; | |
51 ;; pseudo-accent + appropriate letter -> accented letter | |
18019
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
52 ;; pseudo-accent + space -> pseudo-accent (except comma and period) |
4720 | 53 ;; pseudo-accent + pseudo-accent -> accent (if available) |
54 ;; pseudo-accent + other -> pseudo-accent + other | |
55 ;; | |
56 ;; If the pseudo-accent is followed by anything else than a | |
57 ;; self-insert-command, the dead-key code is terminated, the | |
58 ;; pseudo-accent inserted 'as is' and the bell is rung to signal this. | |
59 ;; | |
4721
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
60 ;; 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
|
61 ;; minor mode, or disable it. |
5101
c95efc1cf15b
(iso-accents-enable): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
5060
diff
changeset
|
62 |
c95efc1cf15b
(iso-accents-enable): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
5060
diff
changeset
|
63 ;; If you want only some of these characters to serve as accents, |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
64 ;; add a language to `iso-languages' which specifies the accent characters |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
65 ;; that you want, then select the language with `iso-accents-customize'. |
4720 | 66 |
67 ;;; Code: | |
68 | |
69 (provide 'iso-acc) | |
70 | |
21645 | 71 (defgroup iso-acc nil |
72 "Minor mode providing electric accent keys." | |
73 :prefix "iso-accents-" | |
74 :group 'i18n) | |
75 | |
76 (defcustom iso-accents-insert-offset nonascii-insert-offset | |
77 "*Offset added by ISO Accents mode to character codes 0200 and above." | |
78 :type 'integer | |
79 :group 'iso-acc) | |
17715
599ab8f1aa84
(iso-languages): Add charset spec to some elements.
Richard M. Stallman <rms@gnu.org>
parents:
17701
diff
changeset
|
80 |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
81 (defvar iso-languages |
16459
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
82 '(("catalan" |
16778
e08944e83eb7
(iso-languages): For Catalan, delete 'C and 'c;
Richard M. Stallman <rms@gnu.org>
parents:
16719
diff
changeset
|
83 ;; Note this includes some extra characters used in Spanish, |
e08944e83eb7
(iso-languages): For Catalan, delete 'C and 'c;
Richard M. Stallman <rms@gnu.org>
parents:
16719
diff
changeset
|
84 ;; on the idea that someone who uses Catalan is likely to use Spanish |
e08944e83eb7
(iso-languages): For Catalan, delete 'C and 'c;
Richard M. Stallman <rms@gnu.org>
parents:
16719
diff
changeset
|
85 ;; as well. |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
86 (?' (?A . ?\301) (?E . ?\311) (?I . ?\315) (?O . ?\323) (?U . ?\332) |
16778
e08944e83eb7
(iso-languages): For Catalan, delete 'C and 'c;
Richard M. Stallman <rms@gnu.org>
parents:
16719
diff
changeset
|
87 (?a . ?\341) (?e . ?\351) (?i . ?\355) (?o . ?\363) (?u . ?\372) |
e08944e83eb7
(iso-languages): For Catalan, delete 'C and 'c;
Richard M. Stallman <rms@gnu.org>
parents:
16719
diff
changeset
|
88 (?\ . ?')) |
e08944e83eb7
(iso-languages): For Catalan, delete 'C and 'c;
Richard M. Stallman <rms@gnu.org>
parents:
16719
diff
changeset
|
89 (?` (?A . ?\300) (?E . ?\310) (?O . ?\322) |
18019
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
90 (?a . ?\340) (?e . ?\350) (?o . ?\362) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
91 (?\ . ?`)) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
92 (?\" (?I . ?\317) (?U . ?\334) (?i . ?\357) (?u . ?\374) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
93 (?\ . ?\")) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
94 (?~ (?C . ?\307) (?N . ?\321) (?c . ?\347) (?n . ?\361) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
95 (?> . ?\273) (?< . ?\253) (?! . ?\241) (?? . ?\277) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
96 (?\ . ?\~))) |
16459
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
97 |
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
98 ("esperanto" |
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
99 (?^ (?H . ?\246) (?J . ?\254) (?h . ?\266) (?j . ?\274) (?C . ?\306) |
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
100 (?G . ?\330) (?S . ?\336) (?c . ?\346) (?g . ?\370) (?s . ?\376) |
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
101 (?^ . ?^) (?\ . ?^)) |
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
102 (?~ (?U . ?\335) (?u . ?\375) (?\ . ?~))) |
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
103 |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
104 ("french" |
18019
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
105 (?' (?E . ?\311) (?C . ?\307) (?e . ?\351) (?c . ?\347) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
106 (?\ . ?')) |
15838
8c89a87a6341
(iso-languages, french): Remove non-French combinations.
Richard M. Stallman <rms@gnu.org>
parents:
15261
diff
changeset
|
107 (?` (?A . ?\300) (?E . ?\310) (?U . ?\331) |
18019
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
108 (?a . ?\340) (?e . ?\350) (?u . ?\371) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
109 (?\ . ?`)) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
110 (?^ (?A . ?\302) (?E . ?\312) (?I . ?\316) (?O . ?\324) (?U . ?\333) |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
111 (?a . ?\342) (?e . ?\352) (?i . ?\356) (?o . ?\364) (?u . ?\373) |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
112 (?\ . ?^)) |
15838
8c89a87a6341
(iso-languages, french): Remove non-French combinations.
Richard M. Stallman <rms@gnu.org>
parents:
15261
diff
changeset
|
113 (?\" (?E . ?\313) (?I . ?\317) |
18019
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
114 (?e . ?\353) (?i . ?\357) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
115 (?\ . ?\")) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
116 (?~ (?< . ?\253) (?> . ?\273) (?C . ?\307) (?c . ?\347) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
117 (?, . ?,)) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
118 (?, (?C . ?\307) (?c . ?\347) (?\ . ?\~))) |
16459
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
119 |
16719
0bbc2e3d4bd7
(iso-languages): Add "german" entry.
Richard M. Stallman <rms@gnu.org>
parents:
16459
diff
changeset
|
120 ("german" |
0bbc2e3d4bd7
(iso-languages): Add "german" entry.
Richard M. Stallman <rms@gnu.org>
parents:
16459
diff
changeset
|
121 (?\" (?A . ?\304) (?O . ?\326) (?U . ?\334) |
0bbc2e3d4bd7
(iso-languages): Add "german" entry.
Richard M. Stallman <rms@gnu.org>
parents:
16459
diff
changeset
|
122 (?a . ?\344) (?o . ?\366) (?u . ?\374) (?s . ?\337) (?\ . ?\"))) |
0bbc2e3d4bd7
(iso-languages): Add "german" entry.
Richard M. Stallman <rms@gnu.org>
parents:
16459
diff
changeset
|
123 |
16459
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
124 ("irish" |
16303
b65af4967b38
(iso-languages): Add element for latin-3.
Richard M. Stallman <rms@gnu.org>
parents:
15920
diff
changeset
|
125 (?' (?A . ?\301) (?E . ?\311) (?I . ?\315) (?O . ?\323) (?U . ?\332) |
b65af4967b38
(iso-languages): Add element for latin-3.
Richard M. Stallman <rms@gnu.org>
parents:
15920
diff
changeset
|
126 (?a . ?\341) (?e . ?\351) (?i . ?\355) (?o . ?\363) (?u . ?\372) |
16459
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
127 (?\ . ?'))) |
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
128 |
18021
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
129 ("portuguese" |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
130 (?' (?A . ?\301) (?E . ?\311) (?I . ?\315) (?O . ?\323) (?U . ?\332) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
131 (?C . ?\307) (?a . ?\341) (?e . ?\351) (?i . ?\355) (?o . ?\363) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
132 (?u . ?\372) (?c . ?\347) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
133 (?\ . ?')) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
134 (?` (?A . ?\300) (?a . ?\340) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
135 (?\ . ?`)) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
136 (?^ (?A . ?\302) (?E . ?\312) (?O . ?\324) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
137 (?a . ?\342) (?e . ?\352) (?o . ?\364) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
138 (?\ . ?^)) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
139 (?\" (?U . ?\334) (?u . ?\374) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
140 (?\ . ?\")) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
141 (?~ (?A . ?\303) (?O . ?\325) (?a . ?\343) (?o . ?\365) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
142 (?\ . ?~)) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
143 (?, (?c . ?\347) (?C . ?\307) (?, . ?,))) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
144 |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
145 ("spanish" |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
146 (?' (?A . ?\301) (?E . ?\311) (?I . ?\315) (?O . ?\323) (?U . ?\332) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
147 (?a . ?\341) (?e . ?\351) (?i . ?\355) (?o . ?\363) (?u . ?\372) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
148 (?\ . ?')) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
149 (?\" (?U . ?\334) (?u . ?\374) (?\ . ?\")) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
150 (?\~ (?N . ?\321) (?n . ?\361) (?> . ?\273) (?< . ?\253) (?! . ?\241) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
151 (?? . ?\277) (?\ . ?\~))) |
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
152 |
16459
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
153 ("latin-1" |
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
154 (?' (?A . ?\301) (?E . ?\311) (?I . ?\315) (?O . ?\323) (?U . ?\332) |
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
155 (?Y . ?\335) (?a . ?\341) (?e . ?\351) (?i . ?\355) (?o . ?\363) |
18019
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
156 (?u . ?\372) (?y . ?\375) (?' . ?\264) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
157 (?\ . ?')) |
16303
b65af4967b38
(iso-languages): Add element for latin-3.
Richard M. Stallman <rms@gnu.org>
parents:
15920
diff
changeset
|
158 (?` (?A . ?\300) (?E . ?\310) (?I . ?\314) (?O . ?\322) (?U . ?\331) |
b65af4967b38
(iso-languages): Add element for latin-3.
Richard M. Stallman <rms@gnu.org>
parents:
15920
diff
changeset
|
159 (?a . ?\340) (?e . ?\350) (?i . ?\354) (?o . ?\362) (?u . ?\371) |
b65af4967b38
(iso-languages): Add element for latin-3.
Richard M. Stallman <rms@gnu.org>
parents:
15920
diff
changeset
|
160 (?` . ?`) (?\ . ?`)) |
b65af4967b38
(iso-languages): Add element for latin-3.
Richard M. Stallman <rms@gnu.org>
parents:
15920
diff
changeset
|
161 (?^ (?A . ?\302) (?E . ?\312) (?I . ?\316) (?O . ?\324) (?U . ?\333) |
b65af4967b38
(iso-languages): Add element for latin-3.
Richard M. Stallman <rms@gnu.org>
parents:
15920
diff
changeset
|
162 (?a . ?\342) (?e . ?\352) (?i . ?\356) (?o . ?\364) (?u . ?\373) |
b65af4967b38
(iso-languages): Add element for latin-3.
Richard M. Stallman <rms@gnu.org>
parents:
15920
diff
changeset
|
163 (?^ . ?^) (?\ . ?^)) |
b65af4967b38
(iso-languages): Add element for latin-3.
Richard M. Stallman <rms@gnu.org>
parents:
15920
diff
changeset
|
164 (?\" (?A . ?\304) (?E . ?\313) (?I . ?\317) (?O . ?\326) (?U . ?\334) |
b65af4967b38
(iso-languages): Add element for latin-3.
Richard M. Stallman <rms@gnu.org>
parents:
15920
diff
changeset
|
165 (?a . ?\344) (?e . ?\353) (?i . ?\357) (?o . ?\366) (?s . ?\337) |
18019
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
166 (?u . ?\374) (?y . ?\377) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
167 (?\" . ?\250) (?\ . ?\")) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
168 (?~ (?A . ?\303) (?C . ?\307) (?D . ?\320) (?N . ?\321) (?O . ?\325) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
169 (?T . ?\336) (?a . ?\343) (?c . ?\347) (?d . ?\360) (?n . ?\361) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
170 (?o . ?\365) (?t . ?\376) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
171 (?> . ?\273) (?< . ?\253) (?! . ?\241) (?? . ?\277) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
172 (?\~ . ?\270) (?\ . ?~)) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
173 (?/ (?A . ?\305) (?E . ?\306) (?O . ?\330) (?a . ?\345) (?e . ?\346) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
174 (?o . ?\370) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
175 (?/ . ?\260) (?\ . ?/))) |
16459
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
176 |
17715
599ab8f1aa84
(iso-languages): Add charset spec to some elements.
Richard M. Stallman <rms@gnu.org>
parents:
17701
diff
changeset
|
177 ("latin-2" latin-iso8859-2 |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
178 (?' (?A . ?\301) (?C . ?\306) (?D . ?\320) (?E . ?\311) (?I . ?\315) |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
179 (?L . ?\305) (?N . ?\321) (?O . ?\323) (?R . ?\300) (?S . ?\246) |
17716
bef751068f42
(iso-languages): For Latin-2, add ^I and ^i. Fix ~a.
Richard M. Stallman <rms@gnu.org>
parents:
17715
diff
changeset
|
180 (?U . ?\332) (?Y . ?\335) (?Z . ?\254) |
bef751068f42
(iso-languages): For Latin-2, add ^I and ^i. Fix ~a.
Richard M. Stallman <rms@gnu.org>
parents:
17715
diff
changeset
|
181 (?a . ?\341) (?c . ?\346) (?d . ?\360) (?e . ?\351) (?i . ?\355) |
bef751068f42
(iso-languages): For Latin-2, add ^I and ^i. Fix ~a.
Richard M. Stallman <rms@gnu.org>
parents:
17715
diff
changeset
|
182 (?l . ?\345) (?n . ?\361) (?o . ?\363) (?r . ?\340) (?s . ?\266) |
bef751068f42
(iso-languages): For Latin-2, add ^I and ^i. Fix ~a.
Richard M. Stallman <rms@gnu.org>
parents:
17715
diff
changeset
|
183 (?u . ?\372) (?y . ?\375) (?z . ?\274) |
bef751068f42
(iso-languages): For Latin-2, add ^I and ^i. Fix ~a.
Richard M. Stallman <rms@gnu.org>
parents:
17715
diff
changeset
|
184 (?' . ?\264) (?\ . ?')) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
185 (?` (?A . ?\241) (?C . ?\307) (?E . ?\312) (?L . ?\243) (?S . ?\252) |
17716
bef751068f42
(iso-languages): For Latin-2, add ^I and ^i. Fix ~a.
Richard M. Stallman <rms@gnu.org>
parents:
17715
diff
changeset
|
186 (?T . ?\336) (?Z . ?\257) |
bef751068f42
(iso-languages): For Latin-2, add ^I and ^i. Fix ~a.
Richard M. Stallman <rms@gnu.org>
parents:
17715
diff
changeset
|
187 (?a . ?\261) (?l . ?\263) (?c . ?\347) (?e . ?\352) (?s . ?\272) |
bef751068f42
(iso-languages): For Latin-2, add ^I and ^i. Fix ~a.
Richard M. Stallman <rms@gnu.org>
parents:
17715
diff
changeset
|
188 (?t . ?\376) (?z . ?\277) |
bef751068f42
(iso-languages): For Latin-2, add ^I and ^i. Fix ~a.
Richard M. Stallman <rms@gnu.org>
parents:
17715
diff
changeset
|
189 (?` . ?\252) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
190 (?. . ?\377) (?\ . ?`)) |
17716
bef751068f42
(iso-languages): For Latin-2, add ^I and ^i. Fix ~a.
Richard M. Stallman <rms@gnu.org>
parents:
17715
diff
changeset
|
191 (?^ (?A . ?\302) (?I . ?\316) (?O . ?\324) |
bef751068f42
(iso-languages): For Latin-2, add ^I and ^i. Fix ~a.
Richard M. Stallman <rms@gnu.org>
parents:
17715
diff
changeset
|
192 (?a . ?\342) (?i . ?\356) (?o . ?\364) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
193 (?^ . ?^) ; no special code? |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
194 (?\ . ?^)) |
17716
bef751068f42
(iso-languages): For Latin-2, add ^I and ^i. Fix ~a.
Richard M. Stallman <rms@gnu.org>
parents:
17715
diff
changeset
|
195 (?\" (?A . ?\304) (?E . ?\313) (?O . ?\326) (?U . ?\334) |
bef751068f42
(iso-languages): For Latin-2, add ^I and ^i. Fix ~a.
Richard M. Stallman <rms@gnu.org>
parents:
17715
diff
changeset
|
196 (?a . ?\344) (?e . ?\353) (?o . ?\366) (?s . ?\337) (?u . ?\374) |
bef751068f42
(iso-languages): For Latin-2, add ^I and ^i. Fix ~a.
Richard M. Stallman <rms@gnu.org>
parents:
17715
diff
changeset
|
197 (?\" . ?\250) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
198 (?\ . ?\")) |
18019
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
199 (?~ (?A . ?\303) (?C . ?\310) (?D . ?\317) (?L . ?\245) (?N . ?\322) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
200 (?O . ?\325) (?R . ?\330) (?S . ?\251) (?T . ?\253) (?U . ?\333) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
201 (?Z . ?\256) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
202 (?a . ?\343) (?c . ?\350) (?d . ?\357) (?l . ?\265) (?n . ?\362) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
203 (?o . ?\365) (?r . ?\370) (?s . ?\271) (?t . ?\273) (?u . ?\373) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
204 (?z . ?\276) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
205 (?v . ?\242) ; v accent |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
206 (?\~ . ?\242) ; v accent |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
207 (?\. . ?\270) ; cedilla accent |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
208 (?\ . ?~))) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
209 |
17715
599ab8f1aa84
(iso-languages): Add charset spec to some elements.
Richard M. Stallman <rms@gnu.org>
parents:
17701
diff
changeset
|
210 ("latin-3" latin-iso8859-3 |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
211 (?' (?A . ?\301) (?E . ?\311) (?I . ?\315) (?O . ?\323) (?U . ?\332) |
16459
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
212 (?a . ?\341) (?e . ?\351) (?i . ?\355) (?o . ?\363) (?u . ?\372) |
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
213 (?' . ?\264) (?\ . ?')) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
214 (?` (?A . ?\300) (?E . ?\310) (?I . ?\314) (?O . ?\322) (?U . ?\331) |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
215 (?a . ?\340) (?e . ?\350) (?i . ?\354) (?o . ?\362) (?u . ?\371) |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
216 (?` . ?`) (?\ . ?`)) |
18019
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
217 (?^ (?A . ?\302) (?C . ?\306) (?E . ?\312) (?G . ?\330) (?H . ?\246) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
218 (?I . ?\316) (?J . ?\254) (?O . ?\324) (?S . ?\336) (?U . ?\333) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
219 (?a . ?\342) (?c . ?\346) (?e . ?\352) (?g . ?\370) (?h . ?\266) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
220 (?i . ?\356) (?j . ?\274) (?o . ?\364) (?s . ?\376) (?u . ?\373) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
221 (?^ . ?^) (?\ . ?^)) |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
222 (?\" (?A . ?\304) (?E . ?\313) (?I . ?\317) (?O . ?\326) (?U . ?\334) |
18019
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
223 (?a . ?\344) (?e . ?\353) (?i . ?\357) (?o . ?\366) (?u . ?\374) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
224 (?s . ?\337) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
225 (?\" . ?\250) (?\ . ?\")) |
16459
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
226 (?~ (?A . ?\303) (?C . ?\307) (?D . ?\320) (?N . ?\321) (?O . ?\325) |
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
227 (?a . ?\343) (?c . ?\347) (?d . ?\360) (?n . ?\361) (?o . ?\365) |
10b2ea857cac
(iso-langauges): Alphabetize list.
Karl Heuer <kwzh@gnu.org>
parents:
16303
diff
changeset
|
228 (?$ . ?\245) (?S . ?\252) (?s . ?\272) (?G . ?\253) (?g . ?\273) |
18019
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
229 (?U . ?\335) (?u . ?\375) (?` . ?\242) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
230 (?~ . ?\270) (?\ . ?~)) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
231 (?/ (?C . ?\305) (?G . ?\325) (?H . ?\241) (?I . ?\251) (?Z . ?\257) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
232 (?c . ?\345) (?g . ?\365) (?h . ?\261) (?i . ?\271) (?z . ?\277) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
233 (?r . ?\256) |
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
234 (?. . ?\377) (?# . ?\243) (?$ . ?\244) |
18020 | 235 (?/ . ?\260) (?\ . ?/)) |
18019
b5e19f3496e7
(iso-languages): For French and Portuguese,
Richard M. Stallman <rms@gnu.org>
parents:
17848
diff
changeset
|
236 (?. (?C . ?\305) (?G . ?\325) (?I . ?\251) (?Z . ?\257) |
18021
6f4f7470572b
Move the latin-* to last.
Richard M. Stallman <rms@gnu.org>
parents:
18020
diff
changeset
|
237 (?c . ?\345) (?g . ?\365) (?z . ?\277)))) |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
238 "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
|
239 |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
240 Each element of the list is of the form |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
241 |
17715
599ab8f1aa84
(iso-languages): Add charset spec to some elements.
Richard M. Stallman <rms@gnu.org>
parents:
17701
diff
changeset
|
242 (LANGUAGE [CHARSET] |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
243 (PSEUDO-ACCENT MAPPINGS) |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
244 (PSEUDO-ACCENT MAPPINGS) |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
245 ...) |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
246 |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
247 LANGUAGE is a string naming the language. |
17715
599ab8f1aa84
(iso-languages): Add charset spec to some elements.
Richard M. Stallman <rms@gnu.org>
parents:
17701
diff
changeset
|
248 CHARSET (which may be omitted) is the symbol name |
599ab8f1aa84
(iso-languages): Add charset spec to some elements.
Richard M. Stallman <rms@gnu.org>
parents:
17701
diff
changeset
|
249 of the character set used in this language. |
599ab8f1aa84
(iso-languages): Add charset spec to some elements.
Richard M. Stallman <rms@gnu.org>
parents:
17701
diff
changeset
|
250 If CHARSET is omitted, latin-iso8859-1 is the default. |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
251 PSEUDO-ACCENT is a char specifying an accent key. |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
252 MAPPINGS are cons cells of the form (CHAR . ISO-CHAR). |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
253 |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
254 The net effect is that the key sequence PSEUDO-ACCENT CHAR is mapped |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
255 to ISO-CHAR on input.") |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
256 |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
257 (defvar iso-language nil |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
258 "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
|
259 Change it with the `iso-accents-customize' function.") |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
260 |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
261 (defvar iso-accents-list nil |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
262 "Association list for ISO accent combinations, for the chosen language.") |
4720 | 263 |
21645 | 264 (defcustom iso-accents-mode nil |
4924
fb527936ca61
(iso-accents-mode): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
4922
diff
changeset
|
265 "*Non-nil enables ISO Accents mode. |
4733
4d378f483cf4
Set up keymap at load time.
Richard M. Stallman <rms@gnu.org>
parents:
4721
diff
changeset
|
266 Setting this variable makes it local to the current buffer. |
21645 | 267 See the function `iso-accents-mode'." |
268 :type 'boolean | |
269 :group 'iso-acc) | |
9740
ba689bf126fb
(iso-accents-mode): Variable renamed from iso-accents-minor-mode.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
270 (make-variable-buffer-local 'iso-accents-mode) |
4720 | 271 |
21645 | 272 (defcustom iso-accents-enable '(?' ?` ?^ ?\" ?~ ?/) |
14115
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
273 "*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
|
274 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
|
275 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
|
276 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
|
277 |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
278 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
|
279 that can also turn off certain prefixes (whichever ones are not needed in |
21645 | 280 the language you choose)." |
281 :type '(repeat character) | |
282 :group 'iso-acc) | |
14115
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
283 |
4877
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
284 (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
|
285 "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
|
286 ;; 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
|
287 (if (and iso-accents-mode |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
288 (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
|
289 (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
|
290 (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
|
291 |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
292 (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
|
293 (let* ((first-char last-input-char) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
294 (list (assq first-char iso-accents-list)) |
4877
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
295 ;; 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
|
296 (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
|
297 (not (eq (key-binding "a") |
13136
b37ba01d6e27
Fix typo calling iso-accents-customize.
Richard M. Stallman <rms@gnu.org>
parents:
12728
diff
changeset
|
298 'self-insert-command)) |
15167
d9e712c9cc68
(iso-accents-compose): Don't insert in the buffer
Richard M. Stallman <rms@gnu.org>
parents:
14734
diff
changeset
|
299 ;; Not at start of a key sequence. |
d9e712c9cc68
(iso-accents-compose): Don't insert in the buffer
Richard M. Stallman <rms@gnu.org>
parents:
14734
diff
changeset
|
300 (> (length (this-single-command-keys)) 1) |
13136
b37ba01d6e27
Fix typo calling iso-accents-customize.
Richard M. Stallman <rms@gnu.org>
parents:
12728
diff
changeset
|
301 ;; Called from anything but the command loop. |
b37ba01d6e27
Fix typo calling iso-accents-customize.
Richard M. Stallman <rms@gnu.org>
parents:
12728
diff
changeset
|
302 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
|
303 (progn |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
304 (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
|
305 (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
|
306 first-char) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
307 (read-event)) |
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
308 (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
|
309 (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
|
310 (delete-region (1- (point)) (point))))) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
311 (entry (cdr (assq second-char list)))) |
4877
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
312 (if entry |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
313 ;; Found it: return the mapped char |
17782
4522860df0cf
(iso-accents-compose): Return composed character directly for execution.
Richard M. Stallman <rms@gnu.org>
parents:
17716
diff
changeset
|
314 (vector |
4522860df0cf
(iso-accents-compose): Return composed character directly for execution.
Richard M. Stallman <rms@gnu.org>
parents:
17716
diff
changeset
|
315 (if (and enable-multibyte-characters |
4522860df0cf
(iso-accents-compose): Return composed character directly for execution.
Richard M. Stallman <rms@gnu.org>
parents:
17716
diff
changeset
|
316 (>= entry ?\200)) |
4522860df0cf
(iso-accents-compose): Return composed character directly for execution.
Richard M. Stallman <rms@gnu.org>
parents:
17716
diff
changeset
|
317 (+ iso-accents-insert-offset entry) |
4522860df0cf
(iso-accents-compose): Return composed character directly for execution.
Richard M. Stallman <rms@gnu.org>
parents:
17716
diff
changeset
|
318 entry)) |
4877
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
319 ;; Otherwise, advance and schedule the second key for execution. |
17701 | 320 (setq unread-command-events |
321 (cons (list second-char) unread-command-events)) | |
4877
4c51d8a8b09f
Define "dead keys" in key-translation-map, not in global-map.
Richard M. Stallman <rms@gnu.org>
parents:
4734
diff
changeset
|
322 (vector first-char)))) |
4733
4d378f483cf4
Set up keymap at load time.
Richard M. Stallman <rms@gnu.org>
parents:
4721
diff
changeset
|
323 |
4720 | 324 ;; It is a matter of taste if you want the minor mode indicated |
325 ;; in the mode line... | |
4733
4d378f483cf4
Set up keymap at load time.
Richard M. Stallman <rms@gnu.org>
parents:
4721
diff
changeset
|
326 ;; If so, uncomment the next four lines. |
17701 | 327 ;; (or (assq 'iso-accents-mode minor-mode-alist) |
4720 | 328 ;; (setq minor-mode-alist |
329 ;; (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
|
330 ;; '((iso-accents-mode " ISO-Acc"))))) |
4720 | 331 |
332 ;;;###autoload | |
4721
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
333 (defun iso-accents-mode (&optional arg) |
4924
fb527936ca61
(iso-accents-mode): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
4922
diff
changeset
|
334 "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
|
335 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
|
336 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
|
337 \(`, ', \", ^, / 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
|
338 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
|
339 |
13800 | 340 You can customize ISO Accents mode to a particular language |
341 with the command `iso-accents-customize'. | |
5101
c95efc1cf15b
(iso-accents-enable): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
5060
diff
changeset
|
342 |
4921
e96cc77d9a7c
Support ~ and /. Support 'Y, 'y, "y.
Richard M. Stallman <rms@gnu.org>
parents:
4877
diff
changeset
|
343 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
|
344 ~d gives an Icelandic eth (d with dash). |
bbf3a30a4d39
(iso-accents-list): Add Icelandic thorn.
Karl Heuer <kwzh@gnu.org>
parents:
9740
diff
changeset
|
345 ~t gives an Icelandic thorn. |
5060
0f70551a445a
(iso-accents-list): Add "s.
Richard M. Stallman <rms@gnu.org>
parents:
5059
diff
changeset
|
346 \"s gives German sharp s. |
0f70551a445a
(iso-accents-list): Add "s.
Richard M. Stallman <rms@gnu.org>
parents:
5059
diff
changeset
|
347 /a gives a with ring. |
0f70551a445a
(iso-accents-list): Add "s.
Richard M. Stallman <rms@gnu.org>
parents:
5059
diff
changeset
|
348 /e gives an a-e ligature. |
13992 | 349 ~< and ~> give guillemots. |
11642
ffbb4fa31092
(iso-accents-mode): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
11523
diff
changeset
|
350 ~! gives an inverted exclamation mark. |
ffbb4fa31092
(iso-accents-mode): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
11523
diff
changeset
|
351 ~? gives an inverted question mark. |
4921
e96cc77d9a7c
Support ~ and /. Support 'Y, 'y, "y.
Richard M. Stallman <rms@gnu.org>
parents:
4877
diff
changeset
|
352 |
5101
c95efc1cf15b
(iso-accents-enable): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
5060
diff
changeset
|
353 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
|
354 and a negative argument disables it." |
4720 | 355 |
356 (interactive "P") | |
357 | |
4721
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
358 (if (if arg |
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
359 ;; Negative arg means switch it off. |
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
360 (<= (prefix-numeric-value arg) 0) |
d34c02ddea9f
Fix lots of doc strings.
Richard M. Stallman <rms@gnu.org>
parents:
4720
diff
changeset
|
361 ;; 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
|
362 iso-accents-mode) |
ba689bf126fb
(iso-accents-mode): Variable renamed from iso-accents-minor-mode.
Richard M. Stallman <rms@gnu.org>
parents:
7300
diff
changeset
|
363 (setq iso-accents-mode nil) |
4720 | 364 |
365 ;; 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
|
366 (setq iso-accents-mode t))) |
4720 | 367 |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
368 (defun iso-accents-customize (language) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
369 "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
|
370 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
|
371 `iso-languages' variable." |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
372 (interactive (list (completing-read "Language: " iso-languages nil t))) |
17715
599ab8f1aa84
(iso-languages): Add charset spec to some elements.
Richard M. Stallman <rms@gnu.org>
parents:
17701
diff
changeset
|
373 (let ((table (cdr (assoc language iso-languages))) |
14115
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
374 all-accents tail) |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
375 (if (not table) |
17715
599ab8f1aa84
(iso-languages): Add charset spec to some elements.
Richard M. Stallman <rms@gnu.org>
parents:
17701
diff
changeset
|
376 (error "Unknown language `%s'" language) |
599ab8f1aa84
(iso-languages): Add charset spec to some elements.
Richard M. Stallman <rms@gnu.org>
parents:
17701
diff
changeset
|
377 (setq iso-accents-insert-offset (- (make-char (if (symbolp (car table)) |
599ab8f1aa84
(iso-languages): Add charset spec to some elements.
Richard M. Stallman <rms@gnu.org>
parents:
17701
diff
changeset
|
378 (car table) |
599ab8f1aa84
(iso-languages): Add charset spec to some elements.
Richard M. Stallman <rms@gnu.org>
parents:
17701
diff
changeset
|
379 'latin-iso8859-1)) |
599ab8f1aa84
(iso-languages): Add charset spec to some elements.
Richard M. Stallman <rms@gnu.org>
parents:
17701
diff
changeset
|
380 128)) |
599ab8f1aa84
(iso-languages): Add charset spec to some elements.
Richard M. Stallman <rms@gnu.org>
parents:
17701
diff
changeset
|
381 (if (symbolp (car table)) |
599ab8f1aa84
(iso-languages): Add charset spec to some elements.
Richard M. Stallman <rms@gnu.org>
parents:
17701
diff
changeset
|
382 (setq table (cdr table))) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
383 (setq iso-language language |
17715
599ab8f1aa84
(iso-languages): Add charset spec to some elements.
Richard M. Stallman <rms@gnu.org>
parents:
17701
diff
changeset
|
384 iso-accents-list table) |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
385 (if key-translation-map |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
386 (substitute-key-definition |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
387 'iso-accents-accent-key nil key-translation-map) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
388 (setq key-translation-map (make-sparse-keymap))) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
389 ;; Set up translations for all the characters that are used as |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
390 ;; accent prefixes in this language. |
14115
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
391 (setq tail iso-accents-list) |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
392 (while tail |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
393 (define-key key-translation-map (vector (car (car tail))) |
14115
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
394 'iso-accents-accent-key) |
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
395 (setq tail (cdr tail)))))) |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
396 |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
397 (defun iso-accentuate (start end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
398 "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
|
399 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
|
400 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
|
401 (interactive "r") |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
402 (save-excursion |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
403 (save-restriction |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
404 (narrow-to-region start end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
405 (goto-char start) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
406 (forward-char 1) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
407 (let (entry) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
408 (while (< (point) end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
409 (if (and (memq (preceding-char) iso-accents-enable) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
410 (setq entry (cdr (assq (following-char) (assq (preceding-char) iso-accents-list))))) |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
411 (progn |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
412 (forward-char -1) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
413 (delete-char 2) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
414 (insert entry) |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
415 (setq end (1- end))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
416 (forward-char 1))))))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
417 |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
418 (defun iso-accent-rassoc-unit (value alist) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
419 (let (elt acc) |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
420 (while (and alist (not elt)) |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
421 (setq acc (car (car alist)) |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
422 elt (car (rassq value (cdr (car alist)))) |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
423 alist (cdr alist))) |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
424 (if elt |
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
425 (cons acc elt)))) |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
426 |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
427 (defun iso-unaccentuate (start end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
428 "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
|
429 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
|
430 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
|
431 (interactive "r") |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
432 (save-excursion |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
433 (save-restriction |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
434 (narrow-to-region start end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
435 (goto-char start) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
436 (let (entry) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
437 (while (< (point) end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
438 (if (and (> (following-char) 127) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
439 (setq entry (iso-accent-rassoc-unit (following-char) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
440 iso-accents-list))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
441 (progn |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
442 (delete-char 1) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
443 (insert (car entry) (cdr entry)) |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
444 (setq end (1+ end))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
445 (forward-char 1))))))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
446 |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
447 (defun iso-deaccentuate (start end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
448 "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
|
449 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
|
450 (interactive "r") |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
451 (save-excursion |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
452 (save-restriction |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
453 (narrow-to-region start end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
454 (goto-char start) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
455 (let (entry) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
456 (while (< (point) end) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
457 (if (and (> (following-char) 127) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
458 (setq entry (iso-accent-rassoc-unit (following-char) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
459 iso-accents-list))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
460 (progn |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
461 (delete-char 1) |
14358
55e1bf4d743a
(iso-languages): Restructure the list to remove
Richard M. Stallman <rms@gnu.org>
parents:
14289
diff
changeset
|
462 (insert (cdr entry))) |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
463 (forward-char 1))))))) |
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
464 |
14115
bc30354daf1f
(iso-accents-accent-key): Check iso-accents-enable here.
Karl Heuer <kwzh@gnu.org>
parents:
13992
diff
changeset
|
465 ;; Set up the default settings. |
14289
5ef14e01a330
(iso-accents-customize): Extract accent chars
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
466 (iso-accents-customize "latin-1") |
12728
abe3fc783a45
Major additions by Gustavo Chaves.
Richard M. Stallman <rms@gnu.org>
parents:
11642
diff
changeset
|
467 |
14720
52a6ccf7c0a8
(iso-languages): Add ~? and ~!.
Richard M. Stallman <rms@gnu.org>
parents:
14358
diff
changeset
|
468 ;; Use Iso-Accents mode in the minibuffer |
52a6ccf7c0a8
(iso-languages): Add ~? and ~!.
Richard M. Stallman <rms@gnu.org>
parents:
14358
diff
changeset
|
469 ;; if it was in use in the previous buffer. |
52a6ccf7c0a8
(iso-languages): Add ~? and ~!.
Richard M. Stallman <rms@gnu.org>
parents:
14358
diff
changeset
|
470 (defun iso-acc-minibuf-setup () |
52a6ccf7c0a8
(iso-languages): Add ~? and ~!.
Richard M. Stallman <rms@gnu.org>
parents:
14358
diff
changeset
|
471 (setq iso-accents-mode |
52a6ccf7c0a8
(iso-languages): Add ~? and ~!.
Richard M. Stallman <rms@gnu.org>
parents:
14358
diff
changeset
|
472 (save-excursion |
52a6ccf7c0a8
(iso-languages): Add ~? and ~!.
Richard M. Stallman <rms@gnu.org>
parents:
14358
diff
changeset
|
473 (set-buffer (window-buffer minibuffer-scroll-window)) |
52a6ccf7c0a8
(iso-languages): Add ~? and ~!.
Richard M. Stallman <rms@gnu.org>
parents:
14358
diff
changeset
|
474 iso-accents-mode))) |
52a6ccf7c0a8
(iso-languages): Add ~? and ~!.
Richard M. Stallman <rms@gnu.org>
parents:
14358
diff
changeset
|
475 |
15920
e67d0c1ec11c
(minibuffer-setup-hook): Fix misspelling of hook name.
Richard M. Stallman <rms@gnu.org>
parents:
15840
diff
changeset
|
476 (add-hook 'minibuffer-setup-hook 'iso-acc-minibuf-setup) |
14720
52a6ccf7c0a8
(iso-languages): Add ~? and ~!.
Richard M. Stallman <rms@gnu.org>
parents:
14358
diff
changeset
|
477 |
4720 | 478 ;;; iso-acc.el ends here |