update.
[chise/xemacs-chise.git-] / src / ChangeLog
1 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
5
6         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
7         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
8
9 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
10
11         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
12         `ideograph-daikanwa'.
13
14         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
15         (Vcharset_ucs_bmp): Likewise.
16         (Vcharset_mojikyo): Add new extern variable definition.
17         (Vcharset_latin_iso8859_2): Deleted because it is not used.
18         (Vcharset_latin_iso8859_3): Likewise.
19         (Vcharset_latin_iso8859_4): Likewise.
20         (Vcharset_latin_iso8859_9): Likewise.
21         (Vcharset_latin_viscii_lower): Likewise.
22         (Vcharset_latin_viscii_upper): Likewise.
23         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
24         `mojikyo' code-point is used to decode.
25         (encode_char_2): New function [to convert `mojikyo' code-point to
26         Mojikyo font encoding].
27         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
28         (breakup_char_1): Likewise.
29         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
30
31 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
32
33         * text-coding.c (Fmake_coding_system): Add document about
34         `disable-composition' property.
35
36 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
37
38         * text-coding.c (Qdisable_composition): New variable; delete
39         `Qcomposite'.
40         (Fmake_coding_system): Add new property `disable-composite';
41         delete property `composite'.
42         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
43         instead of `!CODING_SYSTEM_COMPOSITE'.
44         (syms_of_file_coding): Add new symbol `disable-composition';
45         delete symbol `composite'.
46
47         * file-coding.h (struct Lisp_Coding_System): Add
48         `disable_composition'; delete `enable_composition'.
49         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
50         `CODING_SYSTEM_COMPOSITE'.
51         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
52         `XCODING_SYSTEM_COMPOSITE'.
53
54 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
55
56         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
57         to 0.15.
58
59 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
60
61         * text-coding.c (Qcomposite): New variable.
62         (Fmake_coding_system): Add new property `composite'.
63         (struct decoding_stream): Add `combined_char_count',
64         `combined_chars' and `combining_table' in UTF-2000.
65         (COMPOSE_FLUSH_CHARS): New macro.
66         (COMPOSE_ADD_CHAR): New macro.
67         (reset_decoding_stream): Reset `str->combined_char_count' and
68         `str->combining_table' in UTF-2000.
69         (decode_coding_iso2022): Modify for character-decomposition.
70         (syms_of_file_coding): Add new symbol `composite'.
71
72 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
73
74         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
75         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
76         of `Vcharacter_composition_table' if `->decomposition' property
77         has only 1 element.
78         (Qlatin_tcvn5712): New variable.
79         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
80         (complex_vars_of_mule_charset): Add new coded-charset
81         `latin-tcvn5712'.
82
83         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
84
85 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
86
87         * file-coding.h (struct Lisp_Coding_System): Add
88         `enable_composition'.
89         (CODING_SYSTEM_COMPOSITE): New macro.
90         (XCODING_SYSTEM_COMPOSITE): New macro.
91
92 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
93
94         * mule-canna.c (c2mu): Fix problem with UTF-2000.
95
96 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
97
98         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
99         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
100
101 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
102
103         * mule-charset.c (Vcharset_mojikyo): New variable.
104         (Fdefine_char): Don't use coded-charset which does not have
105         non-builtin character range to allocate character-id.
106         (Qmojikyo): New variable.
107         (syms_of_mule_charset): Add new symbol `mojikyo'.
108         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
109
110         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
111         (LEADING_BYTE_MOJIKYO): New macro.
112         (MIN_CHAR_MOJIKYO): New macro.
113         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
114         (MAX_CHAR_MOJIKYO): New macro.
115
116 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
117
118         * mule-charset.c (remove_char_attribute): Fixed.
119
120 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
121
122         * mule-charset.c (remove_char_attribute): New function.
123         (Fremove_char_attribute): New function.
124         (encode_builtin_char_1): Comment out builtin-support for
125         greek-iso8859-7 and cyrillic-iso8859-5.
126         (Fdecode_char): Check `code' is an integer.
127         (syms_of_mule_charset): Add `remove-char-attribute'.
128         (MIN_CHAR_GREEK): Deleted.
129         (MAX_CHAR_GREEK): Likewise.
130         (MIN_CHAR_CYRILLIC): Likewise.
131         (MAX_CHAR_CYRILLIC): Likewise.
132         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
133         MAX_CHAR_GREEK for `greek-iso8859-7'.
134
135         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
136         (MAX_CHAR_GREEK): Likewise.
137         (MIN_CHAR_CYRILLIC): Likewise.
138         (MAX_CHAR_CYRILLIC): Likewise.
139
140 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
141
142         * mule-charset.c (Fdefine_char): Fix problem when new code-point
143         format is used without `ucs' property.
144         (Fdecode_char): Fix problem with GR representation.
145         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
146         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
147
148 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
149
150         * mule-charset.c (make_builtin_char): New function.
151         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
152         (Fset_charset_mapping_table): Modify for new representation of
153         code-point.
154         (Fdecode_char): New function.
155         (syms_of_mule_charset): Add new builtin function `decode-char' in
156         UTF-2000.
157
158         * char-ucs.h (make_builtin_char): New prototype.
159         (DECODE_CHAR): New inline function.
160         (MAKE_CHAR): Use `DECODE_CHAR'.
161
162 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
163
164         * text-coding.c (parse_charset_conversion_specs): Use
165         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
166         `XCHARSET_TYPE'.
167         (iso2022_designate): Likewise.
168
169         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
170         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
171
172         * mule-charset.c (Vcharset_ucs): New variable.
173         (print_charset): Change design; use `CHARSET_CHARS' and
174         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
175         (make_charset): Change signature to specify `chars' and
176         `dimension' instead of `type'.
177         (range_charset_code_point): Modify for 256^n-set.
178         (encode_builtin_char_1): Encode as `ucs' in default.
179         (Fmake_charset): Modify for `make_charset'.
180         (Fmake_reverse_direction_charset): Likewise.
181         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
182         UTF-2000.
183         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
184         for `make_charset'.
185
186         * char-ucs.h (Vcharset_ucs): New variable.
187         (LEADING_BYTE_UCS): New macro.
188         (struct Lisp_Charset): Delete `type'; change type of `dimension'
189         and `chars' to `unsigned short' from `unsigned int'.
190         (CHARSET_TYPE): Deleted.
191         (XCHARSET_TYPE): Deleted.
192
193 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
194
195         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
196
197         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
198         (ENCODE_CHAR): New macro.
199
200 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
201
202         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
203         to 0.14 (Kawachi-Katakami).
204
205 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
206
207         * text-coding.c (char_encode_shift_jis): Modify for
208         `charset_code_point'.
209         (char_encode_iso2022): Likewise.
210
211         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
212         (integer) instead of list of <Lisp_Object>s (integers) as the
213         format of code-point of a coded-charset.
214         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
215         (encode_builtin_char_1): New function; delete
216         `split_builtin_char'.
217         (charset_code_point): Return <int> instead of <Lisp_Object>.
218         (Fsplit_char): Don't use `SPLIT_CHAR'.
219
220         * char-ucs.h (encode_builtin_char_1): New prototype; delete
221         prototype for `split_builtin_char'.
222         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
223         (charset_code_point): Likewise.
224         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
225         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
226
227 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
228
229         * mule-charset.c (complex_vars_of_mule_charset): Don't define
230         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
231
232 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
233
234         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
235
236         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
237         (MAX_CHAR_OBS_94x94): Deleted.
238
239 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
240
241         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
242
243         * char-ucs.h (MAX_CHAR_BMP): New macro.
244
245 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
246
247         * text-coding.c: Sync with r21-2-24.
248
249 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
250
251         * file-coding.c: Modify for UTF-2000.
252
253 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
254
255         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
256         to 0.13 (Takaida).
257
258 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
259
260         * mule-charset.c (split_builtin_char): Delete builtin support for
261         `katakana-jisx0201'.
262         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
263         BMP area in builtin representation.
264
265         * char-ucs.h (MAKE_CHAR): Delete builtin support for
266         `Vcharset_katakana_jisx0201'.
267
268 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
269
270         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
271         (Qisolated): New variable.
272         (Qinitial): New variable.
273         (Qmedial): New variable.
274         (Qfinal): New variable.
275         (Qvertical): New variable.
276         (Qsmall): New variable.
277         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
278         `Qvertical' and `Qsmall'.
279         (Qmojikyo_pj_[1 .. 21]): New variable.
280         (syms_of_mule_charset): Add new symbols `isolated', `initial',
281         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
282         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
283         .. 21]'.
284
285 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
286
287         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
288         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
289         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
290
291 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
292
293         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
294         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
295         BMP.
296         (Qjapanese_jisx0208_1990): New variable.
297         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
298         (complex_vars_of_mule_charset): Add new coded-charset
299         `japanese-jisx0208-1990'.
300
301         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
302         (MIN_CHAR_JIS_X0208_1990): New macro.
303         (MAX_CHAR_JIS_X0208_1990): New macro.
304
305 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
306
307         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
308         coded-charset is not found.
309
310 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
311
312         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
313         (Fdefine_char): Use `Fmake_char'.
314
315 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
316
317         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
318         (Vcharset_hiragana_jisx0208): Deleted.
319         (Vcharset_katakana_jisx0208): Deleted.
320         (Qideograph_daikanwa): New variable.
321         (Qhiragana_jisx0208): Deleted.
322         (Qkatakana_jisx0208): Deleted.
323         (split_builtin_char): Split `ideograph-daikanwa'.
324         (Fsplit_char): New implementation for UTF-2000.
325         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
326         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
327         (complex_vars_of_mule_charset): Add new coded-charset
328         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
329         `katakana-jisx0208'.
330
331         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
332         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
333         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
334         (MIN_CHAR_DAIKANWA): New macro.
335         (MAX_CHAR_DAIKANWA): New macro.
336
337 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
338
339         * data.c (Fstring_to_number): Don't recognize floating point if
340         base is not 10.
341
342 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
343
344         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
345
346 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
347
348         * mule-charset.c (Qsquare): New variable.
349         (to_char_code): Add `Qsquare'.
350         (syms_of_mule_charset): Add new symbol `square'.
351
352 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
353
354         * mule-charset.c (Qcircle): New variable.
355         (to_char_code): Add `Qcircle'.
356         (syms_of_mule_charset): Add new symbol `circle'.
357
358 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
359
360         * mule-charset.c (Qfont): New variable.
361         (to_char_code): Add `Qfont'.
362         (syms_of_mule_charset): Add new symbol `font'.
363
364 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
365
366         * mule-charset.c (Qsub): New variable.
367         (to_char_code): Add `Qsub'.
368         (syms_of_mule_charset): Add new symbol `sub'.
369
370 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
371
372         * mule-charset.c (Fput_char_attribute): Convert each element of
373         VALUE to GL position if ATTRIBUTE is a GR-set,
374
375 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
376
377         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
378         coded-charset is a GR-set.
379
380 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
381
382         * mule-charset.c (Fput_char_attribute): Check each element of
383         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
384
385 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
386
387         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
388         UTF-2000.
389         (Qethiopic_ucs): New variable in UTF-2000.
390         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
391         (complex_vars_of_mule_charset): Add new coded-charset
392         `ethiopic-ucs' in UTF-2000.
393
394         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
395         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
396         9)'.
397         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
398         10)'.
399         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
400
401 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
402
403         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
404         `ascii'.
405
406 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
407
408         * mule-charset.c (Vcharacter_variant_table): New variable.
409         (Q_ucs): New variable.
410         (Fchar_variants): New function.
411         (Fput_char_attribute): Register `->ucs' value to
412         `Vcharacter_variant_table'.
413         (syms_of_mule_charset): Add new function `char-variants' and new
414         symbol `->ucs'.
415         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
416
417 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
418
419         * mule-charset.c (get_char_code_table): Allow negative character
420         code.
421         (put_char_code_table): Likewise.
422         (Vcharacter_composition_table): New variable.
423         (Q_decomposition): New variable.
424         (Qwide): New variable.
425         (Qnarrow): New variable.
426         (Qcompat): New variable.
427         (QnoBreak): New variable.
428         (Qsuper): New variable.
429         (Qfraction): New variable.
430         (to_char_code): New function.
431         (Fget_composite_char): New function.
432         (Fput_char_attribute): Register `->decomposition' value to
433         `Vcharacter_composition_table'.
434         (syms_of_mule_charset): Add new function `get-composite-char', new
435         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
436         `super' and `fraction'.
437         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
438
439 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
440
441         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
442         character; copy the return value.
443
444 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
445
446         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
447
448         * mule-charset.c (range_charset_code_point): Must use make_int.
449         (split_builtin_char): New function.
450
451 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
452
453         * mule-charset.c (char_byte_table): Change name from
454         "char-code-table" to "char-byte-table".
455         (mark_char_code_table): New function.
456         (char_code_table_equal): New function.
457         (char_code_table_hash): New function.
458         (char_code_table_description): New constant.
459         (char_code_table): New type.
460         (make_char_code_table): New function.
461         (copy_char_code_table): New function.
462         (get_char_code_table): Modify for `char_code_table' type.
463         (put_char_code_table): Likewise.
464         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
465         (Kashiwara).
466
467         * char-ucs.h (char_code_table): New type.
468         (XCHAR_CODE_TABLE): New macro.
469         (XSETCHAR_CODE_TABLE): New macro.
470         (CHAR_CODE_TABLE_P): New macro.
471         (GC_CHAR_CODE_TABLE_P): New macro.
472         (struct Lisp_Char_Code_Table): New structure.
473
474 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
475
476         * mule-charset.c (Fmake_charset): Setup byte_offset for
477         {94|96}^n-set.
478
479 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
480
481         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
482         character.
483
484 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
485
486         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
487         is found.
488
489 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
490
491         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
492         charset, it is regarded as a charset.
493         (put_char_attribute): New function in UTF-2000.
494         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
495         charset, mapping-table of the charset is modified.
496         (Fdefine_char): New function in UTF-2000.
497         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
498         `Fput_char_attribute'.
499         (syms_of_mule_charset): Add new function `define-char' and new
500         symbol `ucs' in UTF-2000.
501         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
502
503 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
504
505         * mule-charset.c (Fcharset_name): Define `byte_offset' in
506         non-UTF-2000 configuration.
507
508 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
509
510         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
511         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
512
513         * mule-charset.c (mark_charset): `cs->encoding_table' has been
514         deleted.
515         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
516         (Fset_charset_mapping_table): Likewise.
517
518         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
519         (CHARSET_ENCODING_TABLE): Delete.
520         (XCHARSET_ENCODING_TABLE): Delete.
521         (charset_code_point): New interface.
522
523 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
524
525         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
526         instead of `charset_get_byte1' and `charset_get_byte2'.
527
528         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
529         (charset_get_byte2): Deleted.
530
531 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
532
533         * char-ucs.h (SPLIT_CHAR): New inline function.
534         (breakup_char_1): Use `SPLIT_CHAR'.
535
536         * mule-charset.c (range_charset_code_point): New function.
537         (charset_code_point): New function.
538
539         * char-ucs.h (range_charset_code_point): New interface.
540         (breakup_char_1): Use `range_charset_code_point'.
541
542 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
543
544         * mule-charset.c (Fmake_charset): Delete unused local variable
545         `code_offset'.
546
547         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
548         (breakup_char_1): Find a charset and code-point in
549         `Vcharacter_attribute_table'.
550
551 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
552
553         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
554         to 0.10 (Yao).
555
556 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
557
558         * mule-charset.c (Vcharacter_attribute_table): New variable.
559         (Fchar_attribute_alist): New function.
560         (Fget_char_attribute): New function.
561         (Fput_char_attribute): New function.
562         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
563         too.
564         (syms_of_mule_charset): Add new function `char-attribute-alist',
565         `get-char-attribute' and `put-char-attribute'.
566         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
567
568 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
569
570         * mule-charset.c (Fmake_charset): Just use
571         `get_unallocated_leading_byte'.
572
573         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
574         sets; don't use final-byte based number for private sets.
575
576 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
577
578         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
579         integer.
580
581 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
582
583         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
584         to 0.9.
585
586 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
587
588         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
589         of `CHAR_LEADING_BYTE' in UTF-2000.
590
591         * insdel.c (find_charsets_in_bufbyte_string): Use
592         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
593         (find_charsets_in_emchar_string): Likewise.
594
595         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
596         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
597
598         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
599         (CHAR_CHARSET_ID): New macro.
600
601 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
602
603         * chartab.c (get_char_table): Don't use type `Charset_ID' for
604         charset-id - MIN_LEADING_BYTE.
605         (put_char_table): Likewise.
606
607 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
608
609         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
610         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
611         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
612         (CHARSET_ID_OFFSET): New macro.
613         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
614         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
615         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
616         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
617         4).
618         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
619         5).
620         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
621         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
622         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
623         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
624         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
625
626 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
627
628         * mule-charset.c (next_allocated_leading_byte): New variable in
629         UTF-2000.
630         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
631         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
632         (get_unallocated_leading_byte): Simply use
633         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
634         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
635         UTF-2000.
636
637         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
638         (MAX_LEADING_BYTE_PRIVATE): New macro.
639         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
640         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
641
642 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
643
644         * mule-charset.c (Fmake_charset): Allocate final-byte based
645         charset-id for 94-set, 96-set and 94x94-set.
646
647 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
648
649         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
650         ambiguous `else'.
651         (Fmake_charset): Likewise.
652         (complex_vars_of_mule_charset): Modify the font registry of
653         `ucs-bmp' not to match `Ethiopic-Unicode'.
654
655 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
656
657         * mule-charset.c (complex_vars_of_mule_charset): Add font
658         registory of `ucs-bmp'.
659
660 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
661
662         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
663         coded-charsets in `default-coded-charset-priority-list' when
664         breaking up a character.
665
666         * mule-charset.c (Vcharset_latin_viscii): New variable.
667         (Qlatin_viscii): New variable.
668         (make_charset): Don't use `decoding_table'.
669         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
670         byte_offset.
671         (Fset_charset_mapping_table): New implementation.
672         (syms_of_mule_charset): Add new symbol `latin-viscii'.
673         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
674         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
675         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
676         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
677         charset `latin_viscii'.
678
679         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
680         (CHARSET_TYPE_94X94): Change to 1 from 2.
681         (CHARSET_TYPE_96): Change to 2 from 1.
682         (CHARSET_TYPE_128): New macro.
683         (CHARSET_TYPE_128X128): Change to 5 from 4.
684         (CHARSET_TYPE_256): New macro.
685         (CHARSET_TYPE_256X256): Change to 7 from 5.
686         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
687
688 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
689
690         * text-coding.c (char_encode_shift_jis): Refer
691         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
692         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
693
694         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
695         (char_byte_table_equal): New function in UTF-2000.
696         (char_byte_table_hash): New function in UTF-2000.
697         (char_byte_table_description): New constant in UTF-2000.
698         (char_byte_table): New type in UTF-2000.
699         (make_char_byte_table): New function in UTF-2000.
700         (copy_char_byte_table): New function in UTF-2000.
701         (make_char_code_table): New macro in UTF-2000.
702         (get_char_code_table): New function in UTF-2000.
703         (put_char_code_table): New function in UTF-2000.
704         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
705         (charset_description): Add setting in UTF-2000.
706         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
707         `CHARSET_TO_BYTE1_TABLE(cs)'.
708         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
709         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
710         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
711         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
712         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
713         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
714         `CHARSET_TO_BYTE2_TABLE(cs)'.
715
716         * char-ucs.h (char_byte_table): New type.
717         (XCHAR_BYTE_TABLE): New macro.
718         (XSETCHAR_BYTE_TABLE): New macro.
719         (CHAR_BYTE_TABLE_P): New macro.
720         (GC_CHAR_BYTE_TABLE_P): New macro.
721         (struct Lisp_Char_Byte_Table): New structure.
722         (get_char_code_table): New interface.
723         (Emchar_to_byte_table): Deleted.
724         (get_byte_from_character_table): Deleted.
725         (struct Lisp_Charset): Add `encoding_table'; delete
726         `to_byte1_table' and `to_byte2_table'.
727         (CHARSET_ENCODING_TABLE): New macro.
728         (CHARSET_TO_BYTE1_TABLE): Deleted.
729         (CHARSET_TO_BYTE2_TABLE): Deleted.
730         (XCHARSET_ENCODING_TABLE): New macro.
731         (XCHARSET_TO_BYTE1_TABLE): Deleted.
732         (XCHARSET_TO_BYTE2_TABLE): Deleted.
733
734 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
735
736         * mule-charset.c (syms_of_mule_charset): Delete charset alias
737         `vietnamese-viscii-*'.
738
739 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
740
741         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
742         (Qvietnamese_viscii_upper): New variable.
743         (Fdefine_charset_alias): New function.
744         (syms_of_mule_charset): Add new function `define-charset-alias'.
745         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
746         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
747         `latin-viscii-*'.
748
749 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
750
751         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
752         (MAX_CHAR_OBS_94x94): New macro.
753         (breakup_char_1): Support obsolete XEmacs-UCS private code space
754         for 94x94 sets.
755
756         * mule-charset.c (put_byte_from_character_table): Change unit size
757         from 128 to 256.
758         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
759         not defined.
760         (Fmake_reverse_direction_charset): Modify dummy argument of
761         `make_charset' for non-UTF-2000 environment.
762
763 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
764
765         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
766
767         * mule-charset.c (destroy_byte_from_character_table): New macro.
768         (latin_jisx0201_to_ucs): Deleted.
769         (latin_iso8859_2_to_ucs): Deleted.
770         (latin_iso8859_3_to_ucs): Deleted.
771         (latin_iso8859_4_to_ucs): Deleted.
772         (latin_iso8859_9_to_ucs): Deleted.
773         (latin_viscii_lower_to_ucs): Deleted.
774         (latin_viscii_upper_to_ucs): Deleted.
775         (mark_charset): Mark `cs->decoding_table'.
776         (Fcharset_mapping_table): Fix DOC-string.
777         (Fset_charset_mapping_table): New function.
778         (syms_of_mule_charset): Add nwe function
779         `set-charset-mapping-table'.
780         (complex_vars_of_mule_charset): Don't setup and use
781         `latin_*_to_ucs'.
782
783 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
784
785         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
786         charset.
787
788 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
789
790         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
791         (Vcharset_katakana_jisx0208): New variable.
792         (Qhiragana_jisx0208): New variable.
793         (Qkatakana_jisx0208): New variable.
794         (make_charset): Add new argument `byte_offset'.
795         (charset_get_byte1): Modify for new coded-charset definition; use
796         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
797         `XCHARSET_BYTE_OFFSET'.
798         (Fmake_charset): Modify for `make_charset'.
799         (Fmake_reverse_direction_charset): Likewise.
800         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
801         `katakana-jisx0208'.
802         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
803         `.'  in font registry of charset `katakana-jisx0201',
804         `latin-jisx0201', `vietnamese-viscii-lower' and
805         `vietnamese-viscii-upper'; modify DOC-string of charset
806         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
807         registry of charset `japanese-jisx0208' not to use font for JIS
808         X0208:1990; add new charset `hiragana-jisx0208' and
809         `katakana-jisx0208'.
810
811         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
812         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
813         (struct Lisp_Charset): Add `byte_offset'.
814         (CHARSET_BYTE_OFFSET): New macro.
815         (XCHARSET_UCS_MIN): New macro.
816         (XCHARSET_UCS_MAX): New macro.
817         (XCHARSET_CODE_OFFSET): New macro.
818         (XCHARSET_BYTE_OFFSET): New macro.
819         (MIN_CHAR_HIRAGANA): New macro.
820         (MAX_CHAR_HIRAGANA): New macro.
821         (MIN_CHAR_KATAKANA): New macro.
822         (MAX_CHAR_KATAKANA): New macro.
823         (MAKE_CHAR): Modify for new coded-charset definition; use
824         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
825         `XCHARSET_BYTE_OFFSET'.
826
827 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
828
829         * mule-charset.c (CHAR96): Deleted.
830         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
831         <Lisp_Object>.
832         (latin_iso8859_2_to_ucs): Likewise.
833         (latin_iso8859_3_to_ucs): Likewise.
834         (latin_iso8859_4_to_ucs): Likewise.
835         (latin_iso8859_9_to_ucs): Likewise.
836         (latin_viscii_lower_to_ucs): Likewise.
837         (latin_viscii_upper_to_ucs): Likewise.
838         (latin_tcvn5712_to_ucs): Commented out.
839         (make_charset): Change type of argument `decoding_table' from
840         <Emchar*> to <Lisp_Object> [vector of characters].
841         (Fmake_charset): Modify for `make_charset'.
842         (Fmake_reverse_direction_charset): Likewise.
843         (Fcharset_mapping_table): New function in UTF-2000.
844         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
845         UTF-2000.
846         (complex_vars_of_mule_charset): Modify for type change of
847         `*_to_ucs'; modify for `make_charset'.
848
849         * char-ucs.h (struct Lisp_Charset): Change type of
850         `decoding_table' from <Emchar*> to <Lisp_Object>.
851         (MAKE_CHAR): Modify for new specification of `decoding_table'.
852
853 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
854
855         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
856         error with non-UTF-2000-Mule.
857
858 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
859
860         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
861         in lisp again].
862         (Vcharset_chinese_cns11643_4): Likewise.
863         (Vcharset_chinese_cns11643_5): Likewise.
864         (Vcharset_chinese_cns11643_6): Likewise.
865         (Vcharset_chinese_cns11643_7): Likewise.
866         (Qchinese_cns11643_3): Likewise.
867         (Qchinese_cns11643_4): Likewise.
868         (Qchinese_cns11643_5): Likewise.
869         (Qchinese_cns11643_6): Likewise.
870         (Qchinese_cns11643_7): Likewise.
871         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
872         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
873         and `chinese-cns11643-7' to lisp/mule/chinese.el.
874         (complex_vars_of_mule_charset): Likewise.
875
876 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
877
878         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
879         96-set.
880         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
881         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
882
883 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
884
885         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
886         0xFF60.
887         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
888         (breakup_char_1): Likewise.
889
890         * text-coding.c (char_encode_iso2022): Keep designated charsets if
891         one of them includes the specified character.
892
893 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
894
895         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
896
897 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
898
899         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
900
901 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
902
903         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
904         definition for non-UTF-2000 Mule.
905         (latin_iso8859_3_to_ucs): Likewise.
906         (latin_iso8859_4_to_ucs): Likewise.
907         (latin_iso8859_9_to_ucs): Likewise.
908         (latin_jisx0201_to_ucs): Likewise.
909         (MIN_CHAR_THAI): Likewise.
910         (MAX_CHAR_THAI): Likewise.
911         (MIN_CHAR_GREEK): Likewise.
912         (MAX_CHAR_GREEK): Likewise.
913         (MIN_CHAR_HEBREW): Likewise.
914         (MAX_CHAR_HEBREW): Likewise.
915         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
916         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
917         (MIN_CHAR_CYRILLIC): Likewise.
918         (MAX_CHAR_CYRILLIC): Likewise.
919
920 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
921
922         * char-ucs.h (breakup_char_1): Use
923         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
924         thai-tis620 and katakana-jisx0201 area.
925
926 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
927
928         * char-ucs.h (breakup_char_1): Use
929         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
930         area.
931
932         * text-coding.c (reset_encoding_stream): Fixed.
933         (char_encode_ucs4): Delete `& 255'.
934
935         * char-ucs.h (breakup_char_1): Use
936         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
937
938 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
939
940         * file-coding.c (Fmake_coding_system): Don't set up
941         `codesys->fixed.size'.
942         (encode_coding_no_conversion): Don't refer
943         `str->codesys->fixed.size'.
944
945 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
946
947         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
948         (latin_a_char_to_byte1): Deleted.
949         (latin_a_char_to_byte2): Deleted.
950
951 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
952
953         * mule-charset.c (make_charset): Add new argument `ucs_min',
954         `ucs_max' and `code_offset'.
955         (charset_get_byte1): New implementation [delete specific charset
956         depended implementations].
957         (Fmake_charset): Modify for `make_charset'.
958         (Fmake_reverse_direction_charset): Likewise.
959         (complex_vars_of_mule_charset): Likewise.
960
961         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
962         `code_offset'.
963         (CHARSET_UCS_MIN): New macro.
964         (CHARSET_UCS_MAX): New macro.
965         (CHARSET_CODE_OFFSET): New macro.
966         (MAKE_CHAR): Delete charset depended definitions [except
967         katakana-jisx0201].
968
969 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
970
971         * char-ucs.h (breakup_char_1): Use
972         `Vdefault_coded_charset_priority_list' for C0-Controls,
973         Basic-Latin, C1-Controls and Latin-1-Supplement area.
974
975 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
976
977         * char-ucs.h (charset_get_byte1): New function.
978         (XCHARSET_GET_BYTE1): Deleted.
979         (charset_get_byte2): New function.
980         (XCHARSET_GET_BYTE2): Deleted.
981         (Vdefault_coded_charset_priority_list): New external variable.
982         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
983         `Vdefault_preferred_coded_charset_list'.
984
985         * mule-charset.c (charset_get_byte1): New function.
986         (charset_get_byte2): New function.
987         (Vdefault_coded_charset_priority_list): New variable.
988         (vars_of_mule_charset): Add new variable
989         `default-coded-charset-priority-list'.
990
991 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
992
993         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
994         (XCHARSET_GET_BYTE2): New inline function.
995         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
996         `XCHARSET_GET_BYTE2'.
997
998 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
999
1000         * mule-charset.c (make_charset): Initialize
1001         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
1002         NULL if table is not defined.
1003
1004 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1005
1006         * text-coding.c (char_encode_shift_jis): Use
1007         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
1008         `ucs_to_latin_jisx0201'.
1009
1010         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
1011         (ucs_to_latin_iso8859_2): Deleted.
1012         (ucs_to_latin_iso8859_3): Deleted.
1013         (ucs_to_latin_iso8859_4): Deleted.
1014         (ucs_to_latin_iso8859_9): Deleted.
1015         (ucs_to_latin_viscii_lower): Deleted.
1016         (ucs_to_latin_viscii_upper): Deleted.
1017         (ucs_to_latin_tcvn5712): Deleted.
1018         (make_charset): Add new argument `decoding_table'; set up
1019         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
1020         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
1021         `decoding_table' is defined in UTF-2000.
1022         (Fmake_charset): Modify for `make_charset'.
1023         (Fmake_reverse_direction_charset): Likewise.
1024         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
1025         and `GENERATE_96_SET'.
1026
1027         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
1028         (ucs_to_latin_jisx0201): Deleted.
1029         (latin_iso8859_2_to_ucs): Deleted.
1030         (ucs_to_latin_iso8859_2): Deleted.
1031         (latin_iso8859_3_to_ucs): Deleted.
1032         (ucs_to_latin_iso8859_3): Deleted.
1033         (latin_iso8859_4_to_ucs): Deleted.
1034         (ucs_to_latin_iso8859_4): Deleted.
1035         (latin_iso8859_9_to_ucs): Deleted.
1036         (ucs_to_latin_iso8859_9): Deleted.
1037         (latin_viscii_lower_to_ucs): Deleted.
1038         (ucs_to_latin_viscii_lower): Deleted.
1039         (latin_viscii_upper_to_ucs): Deleted.
1040         (ucs_to_latin_viscii_upper): Deleted.
1041         (struct Lisp_Charset): Renamed `encoding_table' to
1042         `to_byte1_table'; add `to_byte2_table'.
1043         (CHARSET_DECODING_TABLE): New macro.
1044         (CHARSET_TO_BYTE1_TABLE): New macro.
1045         (CHARSET_TO_BYTE2_TABLE): New macro.
1046         (XCHARSET_DECODING_TABLE): New macro.
1047         (XCHARSET_TO_BYTE1_TABLE): New macro.
1048         (XCHARSET_TO_BYTE2_TABLE): New macro.
1049         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
1050         tables.
1051         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
1052         don't use `ucs_to_*' tables.
1053
1054 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1055
1056         * text-coding.c (Fmake_coding_system): Don't set up
1057         `codesys->fixed.size'.
1058         (encode_coding_no_conversion): Use `if' instead of `switch'.
1059
1060         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
1061
1062 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1063
1064         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
1065         (Fmake_charset): Modify for `make_charset'.
1066         (Fmake_reverse_direction_charset): Likewise.
1067         (complex_vars_of_mule_charset): Likewise.
1068
1069 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1070
1071         * text-coding.c (char_encode_shift_jis): Use table
1072         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
1073
1074 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1075
1076         * text-coding.c (text_encode_generic): Use `if' instead of
1077         `switch'.
1078         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
1079         decode JIS-Latin.
1080
1081 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1082
1083         * text-coding.c (encode_coding_sjis): Deleted.
1084         (char_encode_shift_jis): New function.
1085         (char_finish_shift_jis): New function.
1086         (reset_encoding_stream): Set up `encode_char' and `finish' for
1087         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
1088         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
1089         (char_encode_utf8): Treat `eol_type'.
1090
1091 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1092
1093         * file-coding.c (decode_coding_iso2022): Use
1094         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
1095
1096 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1097
1098         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1099         to 0.7 (Hirano).
1100
1101 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1102
1103         * char-lb.h (CHAR_COLUMNS): New macro.
1104
1105 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1106
1107         * text-coding.c (char_encode_ucs4): New function.
1108         (char_finish_ucs4): New function.
1109         (encode_coding_ucs4): Deleted.
1110         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
1111         (text_encode_generic): Delete local variable `charset' and `half'.
1112         (ucs_to_mule_table): Deleted.
1113         (mule_to_ucs_table): Deleted.
1114         (Fset_ucs_char): Deleted.
1115         (ucs_to_char): Deleted.
1116         (Fucs_char): Deleted.
1117         (Fset_char_ucs): Deleted.
1118         (Fchar_ucs): Deleted.
1119         (decode_ucs4): Deleted.
1120         (mule_char_to_ucs4): Deleted.
1121         (encode_ucs4): Deleted.
1122         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
1123         (decode_coding_utf8): Likewise.
1124         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
1125         (char_encode_iso2022): Fixed.
1126         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
1127         `Fset_char_ucs' and `Fchar_ucs'.
1128         (complex_vars_of_file_coding): Don't initialize
1129         `ucs_to_mule_table'.
1130
1131         * objects-tty.c (tty_initialize_font_instance): Don't use
1132         `XCHARSET_COLUMNS'.
1133
1134         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
1135         UTF-2000.
1136
1137         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
1138         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1139
1140         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
1141         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1142         (emchar_string_displayed_columns): Likewise.
1143
1144         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
1145         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1146         (string_column_at_point): Likewise.
1147         (Fmove_to_column): Likewise.
1148
1149         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
1150         `encoding_table' and `decoding_table'.
1151         (CHARSET_REP_BYTES): Deleted.
1152         (XCHARSET_REP_BYTES): Deleted.
1153         (XCHARSET_COLUMNS): Deleted.
1154         (CHAR_COLUMNS): New macro.
1155         (lookup_composite_char): Deleted unconditionally.
1156         (composite_char_string): Likewise.
1157
1158 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1159
1160         * char-ucs.h (Emchar_to_byte_table): New type.
1161         (get_byte_from_character_table): New function interface.
1162         (Vcharset_latin_jisx0201): New variable.
1163         (latin_jisx0201_to_ucs): New variable.
1164         (ucs_to_latin_jisx0201): New variable.
1165         (Vcharset_latin_iso8859_2): New variable.
1166         (latin_iso8859_2_to_ucs): New variable.
1167         (ucs_to_latin_iso8859_2): New variable.
1168         (Vcharset_latin_iso8859_3): New variable.
1169         (latin_iso8859_3_to_ucs): New variable.
1170         (ucs_to_latin_iso8859_3): New variable.
1171         (Vcharset_latin_iso8859_4): New variable.
1172         (latin_iso8859_4_to_ucs): New variable.
1173         (ucs_to_latin_iso8859_4): New variable.
1174         (Vcharset_latin_iso8859_9): New variable.
1175         (latin_iso8859_9_to_ucs): New variable.
1176         (ucs_to_latin_iso8859_9): New variable.
1177         (Vcharset_latin_viscii_lower): New variable.
1178         (latin_viscii_lower_to_ucs): New variable.
1179         (ucs_to_latin_viscii_lower): New variable.
1180         (Vcharset_latin_viscii_upper): New variable.
1181         (latin_viscii_upper_to_ucs): New variable.
1182         (ucs_to_latin_viscii_upper): New variable.
1183         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
1184         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
1185         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
1186         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
1187         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
1188         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
1189         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
1190         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
1191         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
1192         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
1193
1194         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
1195         (Vcharset_latin_viscii_upper): New variable.
1196         (make_byte_from_character_table): New function.
1197         (put_byte_from_character_table): New function.
1198         (get_byte_from_character_table): New function.
1199         (CHAR96): New macro.
1200         (ucs_to_latin_jisx0201): New variable.
1201         (latin_jisx0201_to_ucs): New variable.
1202         (ucs_to_latin_iso8859_2): New variable.
1203         (latin_iso8859_2_to_ucs): New variable.
1204         (ucs_to_latin_iso8859_3): New variable.
1205         (latin_iso8859_3_to_ucs): New variable.
1206         (ucs_to_latin_iso8859_4): New variable.
1207         (latin_iso8859_4_to_ucs): New variable.
1208         (ucs_to_latin_iso8859_9): New variable.
1209         (latin_iso8859_9_to_ucs): New variable.
1210         (ucs_to_latin_viscii_lower): New variable.
1211         (latin_viscii_lower_to_ucs): New variable.
1212         (ucs_to_latin_viscii_upper): New variable.
1213         (latin_viscii_upper_to_ucs): New variable.
1214         (ucs_to_latin_tcvn5712): New variable.
1215         (latin_tcvn5712_to_ucs): New variable.
1216         (Qlatin_viscii_lower): New variable.
1217         (Qlatin_viscii_upper): New variable.
1218         (syms_of_mule_charset): Set up new symbol
1219         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
1220         (complex_vars_of_mule_charset): Set up new charset
1221         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
1222         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
1223         `ucs_to_<CHARSET>' tables.
1224
1225 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1226
1227         * text-coding.c: New file.
1228
1229 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1230
1231         * mule-charset.c (Fmake_char): Fix problem of 256-set.
1232
1233         * char-ucs.h (Vcharset_ucs_bmp): New variable.
1234         (MAKE_CHAR): Modify for `ucs-bmp'.
1235         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
1236         non-MULE characters of BMP.
1237
1238 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
1239
1240         * mule-charset.c (vars_of_mule_charset):
1241         Update `utf-2000-version' to 0.6.
1242
1243 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1244
1245         * lstream.h:
1246         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
1247         - Include character.h for `CHAR_ASCII_P'.
1248
1249         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
1250
1251         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
1252         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
1253
1254         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
1255         (BYTE_C0_P): Likewise.
1256         (BYTE_C1_P): Likewise.
1257         (Lstream_get_emchar_1): Likewise.
1258         (Lstream_fput_emchar): Likewise.
1259         (Lstream_funget_emchar): Likewise.
1260         (copy_internal_to_external): Likewise.
1261         (copy_external_to_internal): Likewise.
1262
1263         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
1264         (BYTE_C0_P): Likewise.
1265         (BYTE_C1_P): Likewise.
1266         (Lstream_get_emchar_1): Likewise.
1267         (Lstream_fput_emchar): Likewise.
1268         (Lstream_funget_emchar): Likewise.
1269         (copy_internal_to_external): Likewise.
1270         (copy_external_to_internal): Likewise.
1271
1272         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
1273         (REP_BYTES_BY_FIRST_BYTE): Likewise.
1274
1275         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
1276         (BYTE_ASCII_P): Moved to mb-1byte.h.
1277
1278 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1279
1280         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
1281
1282         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
1283         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
1284         (VALID_CHARPTR_P): Moved to mb-*byte.h.
1285         (VALIDATE_CHARPTR_BACKWARD): Likewise.
1286         (VALIDATE_CHARPTR_FORWARD): Likewise.
1287         (simple_charptr_emchar): Moved to mb-multibyte.h.
1288         (simple_set_charptr_emchar): Likewise.
1289         (simple_charptr_copy_char): Likewise.
1290         (non_ascii_charptr_emchar): Likewise.
1291         (non_ascii_set_charptr_emchar): Likewise.
1292         (non_ascii_charptr_copy_char): Likewise.
1293         (charptr_emchar): Moved to mb-*byte.h.
1294         (set_charptr_emchar): Likewise.
1295         (charptr_copy_char): Likewise.
1296
1297         * mb-1byte.h, mb-multibyte.h: New files.
1298
1299 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1300
1301         * mb-utf-8.h (MULTIBYTE): New macro.
1302         (MAX_EMCHAR_LEN): Moved from buffer.h.
1303         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
1304
1305         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
1306
1307         * mb-lb.h, multibyte.h: New files.
1308
1309         * char-1byte.h (Charset_ID): Moved from buffer.h.
1310         (MIN_LEADING_BYTE): Likewise.
1311         (LEADING_BYTE_ASCII): Likewise.
1312         (NUM_LEADING_BYTES): Likewise.
1313         (CHARSETP): Likewise.
1314         (CHARSET_BY_LEADING_BYTE): Likewise.
1315         (XCHARSET_LEADING_BYTE): Likewise.
1316         (XCHARSET_GRAPHIC): Likewise.
1317         (XCHARSET_COLUMNS): Likewise.
1318         (XCHARSET_DIMENSION): Likewise.
1319         (CHAR_CHARSET): Likewise.
1320         (CHAR_LEADING_BYTE): Likewise.
1321         (BREAKUP_CHAR): Likewise.
1322         (Vcharset_ascii): Likewise.
1323
1324         * buffer.h: Include multibyte.h unconditionally.
1325         (VALID_CHARPTR_P): Moved to multibyte.h.
1326         (ASSERT_VALID_CHARPTR): Likewise.
1327         (REAL_INC_CHARPTR): Likewise.
1328         (REAL_INC_CHARBYTIND): Likewise.
1329         (REAL_DEC_CHARPTR): Likewise.
1330         (INC_CHARPTR): Likewise.
1331         (INC_CHARBYTIND): Likewise.
1332         (DEC_CHARPTR): Likewise.
1333         (VALIDATE_CHARPTR_BACKWARD): Likewise.
1334         (VALIDATE_CHARPTR_FORWARD): Likewise.
1335         (charptr_n_addr): Likewise.
1336         (MAX_EMCHAR_LEN): Moved to mb-*.h.
1337         (simple_charptr_emchar): Moved to multibyte.h.
1338         (simple_set_charptr_emchar): Likewise.
1339         (simple_charptr_copy_char): Likewise.
1340         (non_ascii_charptr_emchar): Likewise.
1341         (non_ascii_set_charptr_emchar): Likewise.
1342         (non_ascii_charptr_copy_char): Likewise.
1343         (charptr_emchar): Likewise.
1344         (set_charptr_emchar): Likewise.
1345         (charptr_copy_char): Likewise.
1346         (charptr_emchar_n): Likewise.
1347         (Charset_ID): Moved to char-1byte.h.
1348         (Vcharset_ascii): Likewise.
1349         (CHAR_CHARSET): Likewise.
1350         (CHAR_LEADING_BYTE): Likewise.
1351         (LEADING_BYTE_ASCII): Likewise.
1352         (NUM_LEADING_BYTES): Likewise.
1353         (MIN_LEADING_BYTE): Likewise.
1354         (CHARSETP): Likewise.
1355         (CHARSET_BY_LEADING_BYTE): Likewise.
1356         (XCHARSET_LEADING_BYTE): Likewise.
1357         (XCHARSET_GRAPHIC): Likewise.
1358         (XCHARSET_COLUMNS): Likewise.
1359         (XCHARSET_DIMENSION): Likewise.
1360         (BREAKUP_CHAR): Likewise.
1361
1362 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1363
1364         * character.h: Add document about interface for characters.
1365
1366         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
1367         (MAKE_CHAR): Delete comment about
1368         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
1369         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
1370         (BREAKUP_CHAR): Modify name of arguments.
1371         (CHAR_CHARSET): Modify name of argument.
1372
1373         * buffer.h: Delete document about Emchar accessors.
1374
1375 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1376
1377         * character.h (CHAR_INTP): Moved from buffer.h
1378         (CHAR_OR_CHAR_INTP): Likewise.
1379         (XCHAR_OR_CHAR_INT): Likewise.
1380         (CHECK_CHAR_COERCE_INT): Likewise.
1381
1382         * buffer.h (CHAR_INTP): Moved to character.h
1383         (CHAR_OR_CHAR_INTP): Likewise.
1384         (XCHAR_OR_CHAR_INT): Likewise.
1385         (CHECK_CHAR_COERCE_INT): Likewise.
1386
1387 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1388
1389         * character.h:
1390         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
1391         - Include char-1byte.h, char-lb.h or char-ucs.h.
1392
1393         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
1394
1395         * buffer.h: Include character unconditionally.
1396         (valid_char_p): Moved to char-*.h.
1397         (non_ascii_valid_char_p): Moved to char-lb.h.
1398
1399         * char-1byte.h, char-lb.h, char-ucs.h: New files.
1400
1401 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1402
1403         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
1404         in UTF-2000 because it is not ported yet and not to use
1405         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
1406         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
1407         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
1408
1409         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
1410         (CHAR_ASCII_P): Moved from character.h.
1411
1412         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
1413         (CHAR_ASCII_P): Likewise.
1414         (CHAR_FIELD1_MASK): Deleted.
1415         (CHAR_FIELD2_MASK): Deleted.
1416         (CHAR_FIELD3_MASK): Deleted.
1417         (MAX_CHAR_BASIC_LATIN): New macro.
1418         (CHAR_FIELD1): Deleted.
1419         (CHAR_FIELD2_INTERNAL): Deleted.
1420         (CHAR_FIELD3_INTERNAL): Deleted.
1421         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
1422         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
1423         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
1424         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
1425         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
1426         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
1427         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
1428         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
1429         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
1430         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
1431         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
1432         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
1433         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
1434         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
1435         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
1436         (MIN_CHAR_COMPOSITION): Deleted.
1437         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
1438         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
1439
1440 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
1441
1442         * buffer.h: Include mb-utf-8.h in UTF-2000.
1443
1444         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
1445
1446         * mb-utf-8.h: New file.
1447
1448 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
1449
1450         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
1451         instead of `int'.
1452
1453         * mule-charset.h, buffer.h (Charset_ID): New type.
1454
1455 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
1456
1457         * mule-canna.c (c2mu): Use `MAKE_CHAR',
1458         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
1459         instead of `MULE_CHAR_PRIVATE_OFFSET',
1460         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
1461         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
1462         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
1463
1464         * character.h (Vcharset_japanese_jisx0212): New variable
1465         definition.
1466
1467 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
1468
1469         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
1470         (charset_by_attributes): Delete array about direction.
1471         (latin_a_char_to_charset): New variable in UTF-2000.
1472         (latin_a_char_to_byte1): New variable in UTF-2000.
1473         (latin_a_char_to_byte2): New variable in UTF-2000.
1474         (Qucs_bmp): New variable.
1475         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
1476         `Bufbyte'.
1477         (next_allocated_2_byte_leading_byte): Likewise.
1478         (non_ascii_set_charptr_emchar): Likewise.
1479         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
1480         `CHARSET_TYPE_256X256' in UTF-2000; modify for
1481         `charset_by_attributes'.
1482         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
1483         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
1484         and `CHARSET_BY_LEADING_BYTE'.
1485         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
1486         `utf-2000-version' to `vars_of_mule_charset'.
1487         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
1488         define `leading-code-private-11' in UTF-2000; move setting of
1489         `utf-2000-version' from `syms_of_mule_charset'.
1490         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
1491         UTF-2000.
1492
1493         * character.h (Charset_ID): New type.
1494         (LEADING_BYTE_UCS_BMP): New macro.
1495         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
1496         (CHARSET_ID_OFFSET_94): New macro.
1497         (MIN_CHARSET_ID_PRIVATE_94): New macro.
1498         (MAX_CHARSET_ID_PRIVATE_94): New macro.
1499         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
1500         final-byte.
1501         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
1502         (LEADING_BYTE_LATIN_JISX0201): Likewise.
1503         (CHARSET_ID_OFFSET_96): New macro.
1504         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
1505         CHARSET_ID_OFFSET_96 and final-byte.
1506         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
1507         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
1508         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
1509         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
1510         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
1511         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
1512         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
1513         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
1514         (LEADING_BYTE_THAI_TIS620): Likewise.
1515         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
1516         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
1517         (CHARSET_ID_OFFSET_94x94): New macro.
1518         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
1519         CHARSET_ID_OFFSET_94x94 and final-byte.
1520         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
1521         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
1522         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
1523         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
1524         (LEADING_BYTE_CHINESE_GB2312): Likewise.
1525         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
1526         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
1527         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
1528         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
1529         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
1530         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
1531         (CHARSET_TYPE_128X128): New macro.
1532         (CHARSET_TYPE_256X256): New macro.
1533         (XCHARSET_PRIVATE_P): Delete unconditionally.
1534         (charset_by_attributes): Delete array about direction.
1535         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
1536         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
1537         (MIN_CHAR_94): New macro.
1538         (MAX_CHAR_94): New macro.
1539         (MIN_CHAR_96): New macro.
1540         (MAX_CHAR_96): New macro.
1541         (MIN_CHAR_94x94): New macro.
1542         (MAX_CHAR_94x94): New macro.
1543         (MIN_CHAR_96x96): New macro.
1544         (MAX_CHAR_96x96): New macro.
1545         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
1546         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
1547         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
1548         - 32)'.
1549         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
1550         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
1551         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
1552         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
1553         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
1554         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
1555         `XCHARSET_LEADING_BYTE' to make code-point.
1556         (latin_a_char_to_charset): New variable.
1557         (latin_a_char_to_byte1): New variable.
1558         (latin_a_char_to_byte2): New variable.
1559         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
1560         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
1561         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
1562
1563         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
1564         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
1565         (find_charsets_in_emchar_string): Likewise.
1566         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
1567
1568         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
1569         `int'.
1570         (decode_coding_iso2022): Likewise.
1571
1572         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
1573         of `unsigned char'.
1574
1575         * redisplay.c (redisplay_text_width_emchar_string): Use
1576         `Charset_ID' instead of `unsigned char'.
1577         (redisplay_frame_text_width_string): Likewise.
1578
1579         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
1580         `unsigned char'.
1581
1582         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
1583         instead of `unsigned char'.
1584         (face_cachel_charset_font_metric_info): Likewise.
1585
1586         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
1587         (get_non_ascii_char_table_value): Likewise.
1588         (get_char_table): Likewise.
1589         (put_char_table): Likewise.
1590         (map_over_other_charset): Likewise.
1591         (map_char_table): Likewise.
1592
1593         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
1594         instead of `unsigned char'.
1595
1596 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
1597
1598         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
1599         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
1600
1601         * mule-charset.c (leading_code_private_11): Don't define in
1602         UTF-2000.
1603
1604         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
1605         in UTF-2000 because it is not ported yet and not to use
1606         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
1607
1608 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
1609
1610         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
1611
1612 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1613
1614         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
1615         in UTF-2000.
1616
1617         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
1618         of unsigned char to store leading-byte.
1619
1620         * chartab.c (get_non_ascii_char_table_value): Don't use
1621         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
1622
1623         * file-coding.c (encode_coding_big5): Delete bogus implementation
1624         in UTF2000.
1625
1626         * character.h (LEADING_BYTE_*): Delete definition for
1627         non-UTF-2000.
1628         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
1629         (LEADING_BYTE_PREFIX_P): Deleted.
1630         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
1631         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
1632         (BUFBYTE_LEADING_BYTE_P): Deleted.
1633         (CHARSET_PRIVATE_P): Deleted unconditionally.
1634         (rep_bytes_by_first_byte): Deleted unconditionally.
1635         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
1636         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
1637         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
1638         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
1639         (CHAR_FIELD2): Deleted.
1640         (CHAR_FIELD3): Deleted.
1641         (MAKE_CHAR): Delete definition for non-UTF-2000.
1642         (BREAKUP_CHAR_1_UNSAFE): Deleted.
1643         (breakup_char_1): New implementation.
1644         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
1645         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
1646
1647 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1648
1649         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
1650         condition.
1651
1652 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1653
1654         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
1655         (CHARSET_PRIVATE_P): Likewise.
1656         (XCHARSET_PRIVATE_P): Likewise.
1657         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
1658
1659         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
1660         UTF2000.
1661         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
1662
1663 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1664
1665         * character.h (LEADING_BYTE_*): Changed in UTF2000.
1666         (NUM_LEADING_BYTES): Changed from 128 to 256.
1667         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
1668         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
1669         UTF2000.
1670         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
1671
1672         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
1673         UTF2000.
1674         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
1675         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
1676         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
1677         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
1678         (Qchinese_cns11643_3): New variable in UTF2000.
1679         (Qchinese_cns11643_4): New variable in UTF2000.
1680         (Qchinese_cns11643_5): New variable in UTF2000.
1681         (Qchinese_cns11643_6): New variable in UTF2000.
1682         (Qchinese_cns11643_7): New variable in UTF2000.
1683         (syms_of_mule_charset): Define `chinese-cns11643-3',
1684         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
1685         and `chinese-cns11643-7' in UTF2000.
1686         (vars_of_mule_charset): Initialize
1687         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
1688         + 1 in UTF2000.
1689         (complex_vars_of_mule_charset): Setup charset
1690         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
1691         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
1692
1693 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1694
1695         * mule-charset.c: Move setting for `leading-code-private-11' from
1696         `syms_of_mule_charset' to `vars_of_mule_charset'.
1697
1698 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1699
1700         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
1701         and `NUM_LEADING_BYTES' in assert.
1702
1703 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1704
1705         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
1706         instead of 128.
1707         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
1708         `NUM_LEADING_BYTES' instead of 128.
1709
1710 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1711
1712         * mule-charset.h (charset_by_leading_byte): Use
1713         `NUM_LEADING_BYTES' instead of 128.
1714         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
1715
1716         * mule-charset.c (charset_by_leading_byte): Use
1717         `NUM_LEADING_BYTES' instead of 128.
1718         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
1719
1720         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
1721         128.
1722
1723 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1724
1725         * mule-charset.c (syms_of_mule_charset): Update to
1726         0.4 (Shin-Imamiya).
1727
1728 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
1729
1730         * file-coding.c (encode_coding_sjis): New implementation for
1731         UTF2000.  (decode_coding_sjis): Ditto.
1732
1733 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1734
1735         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
1736         Don't define in UTF2000.
1737
1738         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
1739         defined.
1740
1741         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
1742         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
1743         MULE.
1744
1745 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1746
1747         * config.h.in (CHAR_IS_UCS4): New macro.
1748
1749         * mule-charset.c (rep_bytes_by_first_byte): Modify for
1750         conventional MULE representation.
1751         (syms_of_mule_charset): Update to 0.3 (Imamiya).
1752
1753         * mule-charset.h: Reverted to original.
1754
1755         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
1756         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
1757         "mule-charset.h" if CHAR_IS_UCS4 is defined.
1758
1759         * character.h: New file.
1760
1761         * file-coding.c (Fmake_coding_system): Set 1 to
1762         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
1763         defined.
1764         (encode_coding_no_conversion): New implementation for UTF2000.
1765
1766         * file-coding.h (struct Lisp_Coding_System): Add new member
1767         `fixed.size'.
1768
1769 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
1770
1771         * file-coding.c (decode_coding_iso2022): Code-point arguments of
1772         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
1773         (encode_coding_iso2022): New implementation for UTF2000.
1774
1775 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1776
1777         * mule-canna.c (c2mu): New implementation for UTF2000.
1778         (m2c): Likewise.
1779
1780 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1781
1782         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
1783
1784 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1785
1786         * file-coding.c (reset_encoding_stream): Set 0 to
1787         `str->iso2022.current_char_boundary' in UTF2000.
1788         (encode_utf8): Don't define in UTF2000.
1789         (encode_coding_utf8): New implementation for UTF-8 representation
1790         of UTF2000.
1791         (complex_vars_of_file_coding): Define coding-system `utf-8'.
1792
1793 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1794
1795         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
1796
1797         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
1798         UTF2000.
1799         (REP_BYTES_BY_FIRST_BYTE): Likewise.
1800
1801         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
1802
1803         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
1804         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
1805         as UTF-8 in UTF2000.
1806         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
1807         (non_ascii_valid_char_p): Don't define in UTF2000.
1808         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
1809         (Lstream_get_emchar_1): Likewise.
1810         (utf-2000-version): New variable in UTF2000.
1811
1812         * lread.c (read_escape): Add new reader `u'.
1813
1814         * insdel.c (three_to_one_table): Don't define in UTF2000.
1815         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
1816         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
1817         UTF2000.
1818         (bytind_to_bufpos_func): Likewise.
1819         (buffer_mule_signal_inserted_region): Likewise.
1820         (vars_of_insdel): Don't initialize `three_to_one_table'.
1821         (init_buffer_text): Use `buf->text->mule_size' instead of
1822         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
1823         UTF2000.
1824
1825         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
1826         UTF-8 representation in UTF2000.
1827         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
1828         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
1829         (decode_coding_iso2022): Don't define local variable `lb' in
1830         UTF2000; don't use LEADING_BYTE in UTF2000; use
1831         `DECODE_ADD_UCS_CHAR' in UTF2000.
1832         (convert_to_external_format): Decode as UTF-8 in UTF2000.
1833
1834         * config.h.in (UTF2000): New macro.
1835
1836         * buffer.h (struct buffer_text): Add new member `mule_size' and
1837         don't add `mule_shifter' and `mule_three_p' in UTF2000.
1838         (valid_char_p): Return always 1 in UTF2000.
1839         (MAX_EMCHAR_LEN): 6 in UTF2000.
1840         (three_to_one_table): Don't define in UTF2000.
1841         (real_bufpos_to_bytind): Modify for UTF-8 representation in
1842         UTF2000.
1843         (real_bytind_to_bufpos): Likewise.
1844
1845         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
1846
1847 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1848
1849         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
1850         representation change.
1851         (Vutf_2000_version): New variable.
1852         (leading_code_private_11): New variable.
1853         (syms_of_mule_charset): Add new variables `utf-2000-version' and
1854         `leading-code-private-11'.
1855
1856         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
1857         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
1858         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
1859         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
1860         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
1861         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
1862         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
1863         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
1864         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
1865         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
1866         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
1867         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
1868         (MIN_CHAR_GREEK): New macro.
1869         (MAX_CHAR_GREEK): New macro.
1870         (MIN_CHAR_CYRILLIC): New macro.
1871         (MAX_CHAR_CYRILLIC): New macro.
1872         (MIN_CHAR_HEBREW): New macro.
1873         (MAX_CHAR_HEBREW): New macro.
1874         (MIN_CHAR_THAI): New macro.
1875         (MAX_CHAR_THAI): New macro.
1876         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
1877         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
1878         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
1879         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
1880         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
1881         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
1882         (CHAR_FIELD2): New inline function.
1883         (CHAR_FIELD3): New inline function.
1884         (MULE_CHAR_PRIVATE_OFFSET): New macro.
1885         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
1886         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
1887         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
1888         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
1889         (MIN_CHAR_COMPOSITION): Likewise.
1890         (CHAR_LEADING_BYTE): Modified for character representation change.
1891         (MAKE_CHAR): Likewise.
1892
1893         * lisp.h (Vcharset_latin_iso8859_1): New variable.
1894         (Vcharset_greek_iso8859_7): Likewise.
1895         (Vcharset_cyrillic_iso8859_5): Likewise.
1896         (Vcharset_hebrew_iso8859_8): Likewise.
1897         (Vcharset_thai_tis620): Likewise.
1898         (Vcharset_katakana_jisx0201): Likewise.
1899
1900 2000-01-18  Martin Buchholz <martin@xemacs.org>
1901
1902         * XEmacs 21.2.27 is released.
1903
1904 2000-01-18  Martin Buchholz  <martin@xemacs.org>
1905
1906         * glyphs-eimage.c (struct tiff_error_struct):
1907         (tiff_error_func):
1908         (tiff_warning_func):
1909         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
1910
1911         * unexmips.c:
1912         * unexhp9k3.c:
1913         * unexfreebsd.c:
1914         * unexec.c: Remove vestigial Lucid C code.
1915         * unexalpha.c:
1916         * unexaix.c:
1917         * termcap.c:
1918         * libsst.c: Ansify.
1919         Remove declarations of errno and strerror().
1920
1921         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
1922
1923         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
1924
1925 2000-01-16  Martin Buchholz  <martin@xemacs.org>
1926
1927         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
1928         Optimize.
1929
1930 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
1931
1932         * md5.c:
1933         * file-coding.c:
1934         * file-coding.h:
1935         Change enum eol_type to eol_type_t.
1936
1937 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
1938
1939         * gui.c (get_gui_callback): Check cons before accessing car.
1940
1941 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
1942
1943         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
1944         (XSETSPECIFIER_TYPE): Ditto.
1945
1946 2000-01-17  Didier Verna  <didier@xemacs.org>
1947
1948         * redisplay.c (generate_fstring_runes): compute string size in
1949         characters, not bytes.
1950
1951 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
1952
1953         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
1954
1955 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
1956
1957         * print.c (print_error_message): Call print_prepare().
1958
1959 2000-01-14  Martin Buchholz  <martin@xemacs.org>
1960
1961         * .dbxrc: Renamed from dbxrc.
1962
1963         * events.c (event_to_character):
1964         Use `assert (foo)' instead of `if (!foo) abort()'
1965
1966         * .gdbinit (xtype): Add documentation.
1967         * .gdbinit (check-temacs): New function.
1968         * .gdbinit (check-xemacs): New function.
1969         * dbxrc (check-xemacs): New function.
1970         * dbxrc (check-xemacs): New function.
1971
1972 2000-01-14  Andy Piper  <andy@xemacs.org>
1973
1974         * glyphs-widget.c (widget_query_geometry): Make sure that we
1975         calculate default dimensions correctly.
1976
1977 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1978
1979         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
1980
1981         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
1982         pdump_wire'd variable.
1983
1984         * emacs.c: (main_1): Conditionalized calls to
1985         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
1986
1987 2000-01-13  Martin Buchholz  <martin@xemacs.org>
1988
1989         * window.c (Fset_window_configuration):
1990         * sysdep.c (_start):
1991         * input-method-motif.c (res):
1992         * event-Xt.c (Xt_process_to_emacs_event):
1993         Simple compiler warning fixes.
1994
1995         * bytecode.c (funcall_compiled_function): Use the original
1996         function symbol on the backtrace list in preference to the
1997         compiled_function object in error messages.
1998
1999 2000-01-13  Andy Piper  <andy@xemacs.org>
2000
2001         * glyphs-x.c (update_widget_face): Make sure we update the widget
2002         background as well as foreground.
2003
2004 2000-01-13  Andy Piper  <andy@xemacs.org>
2005
2006         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
2007         fields to subwindow.
2008         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
2009         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
2010         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
2011         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
2012
2013         * glyphs-widget.c (check_valid_tab_orientation): new function.
2014         (initialize_widget_image_instance): zero orientation and
2015         justification.
2016         (widget_instantiate): pick up orientation.
2017         (tab_control_query_geometry): return appropriate values for
2018         vertical tabs.
2019
2020         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
2021         appropriate creation flags for left, right and bottom tabs.
2022
2023         * s/cygwin32.h: add tab definitions.
2024
2025 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2026
2027         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
2028         frame upon hiding a subwindow.
2029         (mswindows_button_instantiate): Changed the push button style to
2030         BS_PUSHBUTTON.
2031         (mswindows_button_instantiate): Removed button BS_NOTIFY
2032         style.
2033         (mswindows_button_instantiate): Removed redundant check for
2034         a disabled gui item.
2035         (mswindows_button_instantiate): Made use of WS_TABSTOP
2036         consistent: "operable" controls (edit, button, tree, scroll) have
2037         this style, "display-only" ones (static, progress gauge) do
2038         not. This style is currently ignored by XEmacs though. Also,
2039         removed the WS_EX_CONTROLPARENT style - it is not for children,
2040         it is for their parents!
2041         (mswindows_edit_field_instantiate): Ditto.
2042         (mswindows_progress_gauge_instantiate): Ditto.
2043         (mswindows_tree_view_instantiate): Ditto.
2044         (mswindows_tab_control_instantiate): Ditto.
2045         (mswindows_scrollbar_instantiate): Ditto.
2046         (mswindows_combo_box_instantiate): Ditto.
2047         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
2048         style to the "clip" window.
2049         (mswindows_button_instantiate): Removed compilation warning by
2050         equally typing terms of the ?: operator.
2051
2052 2000-01-12  Didier Verna  <didier@xemacs.org>
2053
2054         * redisplay.c (generate_fstring_runes): new parameter holding the
2055         last modeline-format extent.
2056         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
2057         extent, fill the glyph block with it.
2058         (generate_fstring_runes): handle these parameters.
2059         (generate_formatted_string_db): ditto.
2060
2061         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
2062         glyphs'extents in the modeline.
2063
2064 1999-01-11  Mike Woolley  <mike@bulsara.com>
2065
2066         * ntheap.c: Reduced the reserved heap space from 1Gb down to
2067         256Mb, as a workaround for the non-starting problem many people
2068         have experienced.
2069
2070 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2071
2072         * console-tty.c (Fset_console_tty_output_coding_system):
2073         Force redrawing tty frame.
2074
2075 2000-01-10  Didier Verna  <didier@xemacs.org>
2076
2077         * redisplay.c (generate_fstring_runes): fix size computation bug.
2078
2079 2000-01-09  William M. Perry <wmperry@aventail.com>
2080
2081         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
2082
2083 2000-01-09  Andy Piper  <andy@xemacs.org>
2084
2085         * glyphs-msw.c: index -> i to avoid shadows.
2086         (xbm_create_bitmap_from_data): make static.
2087         (check_valid_string_or_int): deleted.
2088         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
2089
2090         * glyphs-x.c (x_update_subwindow): remove unused args.
2091
2092         * glyphs.c (glyph_image_instance): return the thing. Don't set the
2093         back pointer - this is done in allocate_image_instance.
2094         (query_string_font): return Qnil to make the compiler happy.
2095         (unmap_subwindow): set to ~0 to make the compiler happy.
2096         (glyph_query_geometry): comment out until used.
2097         (glyph_layout): ditto.
2098
2099 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
2100
2101         * insdel.c (signal_after_change): Remove extraneous unbind_to().