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