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