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