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