Mercurial > hg > xemacs-beta
comparison lisp/iso/iso8859-1.el @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children | 0293115a14e9 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:376386a54a3c |
---|---|
1 ;; Sets the case and syntax tables for the ISO-8859/1 character set. | |
2 ;; Copyright (C) 1992 Free Software Foundation, Inc. | |
3 | |
4 ;; This file is part of XEmacs. | |
5 | |
6 ;; XEmacs is free software; you can redistribute it and/or modify it | |
7 ;; under the terms of the GNU General Public License as published by | |
8 ;; the Free Software Foundation; either version 2, or (at your option) | |
9 ;; any later version. | |
10 | |
11 ;; XEmacs is distributed in the hope that it will be useful, but | |
12 ;; WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 ;; General Public License for more details. | |
15 | |
16 ;; You should have received a copy of the GNU General Public License | |
17 ;; along with XEmacs; see the file COPYING. If not, write to the Free | |
18 ;; Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | |
19 | |
20 ;; created by jwz, 19-aug-92. | |
21 | |
22 (let ((table (standard-syntax-table))) | |
23 ;; | |
24 ;; The symbol characters | |
25 ;; | |
26 (modify-syntax-entry ?\240 "_" table) ; nobreakspace | |
27 (modify-syntax-entry ?\241 "." table) ; exclamdown | |
28 (modify-syntax-entry ?\242 "_" table) ; cent | |
29 (modify-syntax-entry ?\243 "_" table) ; sterling | |
30 (modify-syntax-entry ?\244 "_" table) ; currency | |
31 (modify-syntax-entry ?\245 "_" table) ; yen | |
32 (modify-syntax-entry ?\246 "_" table) ; brokenbar | |
33 (modify-syntax-entry ?\247 "_" table) ; section | |
34 (modify-syntax-entry ?\250 "_" table) ; diaeresis | |
35 (modify-syntax-entry ?\251 "_" table) ; copyright | |
36 (modify-syntax-entry ?\252 "_" table) ; ordfeminine | |
37 (modify-syntax-entry ?\253 "(\273" table) ; guillemotleft | |
38 (modify-syntax-entry ?\254 "_" table) ; notsign | |
39 (modify-syntax-entry ?\255 "_" table) ; hyphen | |
40 (modify-syntax-entry ?\256 "_" table) ; registered | |
41 (modify-syntax-entry ?\257 "_" table) ; macron | |
42 (modify-syntax-entry ?\260 "_" table) ; degree | |
43 (modify-syntax-entry ?\261 "_" table) ; plusminus | |
44 (modify-syntax-entry ?\262 "_" table) ; twosuperior | |
45 (modify-syntax-entry ?\263 "_" table) ; threesuperior | |
46 (modify-syntax-entry ?\264 "_" table) ; acute | |
47 (modify-syntax-entry ?\265 "_" table) ; mu | |
48 (modify-syntax-entry ?\266 "_" table) ; paragraph | |
49 (modify-syntax-entry ?\267 "_" table) ; periodcentered | |
50 (modify-syntax-entry ?\270 "_" table) ; cedilla | |
51 (modify-syntax-entry ?\271 "_" table) ; onesuperior | |
52 (modify-syntax-entry ?\272 "_" table) ; masculine | |
53 (modify-syntax-entry ?\273 ")\253" table) ; guillemotright | |
54 (modify-syntax-entry ?\274 "_" table) ; onequarter | |
55 (modify-syntax-entry ?\275 "_" table) ; onehalf | |
56 (modify-syntax-entry ?\276 "_" table) ; threequarters | |
57 (modify-syntax-entry ?\277 "_" table) ; questiondown | |
58 ;; | |
59 ;; the upper-case characters (plus "multiply" and "ssharp") | |
60 ;; | |
61 (modify-syntax-entry ?\300 "w" table) ; Agrave | |
62 (modify-syntax-entry ?\301 "w" table) ; Aacute | |
63 (modify-syntax-entry ?\302 "w" table) ; Acircumflex | |
64 (modify-syntax-entry ?\303 "w" table) ; Atilde | |
65 (modify-syntax-entry ?\304 "w" table) ; Adiaeresis | |
66 (modify-syntax-entry ?\305 "w" table) ; Aring | |
67 (modify-syntax-entry ?\306 "w" table) ; AE | |
68 (modify-syntax-entry ?\307 "w" table) ; Ccedilla | |
69 (modify-syntax-entry ?\310 "w" table) ; Egrave | |
70 (modify-syntax-entry ?\311 "w" table) ; Eacute | |
71 (modify-syntax-entry ?\312 "w" table) ; Ecircumflex | |
72 (modify-syntax-entry ?\313 "w" table) ; Ediaeresis | |
73 (modify-syntax-entry ?\314 "w" table) ; Igrave | |
74 (modify-syntax-entry ?\315 "w" table) ; Iacute | |
75 (modify-syntax-entry ?\316 "w" table) ; Icircumflex | |
76 (modify-syntax-entry ?\317 "w" table) ; Idiaeresis | |
77 (modify-syntax-entry ?\320 "w" table) ; ETH | |
78 (modify-syntax-entry ?\321 "w" table) ; Ntilde | |
79 (modify-syntax-entry ?\322 "w" table) ; Ograve | |
80 (modify-syntax-entry ?\323 "w" table) ; Oacute | |
81 (modify-syntax-entry ?\324 "w" table) ; Ocircumflex | |
82 (modify-syntax-entry ?\325 "w" table) ; Otilde | |
83 (modify-syntax-entry ?\326 "w" table) ; Odiaeresis | |
84 (modify-syntax-entry ?\327 "_" table) ; multiply | |
85 (modify-syntax-entry ?\330 "w" table) ; Ooblique | |
86 (modify-syntax-entry ?\331 "w" table) ; Ugrave | |
87 (modify-syntax-entry ?\332 "w" table) ; Uacute | |
88 (modify-syntax-entry ?\333 "w" table) ; Ucircumflex | |
89 (modify-syntax-entry ?\334 "w" table) ; Udiaeresis | |
90 (modify-syntax-entry ?\335 "w" table) ; Yacute | |
91 (modify-syntax-entry ?\336 "w" table) ; THORN | |
92 (modify-syntax-entry ?\337 "w" table) ; ssharp | |
93 ;; | |
94 ;; the lower-case characters (plus "division" and "ydiaeresis") | |
95 ;; | |
96 (modify-syntax-entry ?\340 "w" table) ; agrave | |
97 (modify-syntax-entry ?\341 "w" table) ; aacute | |
98 (modify-syntax-entry ?\342 "w" table) ; acircumflex | |
99 (modify-syntax-entry ?\343 "w" table) ; atilde | |
100 (modify-syntax-entry ?\344 "w" table) ; adiaeresis | |
101 (modify-syntax-entry ?\345 "w" table) ; aring | |
102 (modify-syntax-entry ?\346 "w" table) ; ae | |
103 (modify-syntax-entry ?\347 "w" table) ; ccedilla | |
104 (modify-syntax-entry ?\350 "w" table) ; egrave | |
105 (modify-syntax-entry ?\351 "w" table) ; eacute | |
106 (modify-syntax-entry ?\352 "w" table) ; ecircumflex | |
107 (modify-syntax-entry ?\353 "w" table) ; ediaeresis | |
108 (modify-syntax-entry ?\354 "w" table) ; igrave | |
109 (modify-syntax-entry ?\355 "w" table) ; iacute | |
110 (modify-syntax-entry ?\356 "w" table) ; icircumflex | |
111 (modify-syntax-entry ?\357 "w" table) ; idiaeresis | |
112 (modify-syntax-entry ?\360 "w" table) ; eth | |
113 (modify-syntax-entry ?\361 "w" table) ; ntilde | |
114 (modify-syntax-entry ?\362 "w" table) ; ograve | |
115 (modify-syntax-entry ?\363 "w" table) ; oacute | |
116 (modify-syntax-entry ?\364 "w" table) ; ocircumflex | |
117 (modify-syntax-entry ?\365 "w" table) ; otilde | |
118 (modify-syntax-entry ?\366 "w" table) ; odiaeresis | |
119 (modify-syntax-entry ?\367 "_" table) ; division | |
120 (modify-syntax-entry ?\370 "w" table) ; ooblique | |
121 (modify-syntax-entry ?\371 "w" table) ; ugrave | |
122 (modify-syntax-entry ?\372 "w" table) ; uacute | |
123 (modify-syntax-entry ?\373 "w" table) ; ucircumflex | |
124 (modify-syntax-entry ?\374 "w" table) ; udiaeresis | |
125 (modify-syntax-entry ?\375 "w" table) ; yacute | |
126 (modify-syntax-entry ?\376 "w" table) ; thorn | |
127 (modify-syntax-entry ?\377 "w" table) ; ydiaeresis | |
128 ) | |
129 | |
130 | |
131 (defconst iso8859/1-case-table nil | |
132 "The case table for ISO-8859/1 characters.") | |
133 | |
134 ;;; This macro expands into | |
135 ;;; (setq iso8859/1-case-table (purecopy '("..." nil nil nil))) | |
136 ;;; doing the computation of the case table at compile-time. | |
137 | |
138 ((macro | |
139 . (lambda (&rest pairs) | |
140 (let ((downcase (make-string 256 0)) | |
141 (i 0)) | |
142 (while (< i 256) | |
143 (aset downcase i (if (and (>= i ?A) (<= i ?Z)) (+ i 32) i)) | |
144 (setq i (1+ i))) | |
145 (while pairs | |
146 (aset downcase (car (car pairs)) (car (cdr (car pairs)))) | |
147 (setq pairs (cdr pairs))) | |
148 (cons 'setq | |
149 (cons 'iso8859/1-case-table | |
150 (list (list 'purecopy | |
151 (list 'quote | |
152 (list downcase nil nil nil))))))))) | |
153 | |
154 (?\300 ?\340) ; Agrave | |
155 (?\301 ?\341) ; Aacute | |
156 (?\302 ?\342) ; Acircumflex | |
157 (?\303 ?\343) ; Atilde | |
158 (?\304 ?\344) ; Adiaeresis | |
159 (?\305 ?\345) ; Aring | |
160 (?\306 ?\346) ; AE | |
161 (?\307 ?\347) ; Ccedilla | |
162 (?\310 ?\350) ; Egrave | |
163 (?\311 ?\351) ; Eacute | |
164 (?\312 ?\352) ; Ecircumflex | |
165 (?\313 ?\353) ; Ediaeresis | |
166 (?\314 ?\354) ; Igrave | |
167 (?\315 ?\355) ; Iacute | |
168 (?\316 ?\356) ; Icircumflex | |
169 (?\317 ?\357) ; Idiaeresis | |
170 (?\320 ?\360) ; ETH | |
171 (?\321 ?\361) ; Ntilde | |
172 (?\322 ?\362) ; Ograve | |
173 (?\323 ?\363) ; Oacute | |
174 (?\324 ?\364) ; Ocircumflex | |
175 (?\325 ?\365) ; Otilde | |
176 (?\326 ?\366) ; Odiaeresis | |
177 (?\330 ?\370) ; Ooblique | |
178 (?\331 ?\371) ; Ugrave | |
179 (?\332 ?\372) ; Uacute | |
180 (?\333 ?\373) ; Ucircumflex | |
181 (?\334 ?\374) ; Udiaeresis | |
182 (?\335 ?\375) ; Yacute | |
183 (?\336 ?\376) ; THORN | |
184 ) | |
185 | |
186 (set-standard-case-table (mapcar 'copy-sequence iso8859/1-case-table)) | |
187 | |
188 (setq-default ctl-arrow 'iso-8859/1) | |
189 | |
190 (provide 'iso8859-1) |