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