annotate lisp/iso8859-1.el @ 5075:868a9ffcc37b

Normally return a compiled function if one argument, #'constantly. 2010-02-24 Aidan Kehoe <kehoea@parhasard.net> * cl-extra.el (constantly): Normally return a compiled function from #'constantly if we are handed a single argument. Shouldn't actually matter, the overhead for returning a single constant in a lambda form vs. in a compiled function is minuscule, but using compiled functions as much as possible is good style in XEmacs, our interpreter is not stellar (nor indeed should it need to be).
author Aidan Kehoe <kehoea@parhasard.net>
date Wed, 24 Feb 2010 17:17:13 +0000
parents 0cee1ff42db4
children 57a64ab2ae45 308d34e9f07d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4103
b4f4e0cc90f1 [xemacs-hg @ 2007-08-07 23:08:47 by aidan]
aidan
parents: 3540
diff changeset
1 ;;; iso8859-1.el --- Set case table for Latin 1
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2
3540
efa52de8c279 [xemacs-hg @ 2006-08-04 20:01:05 by aidan]
aidan
parents: 444
diff changeset
3 ;; Copyright (C) 1992, 1997, 2006 Free Software Foundation, Inc.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 ;; Author: Jamie Zawinski <jwz@jwz.org>
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 ;; Created: 19-aug-92
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 ;; Maintainer: XEmacs Development Team
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8 ;; Keywords: internal, dumped
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 ;; This file is part of XEmacs.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 ;; XEmacs is free software; you can redistribute it and/or modify it
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 ;; under the terms of the GNU General Public License as published by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 ;; the Free Software Foundation; either version 2, or (at your option)
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 ;; any later version.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 ;; XEmacs is distributed in the hope that it will be useful, but
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 ;; General Public License for more details.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 ;; You should have received a copy of the GNU General Public License
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 ;; along with XEmacs; see the file COPYING. If not, write to the Free
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 ;; 02111-1307, USA.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26
3540
efa52de8c279 [xemacs-hg @ 2006-08-04 20:01:05 by aidan]
aidan
parents: 444
diff changeset
27 ;;; Synched up with: Not in FSF.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29 ;;; Commentary:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30
3540
efa52de8c279 [xemacs-hg @ 2006-08-04 20:01:05 by aidan]
aidan
parents: 444
diff changeset
31 ;; Sets the case table for the ISO-8859/1 character set.
4369
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
32 ;; Provides ascii-case-table, for use in environments where multilingual
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
33 ;; case-insensitive processing is inappropriate.
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 ;;; Code:
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36
4369
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
37 (defvar ascii-case-table
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
38 (loop
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
39 for lower from (char-int ?a) to (char-int ?z)
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
40 and upper from (char-int ?A) to (char-int ?Z)
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
41 with table = (make-case-table)
4417
0cee1ff42db4 Correct the initialisation of ascii-case-table.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4371
diff changeset
42 do (put-case-table-pair (coerce upper 'character)
0cee1ff42db4 Correct the initialisation of ascii-case-table.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4371
diff changeset
43 (coerce lower 'character)
4369
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
44 table)
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
45 finally return table)
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
46 "Case table for the ASCII character set.")
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47
4369
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
48 (loop
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
49 for (upper lower)
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
50 in '((?\xC0 ?\xE0) ;; A WITH GRAVE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
51 (?\xC1 ?\xE1) ;; A WITH ACUTE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
52 (?\xC2 ?\xE2) ;; A WITH CIRCUMFLEX
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
53 (?\xC3 ?\xE3) ;; A WITH TILDE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
54 (?\xC4 ?\xE4) ;; A WITH DIAERESIS
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
55 (?\xC5 ?\xE5) ;; A WITH RING ABOVE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
56 (?\xC6 ?\xE6) ;; AE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
57 (?\xC7 ?\xE7) ;; C WITH CEDILLA
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
58 (?\xC8 ?\xE8) ;; E WITH GRAVE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
59 (?\xC9 ?\xE9) ;; E WITH ACUTE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
60 (?\xCA ?\xEA) ;; E WITH CIRCUMFLEX
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
61 (?\xCB ?\xEB) ;; E WITH DIAERESIS
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
62 (?\xCC ?\xEC) ;; I WITH GRAVE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
63 (?\xCD ?\xED) ;; I WITH ACUTE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
64 (?\xCE ?\xEE) ;; I WITH CIRCUMFLEX
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
65 (?\xCF ?\xEF) ;; I WITH DIAERESIS
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
66 (?\xD0 ?\xF0) ;; ETH
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
67 (?\xD1 ?\xF1) ;; N WITH TILDE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
68 (?\xD2 ?\xF2) ;; O WITH GRAVE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
69 (?\xD3 ?\xF3) ;; O WITH ACUTE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
70 (?\xD4 ?\xF4) ;; O WITH CIRCUMFLEX
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
71 (?\xD5 ?\xF5) ;; O WITH TILDE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
72 (?\xD6 ?\xF6) ;; O WITH DIAERESIS
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
73 (?\xD8 ?\xF8) ;; O WITH STROKE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
74 (?\xD9 ?\xF9) ;; U WITH GRAVE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
75 (?\xDA ?\xFA) ;; U WITH ACUTE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
76 (?\xDB ?\xFB) ;; U WITH CIRCUMFLEX
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
77 (?\xDC ?\xFC) ;; U WITH DIAERESIS
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
78 (?\xDD ?\xFD) ;; Y WITH ACUTE
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
79 (?\xDE ?\xFE)) ;; THORN
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
80 with case-table = (standard-case-table)
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
81 do (put-case-table-pair upper lower case-table))
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82
4369
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
83 ;; Everything Latin-1 and above should be displayed as its character value
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
84 ;; by default.
ef9eb714f0e4 Add ascii-case-table, #'with-case-table; make iso8859-1.el more comprehensible.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4103
diff changeset
85 (setq-default ctl-arrow #xA0)
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86
4371
9fdac4a4ae62 Provide 'iso8859-1 again; one file (iso-syntax.el) uses it in the packages.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4369
diff changeset
87 ;; Shouldn't be necessary, but one file in the packages uses it:
9fdac4a4ae62 Provide 'iso8859-1 again; one file (iso-syntax.el) uses it in the packages.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4369
diff changeset
88 (provide 'iso8859-1)
9fdac4a4ae62 Provide 'iso8859-1 again; one file (iso-syntax.el) uses it in the packages.
Aidan Kehoe <kehoea@parhasard.net>
parents: 4369
diff changeset
89
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 ;;; iso8859-1.el ends here