annotate src/casetab.h @ 771:943eaba38521

[xemacs-hg @ 2002-03-13 08:51:24 by ben] The big ben-mule-21-5 check-in! Various files were added and deleted. See CHANGES-ben-mule. There are still some test suite failures. No crashes, though. Many of the failures have to do with problems in the test suite itself rather than in the actual code. I'll be addressing these in the next day or so -- none of the test suite failures are at all critical. Meanwhile I'll be trying to address the biggest issues -- i.e. build or run failures, which will almost certainly happen on various platforms. All comments should be sent to ben@xemacs.org -- use a Cc: if necessary when sending to mailing lists. There will be pre- and post- tags, something like pre-ben-mule-21-5-merge-in, and post-ben-mule-21-5-merge-in.
author ben
date Wed, 13 Mar 2002 08:54:06 +0000
parents af57a77cbc92
children e38acbeb1cae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
446
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
1 /* XEmacs routines to deal with case tables.
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
2 Copyright (C) 2000 Yoshiki Hayashi.
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
3 This file is part of XEmacs.
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
4
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
5 XEmacs is free software; you can redistribute it and/or modify it
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
6 under the terms of the GNU General Public License as published by the
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
7 Free Software Foundation; either version 2, or (at your option) any
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
8 later version.
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
9
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
10 XEmacs is distributed in the hope that it will be useful, but WITHOUT
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
11 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
12 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
13 for more details.
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
14
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
15 You should have received a copy of the GNU General Public License
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
16 along with XEmacs; see the file COPYING. If not, write to
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
17 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
18 Boston, MA 02111-1307, USA. */
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
19
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
20 /* Synched up with: Not in FSF. */
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
21
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
22 #ifndef INCLUDED_casetab_h_
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
23 #define INCLUDED_casetab_h_
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
24
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
25 struct Lisp_Case_Table
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
26 {
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
27 struct lcrecord_header header;
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
28 Lisp_Object downcase_table;
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
29 Lisp_Object upcase_table;
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
30 Lisp_Object case_canon_table;
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
31 Lisp_Object case_eqv_table;
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
32 };
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
33 typedef struct Lisp_Case_Table Lisp_Case_Table;
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
34
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
35 DECLARE_LRECORD (case_table, Lisp_Case_Table);
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
36 #define XCASE_TABLE(x) XRECORD (x, case_table, Lisp_Case_Table)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
37 #define XSETCASE_TABLE(x, p) XSETRECORD (x, p, case_table)
617
af57a77cbc92 [xemacs-hg @ 2001-06-18 07:09:50 by ben]
ben
parents: 446
diff changeset
38 #define wrap_case_table(p) wrap_record (p, case_table)
446
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
39 #define CASE_TABLEP(x) RECORDP (x, case_table)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
40 #define CHECK_CASE_TABLE(x) CHECK_RECORD (x, case_table)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
41 #define CONCHECK_CASE_TABLE(x) CONCHECK_RECORD (x, case_table)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
42
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
43 #define CASE_TABLE_DOWNCASE(ct) ((ct)->downcase_table)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
44 #define CASE_TABLE_UPCASE(ct) ((ct)->upcase_table)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
45 #define CASE_TABLE_CANON(ct) ((ct)->case_canon_table)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
46 #define CASE_TABLE_EQV(ct) ((ct)->case_eqv_table)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
47 #define XCASE_TABLE_DOWNCASE(ct) (XCASE_TABLE (ct)->downcase_table)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
48 #define XCASE_TABLE_UPCASE(ct) (XCASE_TABLE (ct)->upcase_table)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
49 #define XCASE_TABLE_CANON(ct) (XCASE_TABLE (ct)->case_canon_table)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
50 #define XCASE_TABLE_EQV(ct) (XCASE_TABLE (ct)->case_eqv_table)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
51
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
52 #define SET_CASE_TABLE_DOWNCASE(ct, p) ((ct)->downcase_table = p)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
53 #define SET_CASE_TABLE_UPCASE(ct, p) ((ct)->upcase_table = p)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
54 #define SET_CASE_TABLE_CANON(ct, p) ((ct)->case_canon_table = p)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
55 #define SET_CASE_TABLE_EQV(ct, p) ((ct)->case_eqv_table = p)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
56 #define XSET_CASE_TABLE_DOWNCASE(ct, p) \
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
57 SET_CASE_TABLE_DOWNCASE (XCASE_TABLE (ct), p)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
58 #define XSET_CASE_TABLE_UPCASE(ct, p) \
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
59 SET_CASE_TABLE_UPCASE (XCASE_TABLE (ct), p)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
60 #define XSET_CASE_TABLE_CANON(ct, p) \
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
61 SET_CASE_TABLE_CANON (XCASE_TABLE (ct), p)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
62 #define XSET_CASE_TABLE_EQV(ct, p) \
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
63 SET_CASE_TABLE_EQV (XCASE_TABLE (ct), p)
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
64
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
65 extern Lisp_Object Vstandard_case_table;
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
66
1ccc32a20af4 Import from CVS: tag r21-2-38
cvs
parents:
diff changeset
67 #endif /* INCLUDED_casetab_h_ */