Sync with r21-2-28.
[chise/xemacs-chise.git] / src / ChangeLog
1 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
5
6         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
7         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
8
9 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
10
11         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
12         `ideograph-daikanwa'.
13
14         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
15         (Vcharset_ucs_bmp): Likewise.
16         (Vcharset_mojikyo): Add new extern variable definition.
17         (Vcharset_latin_iso8859_2): Deleted because it is not used.
18         (Vcharset_latin_iso8859_3): Likewise.
19         (Vcharset_latin_iso8859_4): Likewise.
20         (Vcharset_latin_iso8859_9): Likewise.
21         (Vcharset_latin_viscii_lower): Likewise.
22         (Vcharset_latin_viscii_upper): Likewise.
23         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
24         `mojikyo' code-point is used to decode.
25         (encode_char_2): New function [to convert `mojikyo' code-point to
26         Mojikyo font encoding].
27         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
28         (breakup_char_1): Likewise.
29         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
30
31 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
32
33         * text-coding.c (Fmake_coding_system): Add document about
34         `disable-composition' property.
35
36 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
37
38         * text-coding.c (Qdisable_composition): New variable; delete
39         `Qcomposite'.
40         (Fmake_coding_system): Add new property `disable-composite';
41         delete property `composite'.
42         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
43         instead of `!CODING_SYSTEM_COMPOSITE'.
44         (syms_of_file_coding): Add new symbol `disable-composition';
45         delete symbol `composite'.
46
47         * file-coding.h (struct Lisp_Coding_System): Add
48         `disable_composition'; delete `enable_composition'.
49         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
50         `CODING_SYSTEM_COMPOSITE'.
51         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
52         `XCODING_SYSTEM_COMPOSITE'.
53
54 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
55
56         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
57         to 0.15.
58
59 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
60
61         * text-coding.c (Qcomposite): New variable.
62         (Fmake_coding_system): Add new property `composite'.
63         (struct decoding_stream): Add `combined_char_count',
64         `combined_chars' and `combining_table' in UTF-2000.
65         (COMPOSE_FLUSH_CHARS): New macro.
66         (COMPOSE_ADD_CHAR): New macro.
67         (reset_decoding_stream): Reset `str->combined_char_count' and
68         `str->combining_table' in UTF-2000.
69         (decode_coding_iso2022): Modify for character-decomposition.
70         (syms_of_file_coding): Add new symbol `composite'.
71
72 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
73
74         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
75         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
76         of `Vcharacter_composition_table' if `->decomposition' property
77         has only 1 element.
78         (Qlatin_tcvn5712): New variable.
79         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
80         (complex_vars_of_mule_charset): Add new coded-charset
81         `latin-tcvn5712'.
82
83         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
84
85 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
86
87         * file-coding.h (struct Lisp_Coding_System): Add
88         `enable_composition'.
89         (CODING_SYSTEM_COMPOSITE): New macro.
90         (XCODING_SYSTEM_COMPOSITE): New macro.
91
92 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
93
94         * mule-canna.c (c2mu): Fix problem with UTF-2000.
95
96 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
97
98         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
99         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
100
101 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
102
103         * mule-charset.c (Vcharset_mojikyo): New variable.
104         (Fdefine_char): Don't use coded-charset which does not have
105         non-builtin character range to allocate character-id.
106         (Qmojikyo): New variable.
107         (syms_of_mule_charset): Add new symbol `mojikyo'.
108         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
109
110         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
111         (LEADING_BYTE_MOJIKYO): New macro.
112         (MIN_CHAR_MOJIKYO): New macro.
113         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
114         (MAX_CHAR_MOJIKYO): New macro.
115
116 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
117
118         * mule-charset.c (remove_char_attribute): Fixed.
119
120 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
121
122         * mule-charset.c (remove_char_attribute): New function.
123         (Fremove_char_attribute): New function.
124         (encode_builtin_char_1): Comment out builtin-support for
125         greek-iso8859-7 and cyrillic-iso8859-5.
126         (Fdecode_char): Check `code' is an integer.
127         (syms_of_mule_charset): Add `remove-char-attribute'.
128         (MIN_CHAR_GREEK): Deleted.
129         (MAX_CHAR_GREEK): Likewise.
130         (MIN_CHAR_CYRILLIC): Likewise.
131         (MAX_CHAR_CYRILLIC): Likewise.
132         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
133         MAX_CHAR_GREEK for `greek-iso8859-7'.
134
135         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
136         (MAX_CHAR_GREEK): Likewise.
137         (MIN_CHAR_CYRILLIC): Likewise.
138         (MAX_CHAR_CYRILLIC): Likewise.
139
140 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
141
142         * mule-charset.c (Fdefine_char): Fix problem when new code-point
143         format is used without `ucs' property.
144         (Fdecode_char): Fix problem with GR representation.
145         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
146         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
147
148 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
149
150         * mule-charset.c (make_builtin_char): New function.
151         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
152         (Fset_charset_mapping_table): Modify for new representation of
153         code-point.
154         (Fdecode_char): New function.
155         (syms_of_mule_charset): Add new builtin function `decode-char' in
156         UTF-2000.
157
158         * char-ucs.h (make_builtin_char): New prototype.
159         (DECODE_CHAR): New inline function.
160         (MAKE_CHAR): Use `DECODE_CHAR'.
161
162 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
163
164         * text-coding.c (parse_charset_conversion_specs): Use
165         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
166         `XCHARSET_TYPE'.
167         (iso2022_designate): Likewise.
168
169         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
170         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
171
172         * mule-charset.c (Vcharset_ucs): New variable.
173         (print_charset): Change design; use `CHARSET_CHARS' and
174         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
175         (make_charset): Change signature to specify `chars' and
176         `dimension' instead of `type'.
177         (range_charset_code_point): Modify for 256^n-set.
178         (encode_builtin_char_1): Encode as `ucs' in default.
179         (Fmake_charset): Modify for `make_charset'.
180         (Fmake_reverse_direction_charset): Likewise.
181         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
182         UTF-2000.
183         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
184         for `make_charset'.
185
186         * char-ucs.h (Vcharset_ucs): New variable.
187         (LEADING_BYTE_UCS): New macro.
188         (struct Lisp_Charset): Delete `type'; change type of `dimension'
189         and `chars' to `unsigned short' from `unsigned int'.
190         (CHARSET_TYPE): Deleted.
191         (XCHARSET_TYPE): Deleted.
192
193 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
194
195         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
196
197         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
198         (ENCODE_CHAR): New macro.
199
200 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
201
202         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
203         to 0.14 (Kawachi-Katakami).
204
205 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
206
207         * text-coding.c (char_encode_shift_jis): Modify for
208         `charset_code_point'.
209         (char_encode_iso2022): Likewise.
210
211         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
212         (integer) instead of list of <Lisp_Object>s (integers) as the
213         format of code-point of a coded-charset.
214         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
215         (encode_builtin_char_1): New function; delete
216         `split_builtin_char'.
217         (charset_code_point): Return <int> instead of <Lisp_Object>.
218         (Fsplit_char): Don't use `SPLIT_CHAR'.
219
220         * char-ucs.h (encode_builtin_char_1): New prototype; delete
221         prototype for `split_builtin_char'.
222         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
223         (charset_code_point): Likewise.
224         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
225         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
226
227 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
228
229         * mule-charset.c (complex_vars_of_mule_charset): Don't define
230         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
231
232 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
233
234         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
235
236         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
237         (MAX_CHAR_OBS_94x94): Deleted.
238
239 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
240
241         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
242
243         * char-ucs.h (MAX_CHAR_BMP): New macro.
244
245 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
246
247         * text-coding.c: Sync with r21-2-24.
248
249 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
250
251         * file-coding.c: Modify for UTF-2000.
252
253 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
254
255         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
256         to 0.13 (Takaida).
257
258 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
259
260         * mule-charset.c (split_builtin_char): Delete builtin support for
261         `katakana-jisx0201'.
262         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
263         BMP area in builtin representation.
264
265         * char-ucs.h (MAKE_CHAR): Delete builtin support for
266         `Vcharset_katakana_jisx0201'.
267
268 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
269
270         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
271         (Qisolated): New variable.
272         (Qinitial): New variable.
273         (Qmedial): New variable.
274         (Qfinal): New variable.
275         (Qvertical): New variable.
276         (Qsmall): New variable.
277         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
278         `Qvertical' and `Qsmall'.
279         (Qmojikyo_pj_[1 .. 21]): New variable.
280         (syms_of_mule_charset): Add new symbols `isolated', `initial',
281         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
282         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
283         .. 21]'.
284
285 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
286
287         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
288         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
289         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
290
291 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
292
293         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
294         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
295         BMP.
296         (Qjapanese_jisx0208_1990): New variable.
297         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
298         (complex_vars_of_mule_charset): Add new coded-charset
299         `japanese-jisx0208-1990'.
300
301         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
302         (MIN_CHAR_JIS_X0208_1990): New macro.
303         (MAX_CHAR_JIS_X0208_1990): New macro.
304
305 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
306
307         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
308         coded-charset is not found.
309
310 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
311
312         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
313         (Fdefine_char): Use `Fmake_char'.
314
315 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
316
317         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
318         (Vcharset_hiragana_jisx0208): Deleted.
319         (Vcharset_katakana_jisx0208): Deleted.
320         (Qideograph_daikanwa): New variable.
321         (Qhiragana_jisx0208): Deleted.
322         (Qkatakana_jisx0208): Deleted.
323         (split_builtin_char): Split `ideograph-daikanwa'.
324         (Fsplit_char): New implementation for UTF-2000.
325         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
326         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
327         (complex_vars_of_mule_charset): Add new coded-charset
328         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
329         `katakana-jisx0208'.
330
331         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
332         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
333         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
334         (MIN_CHAR_DAIKANWA): New macro.
335         (MAX_CHAR_DAIKANWA): New macro.
336
337 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
338
339         * data.c (Fstring_to_number): Don't recognize floating point if
340         base is not 10.
341
342 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
343
344         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
345
346 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
347
348         * mule-charset.c (Qsquare): New variable.
349         (to_char_code): Add `Qsquare'.
350         (syms_of_mule_charset): Add new symbol `square'.
351
352 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
353
354         * mule-charset.c (Qcircle): New variable.
355         (to_char_code): Add `Qcircle'.
356         (syms_of_mule_charset): Add new symbol `circle'.
357
358 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
359
360         * mule-charset.c (Qfont): New variable.
361         (to_char_code): Add `Qfont'.
362         (syms_of_mule_charset): Add new symbol `font'.
363
364 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
365
366         * mule-charset.c (Qsub): New variable.
367         (to_char_code): Add `Qsub'.
368         (syms_of_mule_charset): Add new symbol `sub'.
369
370 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
371
372         * mule-charset.c (Fput_char_attribute): Convert each element of
373         VALUE to GL position if ATTRIBUTE is a GR-set,
374
375 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
376
377         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
378         coded-charset is a GR-set.
379
380 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
381
382         * mule-charset.c (Fput_char_attribute): Check each element of
383         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
384
385 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
386
387         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
388         UTF-2000.
389         (Qethiopic_ucs): New variable in UTF-2000.
390         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
391         (complex_vars_of_mule_charset): Add new coded-charset
392         `ethiopic-ucs' in UTF-2000.
393
394         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
395         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
396         9)'.
397         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
398         10)'.
399         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
400
401 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
402
403         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
404         `ascii'.
405
406 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
407
408         * mule-charset.c (Vcharacter_variant_table): New variable.
409         (Q_ucs): New variable.
410         (Fchar_variants): New function.
411         (Fput_char_attribute): Register `->ucs' value to
412         `Vcharacter_variant_table'.
413         (syms_of_mule_charset): Add new function `char-variants' and new
414         symbol `->ucs'.
415         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
416
417 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
418
419         * mule-charset.c (get_char_code_table): Allow negative character
420         code.
421         (put_char_code_table): Likewise.
422         (Vcharacter_composition_table): New variable.
423         (Q_decomposition): New variable.
424         (Qwide): New variable.
425         (Qnarrow): New variable.
426         (Qcompat): New variable.
427         (QnoBreak): New variable.
428         (Qsuper): New variable.
429         (Qfraction): New variable.
430         (to_char_code): New function.
431         (Fget_composite_char): New function.
432         (Fput_char_attribute): Register `->decomposition' value to
433         `Vcharacter_composition_table'.
434         (syms_of_mule_charset): Add new function `get-composite-char', new
435         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
436         `super' and `fraction'.
437         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
438
439 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
440
441         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
442         character; copy the return value.
443
444 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
445
446         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
447
448         * mule-charset.c (range_charset_code_point): Must use make_int.
449         (split_builtin_char): New function.
450
451 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
452
453         * mule-charset.c (char_byte_table): Change name from
454         "char-code-table" to "char-byte-table".
455         (mark_char_code_table): New function.
456         (char_code_table_equal): New function.
457         (char_code_table_hash): New function.
458         (char_code_table_description): New constant.
459         (char_code_table): New type.
460         (make_char_code_table): New function.
461         (copy_char_code_table): New function.
462         (get_char_code_table): Modify for `char_code_table' type.
463         (put_char_code_table): Likewise.
464         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
465         (Kashiwara).
466
467         * char-ucs.h (char_code_table): New type.
468         (XCHAR_CODE_TABLE): New macro.
469         (XSETCHAR_CODE_TABLE): New macro.
470         (CHAR_CODE_TABLE_P): New macro.
471         (GC_CHAR_CODE_TABLE_P): New macro.
472         (struct Lisp_Char_Code_Table): New structure.
473
474 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
475
476         * mule-charset.c (Fmake_charset): Setup byte_offset for
477         {94|96}^n-set.
478
479 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
480
481         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
482         character.
483
484 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
485
486         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
487         is found.
488
489 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
490
491         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
492         charset, it is regarded as a charset.
493         (put_char_attribute): New function in UTF-2000.
494         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
495         charset, mapping-table of the charset is modified.
496         (Fdefine_char): New function in UTF-2000.
497         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
498         `Fput_char_attribute'.
499         (syms_of_mule_charset): Add new function `define-char' and new
500         symbol `ucs' in UTF-2000.
501         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
502
503 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
504
505         * mule-charset.c (Fcharset_name): Define `byte_offset' in
506         non-UTF-2000 configuration.
507
508 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
509
510         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
511         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
512
513         * mule-charset.c (mark_charset): `cs->encoding_table' has been
514         deleted.
515         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
516         (Fset_charset_mapping_table): Likewise.
517
518         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
519         (CHARSET_ENCODING_TABLE): Delete.
520         (XCHARSET_ENCODING_TABLE): Delete.
521         (charset_code_point): New interface.
522
523 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
524
525         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
526         instead of `charset_get_byte1' and `charset_get_byte2'.
527
528         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
529         (charset_get_byte2): Deleted.
530
531 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
532
533         * char-ucs.h (SPLIT_CHAR): New inline function.
534         (breakup_char_1): Use `SPLIT_CHAR'.
535
536         * mule-charset.c (range_charset_code_point): New function.
537         (charset_code_point): New function.
538
539         * char-ucs.h (range_charset_code_point): New interface.
540         (breakup_char_1): Use `range_charset_code_point'.
541
542 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
543
544         * mule-charset.c (Fmake_charset): Delete unused local variable
545         `code_offset'.
546
547         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
548         (breakup_char_1): Find a charset and code-point in
549         `Vcharacter_attribute_table'.
550
551 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
552
553         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
554         to 0.10 (Yao).
555
556 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
557
558         * mule-charset.c (Vcharacter_attribute_table): New variable.
559         (Fchar_attribute_alist): New function.
560         (Fget_char_attribute): New function.
561         (Fput_char_attribute): New function.
562         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
563         too.
564         (syms_of_mule_charset): Add new function `char-attribute-alist',
565         `get-char-attribute' and `put-char-attribute'.
566         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
567
568 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
569
570         * mule-charset.c (Fmake_charset): Just use
571         `get_unallocated_leading_byte'.
572
573         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
574         sets; don't use final-byte based number for private sets.
575
576 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
577
578         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
579         integer.
580
581 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
582
583         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
584         to 0.9.
585
586 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
587
588         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
589         of `CHAR_LEADING_BYTE' in UTF-2000.
590
591         * insdel.c (find_charsets_in_bufbyte_string): Use
592         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
593         (find_charsets_in_emchar_string): Likewise.
594
595         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
596         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
597
598         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
599         (CHAR_CHARSET_ID): New macro.
600
601 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
602
603         * chartab.c (get_char_table): Don't use type `Charset_ID' for
604         charset-id - MIN_LEADING_BYTE.
605         (put_char_table): Likewise.
606
607 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
608
609         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
610         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
611         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
612         (CHARSET_ID_OFFSET): New macro.
613         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
614         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
615         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
616         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
617         4).
618         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
619         5).
620         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
621         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
622         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
623         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
624         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
625
626 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
627
628         * mule-charset.c (next_allocated_leading_byte): New variable in
629         UTF-2000.
630         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
631         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
632         (get_unallocated_leading_byte): Simply use
633         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
634         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
635         UTF-2000.
636
637         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
638         (MAX_LEADING_BYTE_PRIVATE): New macro.
639         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
640         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
641
642 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
643
644         * mule-charset.c (Fmake_charset): Allocate final-byte based
645         charset-id for 94-set, 96-set and 94x94-set.
646
647 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
648
649         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
650         ambiguous `else'.
651         (Fmake_charset): Likewise.
652         (complex_vars_of_mule_charset): Modify the font registry of
653         `ucs-bmp' not to match `Ethiopic-Unicode'.
654
655 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
656
657         * mule-charset.c (complex_vars_of_mule_charset): Add font
658         registory of `ucs-bmp'.
659
660 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
661
662         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
663         coded-charsets in `default-coded-charset-priority-list' when
664         breaking up a character.
665
666         * mule-charset.c (Vcharset_latin_viscii): New variable.
667         (Qlatin_viscii): New variable.
668         (make_charset): Don't use `decoding_table'.
669         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
670         byte_offset.
671         (Fset_charset_mapping_table): New implementation.
672         (syms_of_mule_charset): Add new symbol `latin-viscii'.
673         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
674         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
675         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
676         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
677         charset `latin_viscii'.
678
679         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
680         (CHARSET_TYPE_94X94): Change to 1 from 2.
681         (CHARSET_TYPE_96): Change to 2 from 1.
682         (CHARSET_TYPE_128): New macro.
683         (CHARSET_TYPE_128X128): Change to 5 from 4.
684         (CHARSET_TYPE_256): New macro.
685         (CHARSET_TYPE_256X256): Change to 7 from 5.
686         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
687
688 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
689
690         * text-coding.c (char_encode_shift_jis): Refer
691         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
692         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
693
694         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
695         (char_byte_table_equal): New function in UTF-2000.
696         (char_byte_table_hash): New function in UTF-2000.
697         (char_byte_table_description): New constant in UTF-2000.
698         (char_byte_table): New type in UTF-2000.
699         (make_char_byte_table): New function in UTF-2000.
700         (copy_char_byte_table): New function in UTF-2000.
701         (make_char_code_table): New macro in UTF-2000.
702         (get_char_code_table): New function in UTF-2000.
703         (put_char_code_table): New function in UTF-2000.
704         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
705         (charset_description): Add setting in UTF-2000.
706         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
707         `CHARSET_TO_BYTE1_TABLE(cs)'.
708         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
709         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
710         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
711         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
712         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
713         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
714         `CHARSET_TO_BYTE2_TABLE(cs)'.
715
716         * char-ucs.h (char_byte_table): New type.
717         (XCHAR_BYTE_TABLE): New macro.
718         (XSETCHAR_BYTE_TABLE): New macro.
719         (CHAR_BYTE_TABLE_P): New macro.
720         (GC_CHAR_BYTE_TABLE_P): New macro.
721         (struct Lisp_Char_Byte_Table): New structure.
722         (get_char_code_table): New interface.
723         (Emchar_to_byte_table): Deleted.
724         (get_byte_from_character_table): Deleted.
725         (struct Lisp_Charset): Add `encoding_table'; delete
726         `to_byte1_table' and `to_byte2_table'.
727         (CHARSET_ENCODING_TABLE): New macro.
728         (CHARSET_TO_BYTE1_TABLE): Deleted.
729         (CHARSET_TO_BYTE2_TABLE): Deleted.
730         (XCHARSET_ENCODING_TABLE): New macro.
731         (XCHARSET_TO_BYTE1_TABLE): Deleted.
732         (XCHARSET_TO_BYTE2_TABLE): Deleted.
733
734 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
735
736         * mule-charset.c (syms_of_mule_charset): Delete charset alias
737         `vietnamese-viscii-*'.
738
739 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
740
741         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
742         (Qvietnamese_viscii_upper): New variable.
743         (Fdefine_charset_alias): New function.
744         (syms_of_mule_charset): Add new function `define-charset-alias'.
745         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
746         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
747         `latin-viscii-*'.
748
749 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
750
751         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
752         (MAX_CHAR_OBS_94x94): New macro.
753         (breakup_char_1): Support obsolete XEmacs-UCS private code space
754         for 94x94 sets.
755
756         * mule-charset.c (put_byte_from_character_table): Change unit size
757         from 128 to 256.
758         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
759         not defined.
760         (Fmake_reverse_direction_charset): Modify dummy argument of
761         `make_charset' for non-UTF-2000 environment.
762
763 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
764
765         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
766
767         * mule-charset.c (destroy_byte_from_character_table): New macro.
768         (latin_jisx0201_to_ucs): Deleted.
769         (latin_iso8859_2_to_ucs): Deleted.
770         (latin_iso8859_3_to_ucs): Deleted.
771         (latin_iso8859_4_to_ucs): Deleted.
772         (latin_iso8859_9_to_ucs): Deleted.
773         (latin_viscii_lower_to_ucs): Deleted.
774         (latin_viscii_upper_to_ucs): Deleted.
775         (mark_charset): Mark `cs->decoding_table'.
776         (Fcharset_mapping_table): Fix DOC-string.
777         (Fset_charset_mapping_table): New function.
778         (syms_of_mule_charset): Add nwe function
779         `set-charset-mapping-table'.
780         (complex_vars_of_mule_charset): Don't setup and use
781         `latin_*_to_ucs'.
782
783 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
784
785         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
786         charset.
787
788 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
789
790         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
791         (Vcharset_katakana_jisx0208): New variable.
792         (Qhiragana_jisx0208): New variable.
793         (Qkatakana_jisx0208): New variable.
794         (make_charset): Add new argument `byte_offset'.
795         (charset_get_byte1): Modify for new coded-charset definition; use
796         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
797         `XCHARSET_BYTE_OFFSET'.
798         (Fmake_charset): Modify for `make_charset'.
799         (Fmake_reverse_direction_charset): Likewise.
800         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
801         `katakana-jisx0208'.
802         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
803         `.'  in font registry of charset `katakana-jisx0201',
804         `latin-jisx0201', `vietnamese-viscii-lower' and
805         `vietnamese-viscii-upper'; modify DOC-string of charset
806         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
807         registry of charset `japanese-jisx0208' not to use font for JIS
808         X0208:1990; add new charset `hiragana-jisx0208' and
809         `katakana-jisx0208'.
810
811         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
812         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
813         (struct Lisp_Charset): Add `byte_offset'.
814         (CHARSET_BYTE_OFFSET): New macro.
815         (XCHARSET_UCS_MIN): New macro.
816         (XCHARSET_UCS_MAX): New macro.
817         (XCHARSET_CODE_OFFSET): New macro.
818         (XCHARSET_BYTE_OFFSET): New macro.
819         (MIN_CHAR_HIRAGANA): New macro.
820         (MAX_CHAR_HIRAGANA): New macro.
821         (MIN_CHAR_KATAKANA): New macro.
822         (MAX_CHAR_KATAKANA): New macro.
823         (MAKE_CHAR): Modify for new coded-charset definition; use
824         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
825         `XCHARSET_BYTE_OFFSET'.
826
827 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
828
829         * mule-charset.c (CHAR96): Deleted.
830         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
831         <Lisp_Object>.
832         (latin_iso8859_2_to_ucs): Likewise.
833         (latin_iso8859_3_to_ucs): Likewise.
834         (latin_iso8859_4_to_ucs): Likewise.
835         (latin_iso8859_9_to_ucs): Likewise.
836         (latin_viscii_lower_to_ucs): Likewise.
837         (latin_viscii_upper_to_ucs): Likewise.
838         (latin_tcvn5712_to_ucs): Commented out.
839         (make_charset): Change type of argument `decoding_table' from
840         <Emchar*> to <Lisp_Object> [vector of characters].
841         (Fmake_charset): Modify for `make_charset'.
842         (Fmake_reverse_direction_charset): Likewise.
843         (Fcharset_mapping_table): New function in UTF-2000.
844         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
845         UTF-2000.
846         (complex_vars_of_mule_charset): Modify for type change of
847         `*_to_ucs'; modify for `make_charset'.
848
849         * char-ucs.h (struct Lisp_Charset): Change type of
850         `decoding_table' from <Emchar*> to <Lisp_Object>.
851         (MAKE_CHAR): Modify for new specification of `decoding_table'.
852
853 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
854
855         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
856         error with non-UTF-2000-Mule.
857
858 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
859
860         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
861         in lisp again].
862         (Vcharset_chinese_cns11643_4): Likewise.
863         (Vcharset_chinese_cns11643_5): Likewise.
864         (Vcharset_chinese_cns11643_6): Likewise.
865         (Vcharset_chinese_cns11643_7): Likewise.
866         (Qchinese_cns11643_3): Likewise.
867         (Qchinese_cns11643_4): Likewise.
868         (Qchinese_cns11643_5): Likewise.
869         (Qchinese_cns11643_6): Likewise.
870         (Qchinese_cns11643_7): Likewise.
871         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
872         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
873         and `chinese-cns11643-7' to lisp/mule/chinese.el.
874         (complex_vars_of_mule_charset): Likewise.
875
876 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
877
878         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
879         96-set.
880         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
881         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
882
883 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
884
885         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
886         0xFF60.
887         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
888         (breakup_char_1): Likewise.
889
890         * text-coding.c (char_encode_iso2022): Keep designated charsets if
891         one of them includes the specified character.
892
893 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
894
895         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
896
897 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
898
899         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
900
901 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
902
903         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
904         definition for non-UTF-2000 Mule.
905         (latin_iso8859_3_to_ucs): Likewise.
906         (latin_iso8859_4_to_ucs): Likewise.
907         (latin_iso8859_9_to_ucs): Likewise.
908         (latin_jisx0201_to_ucs): Likewise.
909         (MIN_CHAR_THAI): Likewise.
910         (MAX_CHAR_THAI): Likewise.
911         (MIN_CHAR_GREEK): Likewise.
912         (MAX_CHAR_GREEK): Likewise.
913         (MIN_CHAR_HEBREW): Likewise.
914         (MAX_CHAR_HEBREW): Likewise.
915         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
916         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
917         (MIN_CHAR_CYRILLIC): Likewise.
918         (MAX_CHAR_CYRILLIC): Likewise.
919
920 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
921
922         * char-ucs.h (breakup_char_1): Use
923         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
924         thai-tis620 and katakana-jisx0201 area.
925
926 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
927
928         * char-ucs.h (breakup_char_1): Use
929         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
930         area.
931
932         * text-coding.c (reset_encoding_stream): Fixed.
933         (char_encode_ucs4): Delete `& 255'.
934
935         * char-ucs.h (breakup_char_1): Use
936         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
937
938 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
939
940         * file-coding.c (Fmake_coding_system): Don't set up
941         `codesys->fixed.size'.
942         (encode_coding_no_conversion): Don't refer
943         `str->codesys->fixed.size'.
944
945 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
946
947         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
948         (latin_a_char_to_byte1): Deleted.
949         (latin_a_char_to_byte2): Deleted.
950
951 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
952
953         * mule-charset.c (make_charset): Add new argument `ucs_min',
954         `ucs_max' and `code_offset'.
955         (charset_get_byte1): New implementation [delete specific charset
956         depended implementations].
957         (Fmake_charset): Modify for `make_charset'.
958         (Fmake_reverse_direction_charset): Likewise.
959         (complex_vars_of_mule_charset): Likewise.
960
961         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
962         `code_offset'.
963         (CHARSET_UCS_MIN): New macro.
964         (CHARSET_UCS_MAX): New macro.
965         (CHARSET_CODE_OFFSET): New macro.
966         (MAKE_CHAR): Delete charset depended definitions [except
967         katakana-jisx0201].
968
969 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
970
971         * char-ucs.h (breakup_char_1): Use
972         `Vdefault_coded_charset_priority_list' for C0-Controls,
973         Basic-Latin, C1-Controls and Latin-1-Supplement area.
974
975 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
976
977         * char-ucs.h (charset_get_byte1): New function.
978         (XCHARSET_GET_BYTE1): Deleted.
979         (charset_get_byte2): New function.
980         (XCHARSET_GET_BYTE2): Deleted.
981         (Vdefault_coded_charset_priority_list): New external variable.
982         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
983         `Vdefault_preferred_coded_charset_list'.
984
985         * mule-charset.c (charset_get_byte1): New function.
986         (charset_get_byte2): New function.
987         (Vdefault_coded_charset_priority_list): New variable.
988         (vars_of_mule_charset): Add new variable
989         `default-coded-charset-priority-list'.
990
991 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
992
993         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
994         (XCHARSET_GET_BYTE2): New inline function.
995         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
996         `XCHARSET_GET_BYTE2'.
997
998 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
999
1000         * mule-charset.c (make_charset): Initialize
1001         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
1002         NULL if table is not defined.
1003
1004 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1005
1006         * text-coding.c (char_encode_shift_jis): Use
1007         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
1008         `ucs_to_latin_jisx0201'.
1009
1010         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
1011         (ucs_to_latin_iso8859_2): Deleted.
1012         (ucs_to_latin_iso8859_3): Deleted.
1013         (ucs_to_latin_iso8859_4): Deleted.
1014         (ucs_to_latin_iso8859_9): Deleted.
1015         (ucs_to_latin_viscii_lower): Deleted.
1016         (ucs_to_latin_viscii_upper): Deleted.
1017         (ucs_to_latin_tcvn5712): Deleted.
1018         (make_charset): Add new argument `decoding_table'; set up
1019         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
1020         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
1021         `decoding_table' is defined in UTF-2000.
1022         (Fmake_charset): Modify for `make_charset'.
1023         (Fmake_reverse_direction_charset): Likewise.
1024         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
1025         and `GENERATE_96_SET'.
1026
1027         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
1028         (ucs_to_latin_jisx0201): Deleted.
1029         (latin_iso8859_2_to_ucs): Deleted.
1030         (ucs_to_latin_iso8859_2): Deleted.
1031         (latin_iso8859_3_to_ucs): Deleted.
1032         (ucs_to_latin_iso8859_3): Deleted.
1033         (latin_iso8859_4_to_ucs): Deleted.
1034         (ucs_to_latin_iso8859_4): Deleted.
1035         (latin_iso8859_9_to_ucs): Deleted.
1036         (ucs_to_latin_iso8859_9): Deleted.
1037         (latin_viscii_lower_to_ucs): Deleted.
1038         (ucs_to_latin_viscii_lower): Deleted.
1039         (latin_viscii_upper_to_ucs): Deleted.
1040         (ucs_to_latin_viscii_upper): Deleted.
1041         (struct Lisp_Charset): Renamed `encoding_table' to
1042         `to_byte1_table'; add `to_byte2_table'.
1043         (CHARSET_DECODING_TABLE): New macro.
1044         (CHARSET_TO_BYTE1_TABLE): New macro.
1045         (CHARSET_TO_BYTE2_TABLE): New macro.
1046         (XCHARSET_DECODING_TABLE): New macro.
1047         (XCHARSET_TO_BYTE1_TABLE): New macro.
1048         (XCHARSET_TO_BYTE2_TABLE): New macro.
1049         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
1050         tables.
1051         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
1052         don't use `ucs_to_*' tables.
1053
1054 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1055
1056         * text-coding.c (Fmake_coding_system): Don't set up
1057         `codesys->fixed.size'.
1058         (encode_coding_no_conversion): Use `if' instead of `switch'.
1059
1060         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
1061
1062 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1063
1064         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
1065         (Fmake_charset): Modify for `make_charset'.
1066         (Fmake_reverse_direction_charset): Likewise.
1067         (complex_vars_of_mule_charset): Likewise.
1068
1069 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1070
1071         * text-coding.c (char_encode_shift_jis): Use table
1072         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
1073
1074 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1075
1076         * text-coding.c (text_encode_generic): Use `if' instead of
1077         `switch'.
1078         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
1079         decode JIS-Latin.
1080
1081 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1082
1083         * text-coding.c (encode_coding_sjis): Deleted.
1084         (char_encode_shift_jis): New function.
1085         (char_finish_shift_jis): New function.
1086         (reset_encoding_stream): Set up `encode_char' and `finish' for
1087         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
1088         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
1089         (char_encode_utf8): Treat `eol_type'.
1090
1091 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1092
1093         * file-coding.c (decode_coding_iso2022): Use
1094         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
1095
1096 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1097
1098         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1099         to 0.7 (Hirano).
1100
1101 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1102
1103         * char-lb.h (CHAR_COLUMNS): New macro.
1104
1105 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1106
1107         * text-coding.c (char_encode_ucs4): New function.
1108         (char_finish_ucs4): New function.
1109         (encode_coding_ucs4): Deleted.
1110         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
1111         (text_encode_generic): Delete local variable `charset' and `half'.
1112         (ucs_to_mule_table): Deleted.
1113         (mule_to_ucs_table): Deleted.
1114         (Fset_ucs_char): Deleted.
1115         (ucs_to_char): Deleted.
1116         (Fucs_char): Deleted.
1117         (Fset_char_ucs): Deleted.
1118         (Fchar_ucs): Deleted.
1119         (decode_ucs4): Deleted.
1120         (mule_char_to_ucs4): Deleted.
1121         (encode_ucs4): Deleted.
1122         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
1123         (decode_coding_utf8): Likewise.
1124         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
1125         (char_encode_iso2022): Fixed.
1126         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
1127         `Fset_char_ucs' and `Fchar_ucs'.
1128         (complex_vars_of_file_coding): Don't initialize
1129         `ucs_to_mule_table'.
1130
1131         * objects-tty.c (tty_initialize_font_instance): Don't use
1132         `XCHARSET_COLUMNS'.
1133
1134         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
1135         UTF-2000.
1136
1137         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
1138         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1139
1140         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
1141         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1142         (emchar_string_displayed_columns): Likewise.
1143
1144         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
1145         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1146         (string_column_at_point): Likewise.
1147         (Fmove_to_column): Likewise.
1148
1149         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
1150         `encoding_table' and `decoding_table'.
1151         (CHARSET_REP_BYTES): Deleted.
1152         (XCHARSET_REP_BYTES): Deleted.
1153         (XCHARSET_COLUMNS): Deleted.
1154         (CHAR_COLUMNS): New macro.
1155         (lookup_composite_char): Deleted unconditionally.
1156         (composite_char_string): Likewise.
1157
1158 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1159
1160         * char-ucs.h (Emchar_to_byte_table): New type.
1161         (get_byte_from_character_table): New function interface.
1162         (Vcharset_latin_jisx0201): New variable.
1163         (latin_jisx0201_to_ucs): New variable.
1164         (ucs_to_latin_jisx0201): New variable.
1165         (Vcharset_latin_iso8859_2): New variable.
1166         (latin_iso8859_2_to_ucs): New variable.
1167         (ucs_to_latin_iso8859_2): New variable.
1168         (Vcharset_latin_iso8859_3): New variable.
1169         (latin_iso8859_3_to_ucs): New variable.
1170         (ucs_to_latin_iso8859_3): New variable.
1171         (Vcharset_latin_iso8859_4): New variable.
1172         (latin_iso8859_4_to_ucs): New variable.
1173         (ucs_to_latin_iso8859_4): New variable.
1174         (Vcharset_latin_iso8859_9): New variable.
1175         (latin_iso8859_9_to_ucs): New variable.
1176         (ucs_to_latin_iso8859_9): New variable.
1177         (Vcharset_latin_viscii_lower): New variable.
1178         (latin_viscii_lower_to_ucs): New variable.
1179         (ucs_to_latin_viscii_lower): New variable.
1180         (Vcharset_latin_viscii_upper): New variable.
1181         (latin_viscii_upper_to_ucs): New variable.
1182         (ucs_to_latin_viscii_upper): New variable.
1183         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
1184         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
1185         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
1186         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
1187         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
1188         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
1189         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
1190         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
1191         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
1192         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
1193
1194         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
1195         (Vcharset_latin_viscii_upper): New variable.
1196         (make_byte_from_character_table): New function.
1197         (put_byte_from_character_table): New function.
1198         (get_byte_from_character_table): New function.
1199         (CHAR96): New macro.
1200         (ucs_to_latin_jisx0201): New variable.
1201         (latin_jisx0201_to_ucs): New variable.
1202         (ucs_to_latin_iso8859_2): New variable.
1203         (latin_iso8859_2_to_ucs): New variable.
1204         (ucs_to_latin_iso8859_3): New variable.
1205         (latin_iso8859_3_to_ucs): New variable.
1206         (ucs_to_latin_iso8859_4): New variable.
1207         (latin_iso8859_4_to_ucs): New variable.
1208         (ucs_to_latin_iso8859_9): New variable.
1209         (latin_iso8859_9_to_ucs): New variable.
1210         (ucs_to_latin_viscii_lower): New variable.
1211         (latin_viscii_lower_to_ucs): New variable.
1212         (ucs_to_latin_viscii_upper): New variable.
1213         (latin_viscii_upper_to_ucs): New variable.
1214         (ucs_to_latin_tcvn5712): New variable.
1215         (latin_tcvn5712_to_ucs): New variable.
1216         (Qlatin_viscii_lower): New variable.
1217         (Qlatin_viscii_upper): New variable.
1218         (syms_of_mule_charset): Set up new symbol
1219         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
1220         (complex_vars_of_mule_charset): Set up new charset
1221         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
1222         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
1223         `ucs_to_<CHARSET>' tables.
1224
1225 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1226
1227         * text-coding.c: New file.
1228
1229 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1230
1231         * mule-charset.c (Fmake_char): Fix problem of 256-set.
1232
1233         * char-ucs.h (Vcharset_ucs_bmp): New variable.
1234         (MAKE_CHAR): Modify for `ucs-bmp'.
1235         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
1236         non-MULE characters of BMP.
1237
1238 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
1239
1240         * mule-charset.c (vars_of_mule_charset):
1241         Update `utf-2000-version' to 0.6.
1242
1243 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1244
1245         * lstream.h:
1246         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
1247         - Include character.h for `CHAR_ASCII_P'.
1248
1249         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
1250
1251         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
1252         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
1253
1254         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
1255         (BYTE_C0_P): Likewise.
1256         (BYTE_C1_P): Likewise.
1257         (Lstream_get_emchar_1): Likewise.
1258         (Lstream_fput_emchar): Likewise.
1259         (Lstream_funget_emchar): Likewise.
1260         (copy_internal_to_external): Likewise.
1261         (copy_external_to_internal): Likewise.
1262
1263         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
1264         (BYTE_C0_P): Likewise.
1265         (BYTE_C1_P): Likewise.
1266         (Lstream_get_emchar_1): Likewise.
1267         (Lstream_fput_emchar): Likewise.
1268         (Lstream_funget_emchar): Likewise.
1269         (copy_internal_to_external): Likewise.
1270         (copy_external_to_internal): Likewise.
1271
1272         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
1273         (REP_BYTES_BY_FIRST_BYTE): Likewise.
1274
1275         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
1276         (BYTE_ASCII_P): Moved to mb-1byte.h.
1277
1278 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1279
1280         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
1281
1282         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
1283         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
1284         (VALID_CHARPTR_P): Moved to mb-*byte.h.
1285         (VALIDATE_CHARPTR_BACKWARD): Likewise.
1286         (VALIDATE_CHARPTR_FORWARD): Likewise.
1287         (simple_charptr_emchar): Moved to mb-multibyte.h.
1288         (simple_set_charptr_emchar): Likewise.
1289         (simple_charptr_copy_char): Likewise.
1290         (non_ascii_charptr_emchar): Likewise.
1291         (non_ascii_set_charptr_emchar): Likewise.
1292         (non_ascii_charptr_copy_char): Likewise.
1293         (charptr_emchar): Moved to mb-*byte.h.
1294         (set_charptr_emchar): Likewise.
1295         (charptr_copy_char): Likewise.
1296
1297         * mb-1byte.h, mb-multibyte.h: New files.
1298
1299 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1300
1301         * mb-utf-8.h (MULTIBYTE): New macro.
1302         (MAX_EMCHAR_LEN): Moved from buffer.h.
1303         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
1304
1305         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
1306
1307         * mb-lb.h, multibyte.h: New files.
1308
1309         * char-1byte.h (Charset_ID): Moved from buffer.h.
1310         (MIN_LEADING_BYTE): Likewise.
1311         (LEADING_BYTE_ASCII): Likewise.
1312         (NUM_LEADING_BYTES): Likewise.
1313         (CHARSETP): Likewise.
1314         (CHARSET_BY_LEADING_BYTE): Likewise.
1315         (XCHARSET_LEADING_BYTE): Likewise.
1316         (XCHARSET_GRAPHIC): Likewise.
1317         (XCHARSET_COLUMNS): Likewise.
1318         (XCHARSET_DIMENSION): Likewise.
1319         (CHAR_CHARSET): Likewise.
1320         (CHAR_LEADING_BYTE): Likewise.
1321         (BREAKUP_CHAR): Likewise.
1322         (Vcharset_ascii): Likewise.
1323
1324         * buffer.h: Include multibyte.h unconditionally.
1325         (VALID_CHARPTR_P): Moved to multibyte.h.
1326         (ASSERT_VALID_CHARPTR): Likewise.
1327         (REAL_INC_CHARPTR): Likewise.
1328         (REAL_INC_CHARBYTIND): Likewise.
1329         (REAL_DEC_CHARPTR): Likewise.
1330         (INC_CHARPTR): Likewise.
1331         (INC_CHARBYTIND): Likewise.
1332         (DEC_CHARPTR): Likewise.
1333         (VALIDATE_CHARPTR_BACKWARD): Likewise.
1334         (VALIDATE_CHARPTR_FORWARD): Likewise.
1335         (charptr_n_addr): Likewise.
1336         (MAX_EMCHAR_LEN): Moved to mb-*.h.
1337         (simple_charptr_emchar): Moved to multibyte.h.
1338         (simple_set_charptr_emchar): Likewise.
1339         (simple_charptr_copy_char): Likewise.
1340         (non_ascii_charptr_emchar): Likewise.
1341         (non_ascii_set_charptr_emchar): Likewise.
1342         (non_ascii_charptr_copy_char): Likewise.
1343         (charptr_emchar): Likewise.
1344         (set_charptr_emchar): Likewise.
1345         (charptr_copy_char): Likewise.
1346         (charptr_emchar_n): Likewise.
1347         (Charset_ID): Moved to char-1byte.h.
1348         (Vcharset_ascii): Likewise.
1349         (CHAR_CHARSET): Likewise.
1350         (CHAR_LEADING_BYTE): Likewise.
1351         (LEADING_BYTE_ASCII): Likewise.
1352         (NUM_LEADING_BYTES): Likewise.
1353         (MIN_LEADING_BYTE): Likewise.
1354         (CHARSETP): Likewise.
1355         (CHARSET_BY_LEADING_BYTE): Likewise.
1356         (XCHARSET_LEADING_BYTE): Likewise.
1357         (XCHARSET_GRAPHIC): Likewise.
1358         (XCHARSET_COLUMNS): Likewise.
1359         (XCHARSET_DIMENSION): Likewise.
1360         (BREAKUP_CHAR): Likewise.
1361
1362 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1363
1364         * character.h: Add document about interface for characters.
1365
1366         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
1367         (MAKE_CHAR): Delete comment about
1368         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
1369         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
1370         (BREAKUP_CHAR): Modify name of arguments.
1371         (CHAR_CHARSET): Modify name of argument.
1372
1373         * buffer.h: Delete document about Emchar accessors.
1374
1375 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1376
1377         * character.h (CHAR_INTP): Moved from buffer.h
1378         (CHAR_OR_CHAR_INTP): Likewise.
1379         (XCHAR_OR_CHAR_INT): Likewise.
1380         (CHECK_CHAR_COERCE_INT): Likewise.
1381
1382         * buffer.h (CHAR_INTP): Moved to character.h
1383         (CHAR_OR_CHAR_INTP): Likewise.
1384         (XCHAR_OR_CHAR_INT): Likewise.
1385         (CHECK_CHAR_COERCE_INT): Likewise.
1386
1387 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1388
1389         * character.h:
1390         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
1391         - Include char-1byte.h, char-lb.h or char-ucs.h.
1392
1393         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
1394
1395         * buffer.h: Include character unconditionally.
1396         (valid_char_p): Moved to char-*.h.
1397         (non_ascii_valid_char_p): Moved to char-lb.h.
1398
1399         * char-1byte.h, char-lb.h, char-ucs.h: New files.
1400
1401 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1402
1403         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
1404         in UTF-2000 because it is not ported yet and not to use
1405         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
1406         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
1407         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
1408
1409         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
1410         (CHAR_ASCII_P): Moved from character.h.
1411
1412         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
1413         (CHAR_ASCII_P): Likewise.
1414         (CHAR_FIELD1_MASK): Deleted.
1415         (CHAR_FIELD2_MASK): Deleted.
1416         (CHAR_FIELD3_MASK): Deleted.
1417         (MAX_CHAR_BASIC_LATIN): New macro.
1418         (CHAR_FIELD1): Deleted.
1419         (CHAR_FIELD2_INTERNAL): Deleted.
1420         (CHAR_FIELD3_INTERNAL): Deleted.
1421         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
1422         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
1423         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
1424         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
1425         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
1426         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
1427         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
1428         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
1429         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
1430         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
1431         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
1432         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
1433         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
1434         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
1435         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
1436         (MIN_CHAR_COMPOSITION): Deleted.
1437         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
1438         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
1439
1440 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
1441
1442         * buffer.h: Include mb-utf-8.h in UTF-2000.
1443
1444         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
1445
1446         * mb-utf-8.h: New file.
1447
1448 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
1449
1450         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
1451         instead of `int'.
1452
1453         * mule-charset.h, buffer.h (Charset_ID): New type.
1454
1455 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
1456
1457         * mule-canna.c (c2mu): Use `MAKE_CHAR',
1458         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
1459         instead of `MULE_CHAR_PRIVATE_OFFSET',
1460         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
1461         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
1462         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
1463
1464         * character.h (Vcharset_japanese_jisx0212): New variable
1465         definition.
1466
1467 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
1468
1469         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
1470         (charset_by_attributes): Delete array about direction.
1471         (latin_a_char_to_charset): New variable in UTF-2000.
1472         (latin_a_char_to_byte1): New variable in UTF-2000.
1473         (latin_a_char_to_byte2): New variable in UTF-2000.
1474         (Qucs_bmp): New variable.
1475         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
1476         `Bufbyte'.
1477         (next_allocated_2_byte_leading_byte): Likewise.
1478         (non_ascii_set_charptr_emchar): Likewise.
1479         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
1480         `CHARSET_TYPE_256X256' in UTF-2000; modify for
1481         `charset_by_attributes'.
1482         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
1483         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
1484         and `CHARSET_BY_LEADING_BYTE'.
1485         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
1486         `utf-2000-version' to `vars_of_mule_charset'.
1487         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
1488         define `leading-code-private-11' in UTF-2000; move setting of
1489         `utf-2000-version' from `syms_of_mule_charset'.
1490         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
1491         UTF-2000.
1492
1493         * character.h (Charset_ID): New type.
1494         (LEADING_BYTE_UCS_BMP): New macro.
1495         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
1496         (CHARSET_ID_OFFSET_94): New macro.
1497         (MIN_CHARSET_ID_PRIVATE_94): New macro.
1498         (MAX_CHARSET_ID_PRIVATE_94): New macro.
1499         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
1500         final-byte.
1501         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
1502         (LEADING_BYTE_LATIN_JISX0201): Likewise.
1503         (CHARSET_ID_OFFSET_96): New macro.
1504         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
1505         CHARSET_ID_OFFSET_96 and final-byte.
1506         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
1507         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
1508         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
1509         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
1510         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
1511         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
1512         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
1513         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
1514         (LEADING_BYTE_THAI_TIS620): Likewise.
1515         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
1516         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
1517         (CHARSET_ID_OFFSET_94x94): New macro.
1518         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
1519         CHARSET_ID_OFFSET_94x94 and final-byte.
1520         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
1521         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
1522         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
1523         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
1524         (LEADING_BYTE_CHINESE_GB2312): Likewise.
1525         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
1526         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
1527         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
1528         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
1529         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
1530         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
1531         (CHARSET_TYPE_128X128): New macro.
1532         (CHARSET_TYPE_256X256): New macro.
1533         (XCHARSET_PRIVATE_P): Delete unconditionally.
1534         (charset_by_attributes): Delete array about direction.
1535         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
1536         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
1537         (MIN_CHAR_94): New macro.
1538         (MAX_CHAR_94): New macro.
1539         (MIN_CHAR_96): New macro.
1540         (MAX_CHAR_96): New macro.
1541         (MIN_CHAR_94x94): New macro.
1542         (MAX_CHAR_94x94): New macro.
1543         (MIN_CHAR_96x96): New macro.
1544         (MAX_CHAR_96x96): New macro.
1545         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
1546         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
1547         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
1548         - 32)'.
1549         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
1550         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
1551         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
1552         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
1553         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
1554         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
1555         `XCHARSET_LEADING_BYTE' to make code-point.
1556         (latin_a_char_to_charset): New variable.
1557         (latin_a_char_to_byte1): New variable.
1558         (latin_a_char_to_byte2): New variable.
1559         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
1560         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
1561         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
1562
1563         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
1564         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
1565         (find_charsets_in_emchar_string): Likewise.
1566         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
1567
1568         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
1569         `int'.
1570         (decode_coding_iso2022): Likewise.
1571
1572         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
1573         of `unsigned char'.
1574
1575         * redisplay.c (redisplay_text_width_emchar_string): Use
1576         `Charset_ID' instead of `unsigned char'.
1577         (redisplay_frame_text_width_string): Likewise.
1578
1579         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
1580         `unsigned char'.
1581
1582         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
1583         instead of `unsigned char'.
1584         (face_cachel_charset_font_metric_info): Likewise.
1585
1586         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
1587         (get_non_ascii_char_table_value): Likewise.
1588         (get_char_table): Likewise.
1589         (put_char_table): Likewise.
1590         (map_over_other_charset): Likewise.
1591         (map_char_table): Likewise.
1592
1593         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
1594         instead of `unsigned char'.
1595
1596 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
1597
1598         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
1599         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
1600
1601         * mule-charset.c (leading_code_private_11): Don't define in
1602         UTF-2000.
1603
1604         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
1605         in UTF-2000 because it is not ported yet and not to use
1606         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
1607
1608 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
1609
1610         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
1611
1612 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1613
1614         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
1615         in UTF-2000.
1616
1617         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
1618         of unsigned char to store leading-byte.
1619
1620         * chartab.c (get_non_ascii_char_table_value): Don't use
1621         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
1622
1623         * file-coding.c (encode_coding_big5): Delete bogus implementation
1624         in UTF2000.
1625
1626         * character.h (LEADING_BYTE_*): Delete definition for
1627         non-UTF-2000.
1628         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
1629         (LEADING_BYTE_PREFIX_P): Deleted.
1630         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
1631         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
1632         (BUFBYTE_LEADING_BYTE_P): Deleted.
1633         (CHARSET_PRIVATE_P): Deleted unconditionally.
1634         (rep_bytes_by_first_byte): Deleted unconditionally.
1635         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
1636         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
1637         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
1638         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
1639         (CHAR_FIELD2): Deleted.
1640         (CHAR_FIELD3): Deleted.
1641         (MAKE_CHAR): Delete definition for non-UTF-2000.
1642         (BREAKUP_CHAR_1_UNSAFE): Deleted.
1643         (breakup_char_1): New implementation.
1644         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
1645         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
1646
1647 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1648
1649         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
1650         condition.
1651
1652 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1653
1654         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
1655         (CHARSET_PRIVATE_P): Likewise.
1656         (XCHARSET_PRIVATE_P): Likewise.
1657         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
1658
1659         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
1660         UTF2000.
1661         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
1662
1663 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1664
1665         * character.h (LEADING_BYTE_*): Changed in UTF2000.
1666         (NUM_LEADING_BYTES): Changed from 128 to 256.
1667         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
1668         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
1669         UTF2000.
1670         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
1671
1672         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
1673         UTF2000.
1674         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
1675         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
1676         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
1677         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
1678         (Qchinese_cns11643_3): New variable in UTF2000.
1679         (Qchinese_cns11643_4): New variable in UTF2000.
1680         (Qchinese_cns11643_5): New variable in UTF2000.
1681         (Qchinese_cns11643_6): New variable in UTF2000.
1682         (Qchinese_cns11643_7): New variable in UTF2000.
1683         (syms_of_mule_charset): Define `chinese-cns11643-3',
1684         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
1685         and `chinese-cns11643-7' in UTF2000.
1686         (vars_of_mule_charset): Initialize
1687         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
1688         + 1 in UTF2000.
1689         (complex_vars_of_mule_charset): Setup charset
1690         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
1691         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
1692
1693 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1694
1695         * mule-charset.c: Move setting for `leading-code-private-11' from
1696         `syms_of_mule_charset' to `vars_of_mule_charset'.
1697
1698 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1699
1700         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
1701         and `NUM_LEADING_BYTES' in assert.
1702
1703 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1704
1705         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
1706         instead of 128.
1707         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
1708         `NUM_LEADING_BYTES' instead of 128.
1709
1710 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1711
1712         * mule-charset.h (charset_by_leading_byte): Use
1713         `NUM_LEADING_BYTES' instead of 128.
1714         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
1715
1716         * mule-charset.c (charset_by_leading_byte): Use
1717         `NUM_LEADING_BYTES' instead of 128.
1718         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
1719
1720         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
1721         128.
1722
1723 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1724
1725         * mule-charset.c (syms_of_mule_charset): Update to
1726         0.4 (Shin-Imamiya).
1727
1728 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
1729
1730         * file-coding.c (encode_coding_sjis): New implementation for
1731         UTF2000.  (decode_coding_sjis): Ditto.
1732
1733 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1734
1735         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
1736         Don't define in UTF2000.
1737
1738         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
1739         defined.
1740
1741         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
1742         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
1743         MULE.
1744
1745 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1746
1747         * config.h.in (CHAR_IS_UCS4): New macro.
1748
1749         * mule-charset.c (rep_bytes_by_first_byte): Modify for
1750         conventional MULE representation.
1751         (syms_of_mule_charset): Update to 0.3 (Imamiya).
1752
1753         * mule-charset.h: Reverted to original.
1754
1755         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
1756         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
1757         "mule-charset.h" if CHAR_IS_UCS4 is defined.
1758
1759         * character.h: New file.
1760
1761         * file-coding.c (Fmake_coding_system): Set 1 to
1762         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
1763         defined.
1764         (encode_coding_no_conversion): New implementation for UTF2000.
1765
1766         * file-coding.h (struct Lisp_Coding_System): Add new member
1767         `fixed.size'.
1768
1769 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
1770
1771         * file-coding.c (decode_coding_iso2022): Code-point arguments of
1772         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
1773         (encode_coding_iso2022): New implementation for UTF2000.
1774
1775 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1776
1777         * mule-canna.c (c2mu): New implementation for UTF2000.
1778         (m2c): Likewise.
1779
1780 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1781
1782         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
1783
1784 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1785
1786         * file-coding.c (reset_encoding_stream): Set 0 to
1787         `str->iso2022.current_char_boundary' in UTF2000.
1788         (encode_utf8): Don't define in UTF2000.
1789         (encode_coding_utf8): New implementation for UTF-8 representation
1790         of UTF2000.
1791         (complex_vars_of_file_coding): Define coding-system `utf-8'.
1792
1793 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1794
1795         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
1796
1797         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
1798         UTF2000.
1799         (REP_BYTES_BY_FIRST_BYTE): Likewise.
1800
1801         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
1802
1803         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
1804         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
1805         as UTF-8 in UTF2000.
1806         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
1807         (non_ascii_valid_char_p): Don't define in UTF2000.
1808         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
1809         (Lstream_get_emchar_1): Likewise.
1810         (utf-2000-version): New variable in UTF2000.
1811
1812         * lread.c (read_escape): Add new reader `u'.
1813
1814         * insdel.c (three_to_one_table): Don't define in UTF2000.
1815         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
1816         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
1817         UTF2000.
1818         (bytind_to_bufpos_func): Likewise.
1819         (buffer_mule_signal_inserted_region): Likewise.
1820         (vars_of_insdel): Don't initialize `three_to_one_table'.
1821         (init_buffer_text): Use `buf->text->mule_size' instead of
1822         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
1823         UTF2000.
1824
1825         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
1826         UTF-8 representation in UTF2000.
1827         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
1828         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
1829         (decode_coding_iso2022): Don't define local variable `lb' in
1830         UTF2000; don't use LEADING_BYTE in UTF2000; use
1831         `DECODE_ADD_UCS_CHAR' in UTF2000.
1832         (convert_to_external_format): Decode as UTF-8 in UTF2000.
1833
1834         * config.h.in (UTF2000): New macro.
1835
1836         * buffer.h (struct buffer_text): Add new member `mule_size' and
1837         don't add `mule_shifter' and `mule_three_p' in UTF2000.
1838         (valid_char_p): Return always 1 in UTF2000.
1839         (MAX_EMCHAR_LEN): 6 in UTF2000.
1840         (three_to_one_table): Don't define in UTF2000.
1841         (real_bufpos_to_bytind): Modify for UTF-8 representation in
1842         UTF2000.
1843         (real_bytind_to_bufpos): Likewise.
1844
1845         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
1846
1847 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1848
1849         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
1850         representation change.
1851         (Vutf_2000_version): New variable.
1852         (leading_code_private_11): New variable.
1853         (syms_of_mule_charset): Add new variables `utf-2000-version' and
1854         `leading-code-private-11'.
1855
1856         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
1857         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
1858         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
1859         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
1860         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
1861         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
1862         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
1863         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
1864         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
1865         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
1866         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
1867         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
1868         (MIN_CHAR_GREEK): New macro.
1869         (MAX_CHAR_GREEK): New macro.
1870         (MIN_CHAR_CYRILLIC): New macro.
1871         (MAX_CHAR_CYRILLIC): New macro.
1872         (MIN_CHAR_HEBREW): New macro.
1873         (MAX_CHAR_HEBREW): New macro.
1874         (MIN_CHAR_THAI): New macro.
1875         (MAX_CHAR_THAI): New macro.
1876         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
1877         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
1878         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
1879         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
1880         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
1881         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
1882         (CHAR_FIELD2): New inline function.
1883         (CHAR_FIELD3): New inline function.
1884         (MULE_CHAR_PRIVATE_OFFSET): New macro.
1885         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
1886         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
1887         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
1888         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
1889         (MIN_CHAR_COMPOSITION): Likewise.
1890         (CHAR_LEADING_BYTE): Modified for character representation change.
1891         (MAKE_CHAR): Likewise.
1892
1893         * lisp.h (Vcharset_latin_iso8859_1): New variable.
1894         (Vcharset_greek_iso8859_7): Likewise.
1895         (Vcharset_cyrillic_iso8859_5): Likewise.
1896         (Vcharset_hebrew_iso8859_8): Likewise.
1897         (Vcharset_thai_tis620): Likewise.
1898         (Vcharset_katakana_jisx0201): Likewise.
1899
1900 2000-02-07  Martin Buchholz <martin@xemacs.org>
1901
1902         * XEmacs 21.2.28 is released.
1903
1904 2000-02-06  Martin Buchholz  <martin@xemacs.org>
1905
1906         * event-Xt.c (x_keysym_to_character): New.
1907         (maybe_define_x_key_as_self_inserting_character): New.
1908         (x_has_keysym): New.
1909         Auto-define all keys on the keyboard as self-insert-key.
1910
1911 2000-02-02  Martin Buchholz  <martin@xemacs.org>
1912
1913         * menubar.c (vars_of_menubar): A small code simplification.
1914
1915         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
1916
1917         * ExternalShell.c: 
1918         * ExternalClient.c: 
1919         * EmacsShell-sub.c: 
1920         * EmacsManager.c: 
1921         * EmacsFrame.c: 
1922         Use consistent style for specifying X resources.
1923
1924         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
1925         This makes (dontusethis-set-symbol-value-handler) actually usable.
1926
1927         * lrecord.h (lrecord_decription_type):
1928         * alloc.c (pdump_register_sub): 
1929         (pdump_dump_data): 
1930         (pdump_reloc_one): 
1931         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
1932         Comply with XEmacs coding style.
1933         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
1934         args, and XD_LISP_OBJECT_ARRAY with 3 args.
1935
1936         * keymap.c (Faccessible_keymaps): 
1937         Make (accessible-keymaps map "\C-h") do the Right Thing.
1938         Make (accessible-keymaps map []) do the Right Thing.
1939         Make (accessible-keymaps map "") do the Right Thing.
1940         (check_keymap_definition_loop): New function.
1941         (keymap_store_internal): Keep luser from shooting self in foot,
1942           via (define-key ctl-x-4-map "p" global-map).
1943         Remove fullness slot from struct Lisp_Keymap, since hash tables
1944         are now reliable.
1945         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
1946
1947 2000-01-30  Martin Buchholz  <martin@xemacs.org>
1948
1949         * redisplay.c (init_redisplay): Fix small memory leak.
1950         * elhash.h: 
1951         * elhash.c (pdump_reorganize_hash_table): 
1952         Rename from reorganize_hash_table. Change prototype.
1953         Reuse the original memory for hentries.  Save 100k.
1954         * alloc.c (PDUMP_READ): new macro.
1955         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
1956         * alloc.c: No need to #ifndef before #undef.
1957
1958         * print.c: Allow debug_print() to print readably by modifying
1959         debug_print_readably.  Use consistent variable names.
1960
1961         * .dbxrc: Try to get things to work even if stopped in a function
1962         without source available by explicitly specifying source files.
1963 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1964
1965         * unexnt.c (_start): Removed bogus code which caused loading heap
1966         from differrent executable file.
1967         Removed bogus assignment to _fmode, which caused inconsistencies.
1968
1969 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
1970
1971         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
1972         Have spawnve encapsulation regard DONT_ENCAPSULATE.
1973         Do not preliminary `#define signal sigset'.
1974
1975         * systime.h: Do not prototype environ on windows nt and cygwin,
1976         this conflicts with system header.
1977
1978         * syssignal.h: Use correct define for WINDOWSNT
1979
1980         * sysdep.h: Do not prototype environ on windows nt, this conflicts
1981         with system header.
1982
1983         * sysdep.c (near start of file): Fixed commentary and rearranged
1984         ifdefs in readable order.
1985         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
1986         (start_of_text):
1987         (end_of_text): 
1988         (end_of_data): Do not compile in if using PDUMP.
1989
1990         * symsinit.h: Protptyped vars_of_nt().
1991
1992         * ntproc.c (windows9x_p): Added, instead of os_subtype.
1993         (find_child_console): Use it.
1994         (sys_kill): Use it.
1995
1996         * ntheap.h: Do not extern os_subtype.
1997
1998         * ntheap.c (cache_system_info): Do not cache unneeded:
1999         nt_major_version, nt_minor_version and os_subtype.
2000         (recreate_heap): Do not compile in when PDUMPing.
2001
2002         * nt.c (geteuid and friends): Use the new varibale
2003         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
2004         (init_user_info): Removed the above mentioned hackery.
2005         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
2006         stat has been fixed in the C runtime.
2007         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
2008         
2009         * file-coding.c (struct file_coding_dump): Do not define
2010         ucs_to_mule_table in the struct if not MULE.
2011         (struct struct lrecord_description fcd_description_1): Do not dump
2012         the above.
2013
2014         * emacs.c (main_1): Call vars_of_nt().
2015         (right before Fdump_emacs_data): Don't need lastfile if using both
2016         portabe dumper and system malloc.
2017
2018         * alloc.c (Fmemory_limit): Conditionalized out.
2019         (pdump): Use OPEN_BINARY for the portable dump file.
2020         (pdump_load): Ditto.
2021
2022 2000-02-02  Mike Alexander  <mta@arbortext.com>
2023
2024         * nt.c (convert_time): Set tm_isdst before calling mktime and
2025         avoid calling it at all if the compiler supports 64 bit integers.
2026         Also initialize utc_base_ft before using it.
2027
2028 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
2029
2030         * frame.c (change_frame_size_1): Take f->internal_border_width
2031         into consideration when calculating the width of the frame.
2032
2033 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2034
2035         * window.c (frame_min_height):
2036         (frame_size_valid_p):
2037         (frame_pixsize_valid_p): Added.
2038         (check_frame_size): Generalized.
2039
2040         * window.h: Prototyped the above.
2041
2042         * lisp.h:
2043         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
2044         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
2045         Deleted Vwin32_* and Vbinary_process_* unused variables.
2046
2047         * device-msw.c (msprinter_init_device): Do not get printer font
2048         list; Added DEVMODE functions.
2049
2050         * frame-msw.c: Added lots of printer code.
2051
2052         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
2053         general.c.
2054
2055         * console-msw.h: Added more msprinter device private slots.     
2056
2057 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2058
2059         * event-msw.c (key_needs_default_processing_p): Added.
2060         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
2061
2062 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2063
2064         * glyphs.c (image_instance_layout): Mark image instance as clean
2065         after layout.
2066         (glyph_dirty_p): Removed redundant function.
2067         (invalidate_glyph_geometry_maybe): Added.
2068         (update_glyph_cachel_data): Call it.
2069
2070         * glyphs.h: Prototyped it.
2071
2072         * redisplay.c (add_glyph_rune): Call it.
2073         (redisplay_window): Reset glyphs cachels when frame faces has
2074         changed, thus forcing recomputation of built-in border glyphs.
2075
2076 2000-01-30  Martin Buchholz  <martin@xemacs.org>
2077
2078         * Makefile.in.in: Make portable dumper and purify play well together.
2079         Add imperfect, but better than nothing, support for pdump.
2080         Remove xemacs.dmp when temacs is re-generated.
2081         Don't ignore errors when dumping xemacs.
2082
2083         * symbols.c (maybe_call_magic_handler): Remove one magic number.
2084
2085 2000-01-28  Andy Piper  <andy@xemacs.org>
2086
2087         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
2088         (setup_normal_frame): ditto.
2089         (setup_frame_without_minibuffer): ditto.
2090         (setup_minibuffer_frame): ditto.
2091         (delete_frame_internal): ditto.
2092         (Fmake_frame_invisible): ditto.
2093         (Ficonify_frame): ditto.
2094
2095         * window.h: change Fset_window_buffer signature.
2096
2097         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
2098         (Fset_window_buffer): allow recording of buffer if the window is
2099         the selected window.
2100         (window_loop): Use new Fset_window signature.
2101
2102 2000-01-23  Daniel Pittman  <daniel@danann.net>
2103
2104         * config.h.in: Added template for `HAVE_ATHENA_3D'
2105
2106 2000-01-29  Andy Piper  <andy@xemacs.org>
2107
2108         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
2109
2110         * gutter.c (output_gutter): Don't output if the window isn't live.
2111
2112 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2113
2114         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
2115         of 01/12/00: Moved SetFocus back here where it belongs.
2116
2117 2000-01-23  Andy Piper  <andy@xemacs.org>
2118
2119         * s/cygwin32.h: declare printer things.
2120
2121 2000-01-26  Andy Piper  <andy@xemacs.org>
2122
2123         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
2124         Alexander.
2125
2126 2000-01-24  Andy Piper  <andy@xemacs.org>
2127
2128         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
2129         (mswindows_button_instantiate): Make sure glyph is a pixmap.
2130
2131         * glyphs-widget.c (widget_instantiate): Avoid shadows.
2132
2133         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
2134
2135         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
2136
2137         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
2138         (mswindows_output_display_block): Avoid local shadows.
2139
2140         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
2141         (mswindows_enqueue_mouse_button_event): ditto.
2142         (mswindows_handle_gui_wm_command): remove declaration.
2143
2144         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
2145         warnings.
2146
2147         * console-msw.h: Avoid shadows.
2148         (mswindows_get_toolbar_button_text):
2149         (emacs_mswindows_create_stream_pair):
2150         (emacs_mswindows_delete_stream_pair):
2151         (mswindows_handle_toolbar_wm_command): declare.
2152
2153         * device-msw.c (build_syscolor_string): Avoid shadows.
2154
2155 2000-01-23  Andy Piper  <andy@xemacs.org>
2156
2157         * glyphs-widget.c (widget_instantiate): reverse the items for
2158         layouts so that children are in the expected order.
2159
2160 2000-01-28  Martin Buchholz  <martin@xemacs.org>
2161
2162         * ralloc.c: safe_bcopy ==> memmove
2163         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
2164         * s/msdos.h: Remove BCOPY macros.
2165         * insdel.c (gap_right): Remove BCOPY conditional code.
2166         * insdel.c (gap_left): Remove BCOPY conditional code.
2167         XEmacs demands a working ANSI C compiler - hence memmove.
2168
2169         * regex.c (regex_compile): Remove accidental use of trigraphs.
2170
2171 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2172
2173         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
2174         event timestamp.
2175
2176 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2177
2178         * event-msw.c (mswindows_drain_windows_queue): Added the
2179         parameter.
2180         (mswindows_need_event): Commented the call to
2181         mswindows_drain_windows_queue().
2182         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
2183         only.
2184
2185         * console-msw.h: Moved a few function prototypes here from
2186         event-msw.c. 
2187
2188         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
2189         parameter from unsigned short to unsigned long.
2190         (Fmswindows_shell_execute): Added return value.
2191
2192 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
2193
2194         * sysdep.c (init_system_name): 
2195           process-unix.c (unix_canonicalized_host_name): 
2196         Don't call freeaddrinfo() if getaddrinfo() fails.
2197
2198         * process-unix.c (unix_open_unix_network_stream):
2199         Moved the code to get a port # into address loop.
2200
2201 2000-01-27  Martin Buchholz  <martin@xemacs.org>
2202
2203         * buffer.c (reinit_vars_of_buffer): 
2204         The right place to initialize conversion_in_dynarr and
2205         conversion_out_dynarr.
2206
2207         * alloc.c (pdump): Use the real open() till sys_open() is functional.
2208
2209         * process-unix.c (unix_canonicalize_host_name): Muleize.
2210         (unix_open_network_stream): Muleize.
2211
2212         * buffer.h: Fix up prototypes for ralloc.c functions.
2213
2214 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
2215         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
2216         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
2217                 instead of gethostbyname()
2218         * process-unix.c: In unix_canonicalize_host_name() and
2219                 unix_open_network_stream(), add code to use getaddrinfo()
2220                 instead of gethostbyname().
2221
2222 2000-01-27  Daniel Pittman <daniel@danann.net>
2223
2224         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
2225         libs when built with flat Athena.
2226
2227 2000-01-27  Martin Buchholz  <martin@xemacs.org>
2228
2229         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
2230         Use coding standards for function prototypes.
2231
2232 2000-01-25  Martin Buchholz  <martin@xemacs.org>
2233
2234         * dialog-msw.c (push_lisp_string_as_unicode):
2235         * doc.c (unparesseuxify_doc_string):
2236         * dired.c (Fuser_name_completion_1):
2237         * dired.c (Fuser_name_all_completions):
2238         * dired.c (free_user_cache):
2239         * dired.c (user_name_completion):
2240         * console-x.c (get_display_arg_connection):
2241         * minibuf.c (clear_echo_area_internal):
2242         * minibuf.c (echo_area_append):
2243         * eldap.c (Fldap_open):
2244         * eldap.c (Fldap_search_internal):
2245         * frame-x.c (x_set_frame_text_value):
2246         * frame-x.c (x_set_frame_properties):
2247         * frame-x.c (x_create_widgets):
2248         * redisplay-tty.c (term_get_fkeys_1):
2249         * objects-x.c (x_parse_nearest_color):
2250         * objects-x.c (x_valid_color_name_p):
2251         * objects-x.c (x_initialize_font_instance):
2252         * objects-x.c (x_list_fonts):
2253         * objects-x.c (x_find_charset_font):
2254         * tooltalk.c (Fadd_tooltalk_message_arg):
2255         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
2256         * tooltalk.c (Fadd_tooltalk_pattern_arg):
2257         * process-unix.c (unix_create_process):
2258         * ntproc.c (sys_spawnve):
2259         * sound.c (Fplay_sound_file):
2260         * sound.c (Fplay_sound):
2261         * buffer.c (init_initial_directory):
2262         * buffer.c (init_buffer):
2263         * editfns.c (init_editfns):
2264         * editfns.c (Ftemp_directory):
2265         * editfns.c (Fuser_full_name):
2266         * editfns.c (uncache_home_directory):
2267         * editfns.c (get_home_directory):
2268         * editfns.c (Fuser_home_directory):
2269         * editfns.c (Fformat_time_string):
2270         * editfns.c (Fcurrent_time_string):
2271         * gui-x.c (button_item_to_widget_value):
2272         * database.c (Fopen_database):
2273         * event-Xt.c (x_to_emacs_keysym):
2274         * event-Xt.c (x_event_to_emacs_event):
2275         * event-Xt.c (describe_event_window):
2276         * event-msw.c (mswindows_wnd_proc):
2277         * glyphs-eimage.c (jpeg_instantiate):
2278         * glyphs-eimage.c (gif_instantiate):
2279         * glyphs-eimage.c (png_instantiate):
2280         * glyphs-eimage.c (tiff_instantiate):
2281         * glyphs-x.c (xbm_instantiate_1):
2282         * glyphs-x.c (x_xbm_instantiate):
2283         * glyphs-x.c (x_xface_instantiate):
2284         * glyphs-x.c (autodetect_instantiate):
2285         * glyphs-x.c (cursor_font_instantiate):
2286         * glyphs-x.c (x_widget_instantiate):
2287         * glyphs-x.c (x_widget_set_property):
2288         * glyphs-x.c (x_widget_property):
2289         * glyphs-x.c (BUILD_GLYPH_INST):
2290         * print.c (write_string_to_stdio_stream):
2291         * print.c (output_string):
2292         * print.c (Falternate_debugging_output):
2293         * print.c (Fexternal_debugging_output):
2294         * glyphs-msw.c (extract_xpm_color_names):
2295         * glyphs-msw.c (mswindows_xpm_instantiate):
2296         * glyphs-msw.c (bmp_instantiate):
2297         * glyphs-msw.c (resource_name_to_resource):
2298         * glyphs-msw.c (mswindows_resource_instantiate):
2299         * glyphs-msw.c (xbm_instantiate_1):
2300         * glyphs-msw.c (mswindows_xbm_instantiate):
2301         * glyphs-msw.c (mswindows_xface_instantiate):
2302         * glyphs-msw.c (mswindows_widget_instantiate):
2303         * glyphs-msw.c (add_tree_item):
2304         * glyphs-msw.c (add_tab_item):
2305         * glyphs-msw.c (mswindows_combo_box_instantiate):
2306         * glyphs-msw.c (mswindows_widget_property):
2307         * glyphs-msw.c (mswindows_combo_box_property):
2308         * glyphs-msw.c (mswindows_widget_set_property):
2309         * console.c (stuff_buffered_input):
2310         * objects-msw.c (mswindows_initialize_color_instance):
2311         * objects-msw.c (mswindows_valid_color_name_p):
2312         * objects-msw.c (mswindows_list_fonts):
2313         * objects-msw.c (mswindows_font_instance_truename):
2314         * bytecode.c (optimize_compiled_function):
2315         * select-x.c (symbol_to_x_atom):
2316         * select-x.c (x_atom_to_symbol):
2317         * select-x.c (hack_motif_clipboard_selection):
2318         * select-x.c (selection_data_to_lisp_data):
2319         * select-x.c (lisp_data_to_selection_data):
2320         * select-x.c (Fx_get_cutbuffer_internal):
2321         * select-x.c (Fx_store_cutbuffer_internal):
2322         * buffer.h (TO_EXTERNAL_FORMAT): New function.
2323         * buffer.h (TO_INTERNAL_FORMAT): New function.
2324         * emacs.c (make_arg_list_1):
2325         * emacs.c (make_argc_argv):
2326         * emacs.c (main_1):
2327         * emacs.c (Fdump_emacs):
2328         * emacs.c (split_string_by_emchar_1):
2329         * file-coding.h:
2330         * lisp.h:
2331         * lstream.h:
2332         * symsinit.h:
2333         * device-x.c (x_init_device):
2334         * device-x.c (Fx_valid_keysym_name_p):
2335         * device-x.c (Fx_get_font_path):
2336         * device-x.c (Fx_set_font_path):
2337         * glyphs.c (bitmap_to_lisp_data):
2338         * glyphs.c (pixmap_to_lisp_data):
2339         * alloc.c (make_ext_string): Use coding system arguments.  Update
2340         all callers.
2341         * alloc.c (build_string):
2342         * callproc.c (child_setup):
2343         * callproc.c (init_callproc):
2344         * fileio.c (lisp_strerror):
2345         * fileio.c (directory_file_name):
2346         * fileio.c (Fexpand_file_name):
2347         * fileio.c (Ffile_truename):
2348         * fileio.c (Fsysnetunam):
2349         * fileio.c (Fdo_auto_save):
2350         * sysdep.c (sys_readdir):
2351         * tests.c: New file.  Allow adding C tests.
2352         Replace GET_* macros with a more comprehensible and flexible
2353         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
2354         Modify all calls.
2355         Any coding system can be used to do format conversion.
2356         Eliminate enum external_data_format.
2357         Eliminate convert_to_external_format.
2358         Eliminate convert_to_internal_format.
2359         Make sure file-name, keyboard, terminal, and ctext are always
2360         defined as coding systems or aliases.  Make
2361         file-name-coding-system, terminal-coding-system, and
2362         keyboard-coding-system magical variables that are equivalent to
2363         defining the corresponding coding system aliases.
2364         
2365         * file-coding.c (Fcoding_system_canonical_name_p): New function.
2366         * file-coding.c (Fcoding_system_alias_p): New function.
2367         * file-coding.c (Fcoding_system_aliasee): New function.
2368         * file-coding.c (append_suffix_to_symbol): New function.
2369         * file-coding.c (dangling_coding_system_alias_p): New function.
2370         * file-coding.c (Ffind_coding_system):
2371         * file-coding.c (Fcopy_coding_system):
2372         * file-coding.c (encode_coding_no_conversion):
2373         * file-coding.c (syms_of_file_coding):
2374         * file-coding.c (vars_of_file_coding):
2375         Rewrite coding system alias code.
2376         Allow nested aliases, like symbolic links.
2377         Allow redefinition of coding system aliases.
2378         Prevent existence of dangling coding system aliases.
2379
2380         * dired.c (Fuser_name_completion_1):
2381         * dired.c (Fuser_name_all_completions):
2382         A crash would happen if user did QUIT in the middle of building
2383         user_name_cache.  Remove redundant code in mainline and unwind_protect.
2384
2385         * lisp.h:
2386         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
2387
2388         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
2389         an unsigned char *.  Update all callers.
2390
2391 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2392
2393         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
2394
2395 2000-01-25  Martin Buchholz  <martin@xemacs.org>
2396
2397         * elhash.c (hentry_description): Use more portable definition.
2398         (resize_hash_table): Initialize new hentries using
2399         xnew_array_and_zero, thereby simplifying the code.
2400
2401         * mule-charset.c (make_charset): Make sure entire object is
2402         intialized, to avoid Purify warnings.
2403
2404         * alloc.c (resize_string): Fix unlikely crash with big strings.
2405
2406 2000-01-24  Martin Buchholz  <martin@xemacs.org>
2407
2408         * realpath.c (xrealpath): 
2409         Don't call getwd().
2410
2411 2000-01-25  Martin Buchholz  <martin@xemacs.org>
2412
2413         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
2414
2415 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
2416
2417         * unexelfsgi.c (unexec): Change the way we decide which segment
2418         should be extended.
2419
2420         Assumption that .bss section should be outside the PT_LOADable
2421         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
2422         it's present) is inside the 'data' segment. This would fail the
2423         test which was used to find a segment to grow and cover new
2424         heap. Instead of this assumption, I created another one - on IRIX
2425         the segment to grow should start below .bss and it's address
2426         should extent above the end of .bss. Once this segment is
2427         identified, it's grown to accommodate the new heap and new
2428         zero-length .bss section is added at the end of .data2.
2429
2430 2000-01-25  Martin Buchholz  <martin@xemacs.org>
2431
2432         * eval.c (Feval): Wrong number of arguments should use original
2433         function, not the indirect_function version of it.
2434
2435 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
2436
2437         * glyphs-x.c (x_button_instantiate): Don't add image if
2438         it is not a pixmap.
2439         (x_locate_pixmap_file): Call Fexpand_file_name when file name
2440         is relative.
2441
2442 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
2443
2444         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
2445         declaration.
2446         (DEFVAR_INT_MAGIC): Ditto.
2447         (DEFVAR_BOOL_MAGIC): Ditto.
2448         * glyphs.h: Reindent backslash.
2449
2450 2000-01-24  Martin Buchholz  <martin@xemacs.org>
2451
2452         * glyphs-widget.c (layout_query_geometry): 
2453         (layout_layout): Use correct types for gheight, gwidth.
2454
2455 2000-01-24  Martin Buchholz  <martin@xemacs.org>
2456
2457         * EmacsManager.c (QueryGeometry): Purified.
2458
2459 2000-01-23  Martin Buchholz  <martin@xemacs.org>
2460
2461         * alloc.c (make_float): Make sure entire object is intialized, to
2462         avoid Purify warnings.
2463         (pdump_register_sub): Remove useless assignment.
2464         (pdump): Use xmalloc, not malloc.
2465         (pdump_load): Use xmalloc, not malloc.
2466
2467 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2468
2469         * callproc.c: 
2470         * dired-msw.c: 
2471         * fileio.c: 
2472         * process-nt.c: 
2473         * redisplay-msw.c: 
2474         * sysdep.c: Removed redundant #include <windows.h>
2475
2476 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2477
2478         * frame.c (delete_frame_internal): Do not delete device when its
2479         implementation so declares.
2480         (delete_frame_internal): Set device selected frame to nil when
2481         last frame goes away. 
2482
2483         * device-msw.c (msprinter_device_system_metrics): Implemented.
2484         (mswindows_device_system_metrics): Added 'device-dpi property.
2485
2486         * device.c: (Fdevice_printer_p): Added.
2487         Added 'offset-workspace device metric.
2488
2489         * console.h (device_metrics): Declared DM_offset_workspace.
2490
2491 2000-01-23  Martin Buchholz  <martin@xemacs.org>
2492
2493         * fileio.c (Ffile_truename): Remove pointless and confusing
2494         initialization of elen.
2495
2496         * glyphs-widget.c: Compiler warning fixes.
2497
2498 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
2499
2500         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
2501         instead of a Lisp_Object as argument to make it consistent with
2502         the other LIVE_P macros.
2503         (CHECK_LIVE_PROCESS): New macro.
2504
2505         * process.c: Declare Qprocess_live_p.
2506         (Fprocess_live_p): New function.
2507         (create_process): Use PROCESS_LIVE_P.
2508         (read_process_output): Ditto.
2509         (set_process_filter): Ditto.
2510         (Fdelete_process): Ditto.
2511         (kill_buffer_processes): Ditto
2512         (process_send_signal): Use CHECK_LIVE_PROCESS.
2513         (Fprocess_input_coding_system): Check whether process is still
2514         alive (fix PR#1061).
2515         (Fprocess_output_coding_system): Ditto.
2516         (Fprocess_coding_system): Ditto.
2517         (Fset_process_input_coding_system): Ditto.
2518         (Fset_process_output_coding_system): Ditto.
2519
2520 2000-01-23  Andy Piper  <andy@xemacs.org>
2521
2522         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
2523         layout and widget.
2524
2525         * glyphs.c (mark_image_instance): take into account changed
2526         image_instance format.
2527         (image_instance_equal): ditto.
2528         (image_instance_hash): ditto.
2529
2530         * glyphs-widget.c (widget_instantiate): Incorporate layout
2531         instantiation here. Delay layout of the layout until later.
2532         (layout_instantiate): deleted.
2533         (layout_query_geometry): new function. get the geometry of a
2534         layout.
2535         (layout_layout): layout a layout dynamically.
2536         (image_instantiator_widget): New function - splitting up
2537         image_instantiator_format_create_glyphs_widget for netwinder
2538         compilation.
2539         (image_instantiator_buttons):
2540         (image_instantiator_edit_fields):
2541         (image_instantiator_combo_box):
2542         (image_instantiator_scrollbar):
2543         (image_instantiator_progress_guage):
2544         (image_instantiator_tree_view):
2545         (image_instantiator_tab_control):
2546         (image_instantiator_labels):
2547         (image_instantiator_layout): ditto.
2548         (image_instantiator_format_create_glyphs_widget): Call preceeding
2549         functions.
2550
2551 2000-01-22  Martin Buchholz  <martin@xemacs.org>
2552
2553         * process.c (Fset_process_coding_system):
2554         * device-x.c (Fx_keysym_hash_table): 
2555         Docstring fixes.
2556
2557         * lstream.c (Lstream_write): Return documented value, not 0.
2558
2559         * fileio.c (directory_file_name): 
2560         (Fsubstitute_in_file_name): 
2561         (Fsubstitute_insert_file_contents_internal): 
2562         (Fwrite_region_internal):
2563         * emacs.c:
2564         * sysdep.c:
2565         * getloadavg.c: 
2566         * systty.h:
2567         Remove vestigial APOLLO-conditional code.
2568
2569 2000-01-21  Martin Buchholz  <martin@xemacs.org>
2570
2571         * getpagesize.h: Add guard macros.
2572         * libsst.h: Add guard macros.
2573         * libst.h: Add guard macros.
2574         * line-number.h: Add guard macros.
2575         * ndir.h: Add guard macros.
2576         * sysfloat.h: Add guard macros.
2577         * sysfile.h: Add guard macros.
2578         * sysproc.h: Add guard macros.
2579         * syswait.h: Add guard macros.
2580         * xintrinsic.h: Add guard macros.
2581         * xintrinsicp.h: Add guard macros.
2582         * xmmanager.h: Add guard macros.
2583         * xmmanagerp.h: Add guard macros.
2584         * xmprimitive.h: Add guard macros.
2585         * xmu.h: Add guard macros.
2586         * gpmevent.h: Add copyright statement. Add guard macros.
2587         * miscplay.h: Add guard macros.
2588         * *.h: Use consistent C-standards-approved guard macro names.
2589
2590         * opaque.c (make_opaque): Switch parameter order. 
2591         * opaque.h (make_opaque): Switch parameter order.
2592         Update all callers.
2593         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
2594
2595         * config.h.in (type_checking_assert): Added.
2596         (bufpos_checking_assert): Added.
2597
2598 2000-01-21  Martin Buchholz  <martin@xemacs.org>
2599
2600         * alloc.c: Harmless pdump changes.
2601         - Use countof().
2602         - spell alignment correctly.
2603         * sysdep.c: Use countof()
2604
2605 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2606
2607         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
2608         initially_selected_for_input() console method, default to 0.
2609         (semi_canonicalize_console_connection): Try to delegate to
2610         canonicalize_console_connection if no such console method.
2611         (canonicalize_console_connection): Vice versa.
2612         (print_console): Do not print nil connection.
2613
2614         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
2615         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
2616         (XDEVIMPF_FRAMELESS_OK): Added.
2617         (CONSOLE_INHERITS_METHOD): Added.
2618
2619         * console-msw.c (mswindows_canonicalize_console_connection):
2620         Added.
2621         (mswindows_canonicalize_device_connection): Added.
2622
2623         * console-msw.h (struct msprinter_device): Added this struct and
2624         accessor macros.
2625         (mswindows_device): Made fontlist a lisp object.
2626
2627         * device.c (semi_canonicalize_device_connection):  Try to delegate
2628         to canonicalize_device_connection if no such console method.
2629         (canonicalize_device_connection): Vice versa.
2630         (print_device): Do not print nil connection.
2631
2632         * device-msw.c (mswindows_init_device): Call InitCommonControls
2633         when have widgets.
2634         (mswindows_delete_device): Removed fontlist deallocation.
2635         (mswindows_mark_device): Added.
2636
2637         * events.c (event_equal): Added abort() at unreached code.
2638         (event_hash): Ditto.
2639
2640         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
2641         fallback tags of Windows devices.
2642
2643         * general.c (syms_of_general): Initialized Qmsprinter.
2644
2645         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
2646         of fallback tags of Windows devices.
2647
2648         * lisp.h: Declared Qmsprinter.
2649
2650         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
2651         of strings.
2652         (mswindows_list_fonts): Ditto.
2653         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
2654         that it can be used by both mswindows and msprinter devices.
2655         (initialize_font_instance): Added.
2656         (mswindows_initialize_font_instance): Use it.
2657         (msprinter_initialize_font_instance): Added.
2658
2659         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
2660         and implementation flags check.
2661         (redisplay_without_hooks): Changed the call to the above.
2662         (Fredraw_device): Ditto.
2663         (Fredisplay_device): Ditto.
2664
2665         * redisplay-msw.c (get_frame_dc): Implemented.
2666         (get_frame_compdc): Implemented.
2667         (many functions): Use the two functions above to get device
2668         contexts, ether for a window or a printer.
2669
2670 2000-01-21  Olivier Galibert  <galibert@pobox.com>
2671
2672         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
2673         initialization here.
2674         (init_symbols_once_early): Call it.
2675         * emacs.c (main_1): Call it.
2676         * symsinit.h: Declare it.
2677
2678 2000-01-19  Olivier Galibert  <galibert@pobox.com>
2679
2680         * alloc.c: Use a lrecord_header * in the backtrace instead of a
2681         Lisp_Object.
2682         (pdump_backtrace): Ditto.
2683         (pdump_register_object): Ditto.  Cleanup use of the pointers.
2684         (pdump_get_entry): Abort if trying to register a null pointer.
2685         (pdump_dump_data): Cleanup types when relocating.
2686         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
2687         (pdump_dump_rtables): Remove bad casts.
2688         (pdump_load): Cleanup relocation w.r.t union type.  Use a
2689         Lisp_Object instead of a EMACS_INT for the hashtable
2690         reorganization.
2691
2692 2000-01-20  Martin Buchholz  <martin@xemacs.org>
2693
2694         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
2695
2696         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
2697
2698         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
2699
2700         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
2701
2702 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2703
2704         * faces.h (FACE_STRIKETHRU_P): Added.
2705
2706         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
2707         of font variants.
2708
2709         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
2710         (mswindows_set_dc_font): New function, aware of font variants,
2711         separated from mswindows_update_dc.
2712
2713         * objects-msw.h (struct mswindows_font_instance_data): Added
2714         definition.
2715
2716         * objects-msw.c (mswindows_finalize_font_instance): Delete all
2717         cached fonts and the data structure.
2718         (mswindows_initialize_font_instance): Added creation of font data
2719         structure.
2720         (mswindows_print_font_instance): Print at least something.
2721         (mswindows_create_font_variant): Implemented.
2722         (mswindows_get_hfont): Implemented.
2723
2724 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
2725
2726         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
2727         prototyping problem with msvc.
2728
2729         * emacs.c (main_1): added syms_of_gui_mswindows() call
2730
2731         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
2732         syms_of_gui_mswindows() function
2733
2734         * symsinit.h: added the prototype for syms_of_gui_mswindows()
2735
2736 2000-01-18  Martin Buchholz <martin@xemacs.org>
2737
2738         * XEmacs 21.2.27 is released.
2739
2740 2000-01-18  Martin Buchholz  <martin@xemacs.org>
2741
2742         * glyphs-eimage.c (struct tiff_error_struct):
2743         (tiff_error_func):
2744         (tiff_warning_func):
2745         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
2746
2747         * unexmips.c:
2748         * unexhp9k3.c:
2749         * unexfreebsd.c:
2750         * unexec.c: Remove vestigial Lucid C code.
2751         * unexalpha.c:
2752         * unexaix.c:
2753         * termcap.c:
2754         * libsst.c: Ansify.
2755         Remove declarations of errno and strerror().
2756
2757         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
2758
2759         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
2760
2761 2000-01-16  Martin Buchholz  <martin@xemacs.org>
2762
2763         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
2764         Optimize.
2765
2766 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2767
2768         * md5.c:
2769         * file-coding.c:
2770         * file-coding.h:
2771         Change enum eol_type to eol_type_t.
2772
2773 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2774
2775         * gui.c (get_gui_callback): Check cons before accessing car.
2776
2777 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2778
2779         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
2780         (XSETSPECIFIER_TYPE): Ditto.
2781
2782 2000-01-17  Didier Verna  <didier@xemacs.org>
2783
2784         * redisplay.c (generate_fstring_runes): compute string size in
2785         characters, not bytes.
2786
2787 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
2788
2789         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
2790
2791 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
2792
2793         * print.c (print_error_message): Call print_prepare().
2794
2795 2000-01-14  Martin Buchholz  <martin@xemacs.org>
2796
2797         * .dbxrc: Renamed from dbxrc.
2798
2799         * events.c (event_to_character):
2800         Use `assert (foo)' instead of `if (!foo) abort()'
2801
2802         * .gdbinit (xtype): Add documentation.
2803         * .gdbinit (check-temacs): New function.
2804         * .gdbinit (check-xemacs): New function.
2805         * dbxrc (check-xemacs): New function.
2806         * dbxrc (check-xemacs): New function.
2807
2808 2000-01-14  Andy Piper  <andy@xemacs.org>
2809
2810         * glyphs-widget.c (widget_query_geometry): Make sure that we
2811         calculate default dimensions correctly.
2812
2813 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2814
2815         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
2816
2817         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
2818         pdump_wire'd variable.
2819
2820         * emacs.c: (main_1): Conditionalized calls to
2821         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
2822
2823 2000-01-13  Martin Buchholz  <martin@xemacs.org>
2824
2825         * window.c (Fset_window_configuration):
2826         * sysdep.c (_start):
2827         * input-method-motif.c (res):
2828         * event-Xt.c (Xt_process_to_emacs_event):
2829         Simple compiler warning fixes.
2830
2831         * bytecode.c (funcall_compiled_function): Use the original
2832         function symbol on the backtrace list in preference to the
2833         compiled_function object in error messages.
2834
2835 2000-01-13  Andy Piper  <andy@xemacs.org>
2836
2837         * glyphs-x.c (update_widget_face): Make sure we update the widget
2838         background as well as foreground.
2839
2840 2000-01-13  Andy Piper  <andy@xemacs.org>
2841
2842         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
2843         fields to subwindow.
2844         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
2845         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
2846         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
2847         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
2848
2849         * glyphs-widget.c (check_valid_tab_orientation): new function.
2850         (initialize_widget_image_instance): zero orientation and
2851         justification.
2852         (widget_instantiate): pick up orientation.
2853         (tab_control_query_geometry): return appropriate values for
2854         vertical tabs.
2855
2856         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
2857         appropriate creation flags for left, right and bottom tabs.
2858
2859         * s/cygwin32.h: add tab definitions.
2860
2861 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2862
2863         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
2864         frame upon hiding a subwindow.
2865         (mswindows_button_instantiate): Changed the push button style to
2866         BS_PUSHBUTTON.
2867         (mswindows_button_instantiate): Removed button BS_NOTIFY
2868         style.
2869         (mswindows_button_instantiate): Removed redundant check for
2870         a disabled gui item.
2871         (mswindows_button_instantiate): Made use of WS_TABSTOP
2872         consistent: "operable" controls (edit, button, tree, scroll) have
2873         this style, "display-only" ones (static, progress gauge) do
2874         not. This style is currently ignored by XEmacs though. Also,
2875         removed the WS_EX_CONTROLPARENT style - it is not for children,
2876         it is for their parents!
2877         (mswindows_edit_field_instantiate): Ditto.
2878         (mswindows_progress_gauge_instantiate): Ditto.
2879         (mswindows_tree_view_instantiate): Ditto.
2880         (mswindows_tab_control_instantiate): Ditto.
2881         (mswindows_scrollbar_instantiate): Ditto.
2882         (mswindows_combo_box_instantiate): Ditto.
2883         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
2884         style to the "clip" window.
2885         (mswindows_button_instantiate): Removed compilation warning by
2886         equally typing terms of the ?: operator.
2887
2888 2000-01-12  Didier Verna  <didier@xemacs.org>
2889
2890         * redisplay.c (generate_fstring_runes): new parameter holding the
2891         last modeline-format extent.
2892         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
2893         extent, fill the glyph block with it.
2894         (generate_fstring_runes): handle these parameters.
2895         (generate_formatted_string_db): ditto.
2896
2897         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
2898         glyphs'extents in the modeline.
2899
2900 1999-01-11  Mike Woolley  <mike@bulsara.com>
2901
2902         * ntheap.c: Reduced the reserved heap space from 1Gb down to
2903         256Mb, as a workaround for the non-starting problem many people
2904         have experienced.
2905
2906 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
2907
2908         * console-tty.c (Fset_console_tty_output_coding_system):
2909         Force redrawing tty frame.
2910
2911 2000-01-10  Didier Verna  <didier@xemacs.org>
2912
2913         * redisplay.c (generate_fstring_runes): fix size computation bug.
2914
2915 2000-01-09  William M. Perry <wmperry@aventail.com>
2916
2917         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
2918
2919 2000-01-09  Andy Piper  <andy@xemacs.org>
2920
2921         * glyphs-msw.c: index -> i to avoid shadows.
2922         (xbm_create_bitmap_from_data): make static.
2923         (check_valid_string_or_int): deleted.
2924         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
2925
2926         * glyphs-x.c (x_update_subwindow): remove unused args.
2927
2928         * glyphs.c (glyph_image_instance): return the thing. Don't set the
2929         back pointer - this is done in allocate_image_instance.
2930         (query_string_font): return Qnil to make the compiler happy.
2931         (unmap_subwindow): set to ~0 to make the compiler happy.
2932         (glyph_query_geometry): comment out until used.
2933         (glyph_layout): ditto.
2934
2935 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
2936
2937         * insdel.c (signal_after_change): Remove extraneous unbind_to().