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