92ef25e426ce7d8de047c37b29b18933d8b92a28
[chise/xemacs-chise.git] / src / ChangeLog
1 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4         to 0.17.
5
6 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
9         for `CHARSET_BY_ATTRIBUTES'.
10         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
11         `CHARSET_BY_ATTRIBUTES'.
12
13         * text-coding.c (struct decoding_stream): Rename member `CH' to
14         `CPOS'.
15         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
16         (decode_coding_sjis): Likewise.
17         (decode_coding_big5): Likewise.
18         (decode_coding_ucs4): Likewise.
19         (decode_coding_utf8): Likewise.
20         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
21         `CHARSET_BY_ATTRIBUTES'.
22         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
23         `str->counter'; decode 3, 4 bytes sets.
24         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
25         sets.
26         (decode_coding_no_conversion): Use `str->cpos' instead of
27         `str->ch'.
28
29         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
30         (Qmojikyo_2022_1): New variable.
31         (make_charset): Don't use `CHARSET_TYPE_*'.
32         (range_charset_code_point): Support coded-charset
33         `mojikyo-2022-1'.
34         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
35         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
36         `CHARSET_BY_ATTRIBUTES'.
37         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
38         `CHARSET_BY_ATTRIBUTES'.
39         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
40         (complex_vars_of_mule_charset): Add new coded-charset
41         `mojikyo-2022-1'.
42
43         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
44         interface; changed to inline function.
45
46         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
47         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
48         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
49         (CHARSET_TYPE_94): Deleted.
50         (CHARSET_TYPE_94X94): Deleted.
51         (CHARSET_TYPE_96): Deleted.
52         (CHARSET_TYPE_96X96): Deleted.
53         (CHARSET_TYPE_128): Deleted.
54         (CHARSET_TYPE_128X128): Deleted.
55         (CHARSET_TYPE_256): Deleted.
56         (CHARSET_TYPE_256X256): Deleted.
57         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
58         to inline function.
59         (DECODE_MOJIKYO_2022): New inline function.
60         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
61         `Vcharset_mojikyo_2022_1'.
62
63 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
64
65         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
66         instead of `EQ'.
67         (put_byte_table): Likewise.
68         (char_id_table_equal): Use `get_byte_table' [new implementation].
69
70 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
71
72         * mule-charset.c: Include <limits.h> in UTF-2000.
73         (BT_UINT8_MIN): New macro in UTF-2000.
74         (BT_UINT8_MAX): New macro in UTF-2000.
75         (BT_UINT8_t): New macro in UTF-2000.
76         (BT_UINT8_nil): New macro in UTF-2000.
77         (BT_UINT8_unbound): New macro in UTF-2000.
78         (INT_UINT8_P): New inline function in UTF-2000.
79         (UINT8_VALUE_P): New inline function in UTF-2000.
80         (UINT8_ENCODE): New inline function in UTF-2000.
81         (UINT8_DECODE): New inline function in UTF-2000.
82         (mark_uint8_byte_table): New function in UTF-2000.
83         (print_uint8_byte_table): New function in UTF-2000.
84         (uint8_byte_table_equal): New function in UTF-2000.
85         (uint8_byte_table_hash): New function in UTF-2000.
86         (make_uint8_byte_table): New function in UTF-2000.
87         (uint8_byte_table_same_value_p): New function in UTF-2000.
88         (BT_UINT16_MIN): New macro in UTF-2000.
89         (BT_UINT16_MAX): New macro in UTF-2000.
90         (BT_UINT16_t): New macro in UTF-2000.
91         (BT_UINT16_nil): New macro in UTF-2000.
92         (BT_UINT16_unbound): New macro in UTF-2000.
93         (INT_UINT16_P): New inline function in UTF-2000.
94         (UINT16_VALUE_P): New inline function in UTF-2000.
95         (UINT16_ENCODE): New inline function in UTF-2000.
96         (UINT16_DECODE): New inline function in UTF-2000.
97         (UINT8_TO_UINT16): New inline function in UTF-2000.
98         (mark_uint16_byte_table): New function in UTF-2000.
99         (print_uint16_byte_table): New function in UTF-2000.
100         (uint16_byte_table_equal): New function in UTF-2000.
101         (uint16_byte_table_hash): New function in UTF-2000.
102         (make_uint16_byte_table): New function in UTF-2000.
103         (uint16_byte_table_same_value_p): New function in UTF-2000.
104         (print_byte_table): New function in UTF-2000.
105         (byte-table): Use `print_byte_table' as printer.
106         (make_byte_table): Delete second argument `older'.
107         (byte_table_same_value_p): New function in UTF-2000.
108         (copy_byte_table): Deleted.
109         (get_byte_table): New function in UTF-2000.
110         (put_byte_table): New function in UTF-2000.
111         (print_char_id_table): New function in UTF-2000.
112         (char-id-table): Use `print_char_id_table' as printer.
113         (make_char_id_table): Delete second argument `older'.
114         (get_char_id_table): Use `get_byte_table [new implementation].
115         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
116         implementation].
117         (Ffind_char_attribute_table): New function in UTF-2000.
118         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
119         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
120         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
121         (syms_of_mule_charset): Add new function
122         `find-char-attribute-table' in UTF-2000.
123
124         * lrecord.h (enum lrecord_type): Add
125         `lrecord_type_uint16_byte_table' and
126         `lrecord_type_uint8_byte_table'.
127
128         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
129         (Lisp_Uint8_Byte_Table): New type.
130         (XUINT8_BYTE_TABLE): New macro.
131         (XSETUINT8_BYTE_TABLE): New macro.
132         (UINT8_BYTE_TABLE_P): New macro.
133         (GC_UINT8_BYTE_TABLE_P): New macro.
134         (struct Lisp_Uint16_Byte_Table): New structure.
135         (Lisp_Uint16_Byte_Table): New type.
136         (XUINT16_BYTE_TABLE): New macro.
137         (XSETUINT16_BYTE_TABLE): New macro.
138         (UINT16_BYTE_TABLE_P): New macro.
139         (GC_UINT16_BYTE_TABLE_P): New macro.
140
141 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
142
143         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
144         (Vcharacter_ideographic_strokes_table): Deleted.
145         (Vcharacter_total_strokes_table): Deleted.
146         (Vcharacter_morohashi_daikanwa_table): Deleted.
147         (Vcharacter_decomposition_table): Deleted.
148         (Qname): Deleted because it is duplicated.
149         (Qideographic_radical): Deleted.
150         (Qideographic_strokes): Deleted.
151         (Qtotal_strokes): Deleted.
152         (Qmorohashi_daikanwa): Deleted.
153         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
154         `ideographic-radical', `ideographic-strokes', `total-strokes',
155         `morohashi-daikanwa' and `->decomposition'.
156         (Fget_char_attribute): Likewise.
157         (Fput_char_attribute): Likewise; use `make-vector' instead of
158         `make_older_vector' for `->decomposition' value.
159         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
160         `ideograph-daikanwa'.
161         (syms_of_mule_charset): Delete builtin symbols `name',
162         `ideographic-radical', `ideographic-strokes', `total-strokes' and
163         `morohashi-daikanwa'.
164         (vars_of_mule_charset): Don't setup
165         `Vcharacter_ideographic_radical_table',
166         `Vcharacter_ideographic_strokes_table',
167         `Vcharacter_total_strokes_table',
168         `Vcharacter_morohashi_daikanwa_table' and
169         `Vcharacter_decomposition_table'.
170
171 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
172
173         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
174         `make_older_vector', `make_vector_newer_1' and
175         `make_vector_newer'.
176
177         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
178         `make_older_vector' and `make_vector_newer'.
179
180         * config.h.in (HAVE_GGC): New macro.
181
182 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
183
184         * mule-charset.c (struct char_attribute_list_closure): New
185         structure in UTF-2000.
186         (add_char_attribute_to_list_mapper): New function in UTF-2000.
187         (Fchar_attribute_list): Likewise.
188         (Fset_charset_mapping_table): Use `make_vector_newer'.
189         (Fdecode_builtin_char): New function in UTF-2000.
190         (syms_of_mule_charset): Add new function `char-attribute-list' and
191         `decode-builtin-char' in UTF-2000.
192
193         * lisp.h (make_vector_newer): New prototype.
194
195         * alloc.c (make_vector_newer_1): New function.
196         (make_vector_newer): New function.
197
198 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
199
200         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
201         50100)'.
202
203 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
204
205         * mule-charset.c (Vchar_attribute_hash_table): New variable.
206         (Vcharacter_attribute_table): Deleted.
207         (Vcharacter_name_table): Deleted.
208         (put_char_attribute): Deleted.
209         (remove_char_attribute): Deleted.
210         (struct char_attribute_alist_closure): New structure.
211         (add_char_attribute_alist_mapper): New function.
212         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
213         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
214         (Fget_char_attribute): Likewise.
215         (Fput_char_attribute): Likewise.
216         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
217         of `remove_char_attribute'.
218         (Fdefine_char): Return character.
219         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
220         and `Vcharacter_name_table'.
221         (complex_vars_of_mule_charset): Likewise
222         `Vchar_attribute_hash_table'.
223
224 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
225
226         * character.h (CHARC_CHARSET): New macro.
227         (CHARC_CHARSET_ID): New macro.
228         (CHARC_CODE_POINT): New macro.
229         (CHARC_COLUMNS): New macro.
230         (CHARC_TO_CHAR): New inline function.
231         (CHARC_EQ): New inline function.
232         (CHARC_ASCII_EQ): New inline function.
233         (CHARC_IS_SPACE): New inline function.
234         (ASCII_TO_CHARC): New inline function.
235
236         * char-ucs.h (encode_char_2): Deleted.
237         (ENCODE_CHAR): Use `encode_char_1' again.
238         (breakup_char_1): Likewise.
239         (CHAR_TO_CHARC): New inline function.
240
241         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
242
243 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
244
245         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
246         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
247         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
248         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
249         (create_string_text_block): Use `CHARC_ASCII_EQ' and
250         `CHARC_IS_SPACE'.
251         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
252
253         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
254         `CHARC_CODE_POINT'.
255         (x_output_display_block): Use `CHARC_CHARSET' and
256         `CHARC_ASCII_EQ'.
257
258         * redisplay-tty.c (tty_output_display_block): Use
259         `CHARC_ASCII_EQ'.
260         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
261
262         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
263
264         * insdel.c (find_charsets_in_charc_string): Use
265         `CHARC_CHARSET_ID'.
266         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
267         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
268         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
269         (convert_charc_string_into_malloced_string): Likewise.
270
271 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
272
273         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
274         instead of <Emchar_dynarr *> for buf; use
275         `convert_bufbyte_string_into_charc_dynarr' instead of
276         `convert_bufbyte_string_into_emchar_dynarr'; use
277         `find_charsets_in_charc_string' instead of
278         `find_charsets_in_emchar_string'.
279
280         * redisplay.h:
281         - Include "character.h".
282         (struct rune): New member `cglyph'; delete member `chr'.
283
284         * redisplay.c (redisplay_text_width_charc_string): New function;
285         delete `redisplay_text_width_emchar_string'.
286         (rtw_charc_dynarr): New variable; renamed from
287         `rtw_emchar_dynarr'.
288         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
289         `rtw_emchar_dynarr'; use
290         `convert_bufbyte_string_into_charc_dynarr' instead of
291         `convert_bufbyte_string_into_emchar_dynarr'; use
292         `redisplay_text_width_charc_string' instead of
293         `redisplay_text_width_emchar_string'.
294         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
295         instead of `rtw_emchar_dynarr'; use
296         `convert_bufbyte_string_into_charc_dynarr' instead of
297         `convert_bufbyte_string_into_emchar_dynarr'.
298         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
299         `redisplay_text_width_charc_string' instead of
300         `redisplay_text_width_emchar_string'.
301         (create_text_block): Modify for <struct rune> change.
302         (generate_formatted_string_db): Likewise.
303         (create_string_text_block): Likewise.
304         (pixel_to_glyph_translation): Likewise.
305
306         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
307         instead of <const Emchar *>.
308         (x_text_width): Likewise.
309         (x_output_display_block): Use <Charc_dynarr *> instead
310         <Emchar_dynarr *>; modify for <structure rune> change.
311         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
312         *>.
313
314         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
315         <const Emchar *>; use `charc_string_displayed_columns' instead of
316         `emchar_string_displayed_columns'.
317         (tty_output_display_block): Use <Charc_dynarr *> instead of
318         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
319         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
320         (tty_output_charc_dynarr_dynarr): New variable; renamed from
321         `tty_output_emchar_dynarr_dynarr'.
322         (tty_output_charc_dynarr): New function; delete
323         `tty_output_charc_dynarr'.
324
325         * redisplay-output.c (compare_runes): Modify for `struct rune'.
326         (redisplay_output_layout): Use <Charc_dynarr *> instead of
327         <Emchar_dynarr *> for buf; use
328         `convert_bufbyte_string_into_charc_dynarr' instead of
329         `convert_bufbyte_string_into_emchar_dynarr'.
330
331         * frame.c (title_string_charc_dynarr): New variable; renamed from
332         `title_string_emchar_dynarr'.
333         (generate_title_string): Use `title_string_charc_dynarr' instead
334         of `title_string_emchar_dynarr'; use
335         `convert_charc_string_into_malloced_string' instead of
336         `convert_emchar_string_into_malloced_string'.
337         (init_frame): Use `title_string_charc_dynarr' instead of
338         `title_string_emchar_dynarr'.
339
340         * console.h:
341         - Include "character.h".
342         (struct console_methods): Use <const Charc *> instead of <const
343         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
344         <Emchar_dynarr *> in output_string_method.
345
346         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
347         <Emchar_dynarr *>.
348
349         * console-stream.c (stream_text_width): Use <const Charc *>
350         instead of <const Emchar *>.
351
352         * character.h (Charc_dynarr): New type.
353
354         * char-ucs.h (structure Charc): New structure; define new type
355         `Charc'.
356
357         * char-lb.h (DECODE_CHAR): New inline function.
358         (encode_char_1): New inline function.
359         (ENCODE_CHAR): New macro.
360         (structure Charc): New structure; define new type `Charc'.
361
362         * char-1byte.h (Vcharset_control_1): New macro.
363         (Vcharset_latin_iso8859_1): New macro.
364         (DECODE_CHAR): New inline function.
365         (encode_char_1): New inline function.
366         (ENCODE_CHAR): New macro.
367         (structure Charc): New structure; define new type `Charc'.
368
369         * insdel.c (find_charsets_in_charc_string): New function; delete
370         `find_charsets_in_emchar_string'.
371         (charc_string_displayed_columns): New function; delete
372         `emchar_string_displayed_columns'.
373         (convert_bufbyte_string_into_charc_dynarr): New function; delete
374         `convert_bufbyte_string_into_emchar_dynarr'.
375         (convert_charc_string_into_bufbyte_dynarr): New function; delete
376         `convert_charc_string_into_bufbyte_dynarr'.
377         (convert_charc_string_into_malloced_string): New function; delete
378         `convert_charc_string_into_malloced_string'.
379
380         * buffer.h (find_charsets_in_charc_string): New prototype; delete
381         `find_charsets_in_emchar_string'.
382         (charc_string_displayed_columns): New prototype; delete
383         `emchar_string_displayed_columns'.
384         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
385         `convert_charc_string_into_bufbyte_dynarr'.
386         (convert_charc_string_into_malloced_string): New prototype; delete
387         `convert_charc_string_into_malloced_string'.
388
389 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
390
391         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
392
393 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
394
395         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
396
397         * char-ucs.h: Use <short> for <Charset_ID>.
398
399         * mule-charset.h, char-1byte.h: Use <unsigned char> for
400         <Charset_ID>.
401
402 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
403
404         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
405         to 0.16.
406
407 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
408
409         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
410         variable.
411         (Qmorohashi_daikanwa): New variable.
412         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
413         for `morohashi-daikanwa' attribute.
414         (Fget_char_attribute): Likewise.
415         (Fput_char_attribute): Likewise.
416         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
417         has the same value of `ideograph-daikanwa'.
418         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
419         (vars_of_mule_charset): Setup
420         `Vcharacter_morohashi_daikanwa_table'.
421
422 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
423
424         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
425         attributes.
426         (add_charset_to_list_mapper): Add `key' instead of
427         `XCHARSET_NAME (value)' to return aliases.
428
429 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
430
431         * mule-charset.c (Vcharacter_ideographic_radical_table): New
432         variable.
433         (Vcharacter_ideographic_strokes_table): New variable.
434         (Qideographic_radical): New variable.
435         (Qideographic_strokes): New variable.
436         (Fchar_attribute_alist): Use
437         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
438         attribute; use `Vcharacter_ideographic_strokes_table' for
439         `ideographic-strokes' attribute.
440         (Fget_char_attribute): Likewise.
441         (Fput_char_attribute): Likewise.
442         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
443         `ideographic-strokes'.
444         (vars_of_mule_charset): Setup
445         `Vcharacter_ideographic_radical_table' and
446         `Vcharacter_ideographic_strokes_table'.
447
448 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
449
450         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
451         (Qtotal_strokes): New variable.
452         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
453         `total-strokes' attribute.
454         (Fget_char_attribute): Likewise.
455         (Fput_char_attribute): Likewise.
456         (syms_of_mule_charset): Add new symbol `total-strokes'.
457         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
458
459 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
460
461         * mule-charset.c (Vcharacter_decomposition_table): New variable.
462         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
463         are found.
464         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
465         `->decomposition' attribute.
466         (Fput_char_attribute): Likewise.
467         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
468
469 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
470
471         * mule-charset.c (decoding_table_check_elements): New function.
472         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
473
474 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
475
476         * mule-charset.c (Fset_charset_mapping_table): Use
477         `put_char_ccs_code_point'.
478
479 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
480
481         * mule-charset.c (decoding_table_put_char): New inline function.
482         (put_char_ccs_code_point): Use `decoding_table_put_char'.
483
484 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
485
486         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
487         (XCHARSET_BYTE_SIZE): New macro.
488         (decoding_table_remove_char): New inline function.
489         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
490         `decoding_table_remove_char'.
491         (remove_char_ccs): Use `decoding_table_remove_char'.
492         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
493
494 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
495
496         * mule-charset.c (Vcharacter_name_table): New variable.
497         (Qname): New variable.
498         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
499         attribute.
500         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
501         `Vcharacter_name_table' for `name' attribute.
502         (Fremove_char_attribute): Use function `remove_char_ccs'.
503         (put_char_ccs_code_point): New function.
504         (remove_char_ccs): New function.
505         (syms_of_mule_charset): Add new symbol `name'.
506         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
507
508 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
509
510         * mule-charset.c (make_byte_table): Add new argument `older'.
511         (make_char_id_table): Likewise.
512         (copy_char_id_table): Comment out because it is not used.
513         (put_char_id_table): Modify for `make_byte_table'.
514         (Fput_char_attribute): Make encoding_table as older object;
515         inherit older bit of `Vcharacter_composition_table'.
516         (mark_charset): Don't mark `cs->encoding_table'.
517         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
518         normal object; make `Vcharacter_composition_table' as an older
519         object; delete staticpro for `Vcharacter_composition_table'; make
520         `Vcharacter_variant_table' as a normal object.
521
522         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
523         (mark_object): Don't check older object in UTF-2000.
524
525         * lrecord.h (struct lrecord_header): Add new member `older' in
526         UTF-2000.
527         (set_lheader_implementation): Setup `SLI_header->older' in
528         UTF-2000.
529         (set_lheader_older_implementation): New macro in UTF-2000.
530         (OLDER_RECORD_P): New macro in UTF-2000.
531         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
532         (alloc_older_lcrecord): New prototype in UTF-2000.
533         (alloc_older_lcrecord_type): New macro in UTF-2000.
534
535 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
536
537         * mule-charset.c (byte_table_description): Use
538         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
539         (char_id_table_description): Delete bogus `, 1'.
540         (Fget_char_attribute): Refer encoding_table of each coded-charset
541         to get value of coded-charset attribute of a character.
542         (Fput_char_attribute): Use `make_older_vector' instead of
543         `make_vector'; use encoding_table of each coded-charset to store
544         value of coded-charset attribute of a character.
545         (Fremove_char_attribute): Use encoding_table of each coded-charset
546         to store value of coded-charset attribute of a character.
547         (mark_charset): Mark `cs->encoding_table'; don't mark
548         `cs->decoding_table'.
549         (charset_description): Add description of new member
550         `encoding_table'.
551         (make_charset): Initialize `encoding_table'.
552
553         * char-ucs.h (struct Lisp_Charset): Add new member
554         `encoding_table'.
555         (CHARSET_ENCODING_TABLE): New macro.
556         (XCHARSET_ENCODING_TABLE): New macro.
557         (charset_code_point): New implementation.
558         (encode_char_1): Likewise.
559
560         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
561         (disksave_object_finalization_1): Call finalizers of
562         `all_older_lcrecords' in UTF-2000.
563         (make_older_vector): New function in UTF-2000.
564         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
565         UTF-2000.
566
567         * lisp.h (make_older_vector): New prototype in UTF-2000.
568
569 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
570
571         * lrecord.h (enum lrecord_type): Rename
572         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
573
574         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
575         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
576         `get_char_code_table'.
577
578         * mule-charset.c (mark_char_id_table): Renamed from
579         `mark_char_code_table'.
580         (char_id_table_equal): Renamed from `char_code_table_equal'.
581         (char_id_table_hash): Renamed from `char_code_table_hash'.
582         (make_char_id_table): Renamed from `make_char_code_table'.
583         (copy_char_id_table): Renamed from `copy_char_code_table'.
584         (get_char_id_table): Renamed from `get_char_code_table'.
585         (put_char_id_table): Renamed from `put_char_code_table'.
586         (to_char_id): Renamed from `to_char_code'.
587
588         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
589         `Lisp_Char_Code_Table'.
590         (char_id_table): Renamed from `char_code_table'.
591         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
592         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
593         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
594         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
595         (get_char_id_table): Renamed from `get_char_code_table'.
596
597 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
598
599         * lrecord.h (enum lrecord_type): Rename
600         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
601
602         * mule-charset.c (mark_byte_table): Renamed from
603         `mark_char_byte_table'.
604         (byte_table_equal): Renamed from `char_byte_table_equal'.
605         (byte_table_hash): Renamed from `byte_table_hash'.
606         (make_byte_table): Renamed from `make_byte_table'.
607         (copy_byte_table): Renamed from `copy_char_byte_table'.
608
609         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
610         `Lisp_Char_Byte_Table'.
611         (byte_table): Renamed from `char_byte_table'.
612         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
613         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
614         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
615         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
616
617 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
618
619         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
620         (dfc_convert_to_internal_format): Likewise.
621         
622         * text-coding.c (Fcoding_system_canonical_name_p): New function.
623         * text-coding.c (Fcoding_system_alias_p): New function.
624         * text-coding.c (Fcoding_system_aliasee): New function.
625         * text-coding.c (append_suffix_to_symbol): New function.
626         * text-coding.c (dangling_coding_system_alias_p): New function.
627         * text-coding.c (Ffind_coding_system):
628         * text-coding.c (Fcopy_coding_system):
629         * text-coding.c (encode_coding_no_conversion):
630         * text-coding.c (syms_of_file_coding):
631         * text-coding.c (vars_of_file_coding):
632         Rewrite coding system alias code.
633         Allow nested aliases, like symbolic links.
634         Allow redefinition of coding system aliases.
635         Prevent existence of dangling coding system aliases.
636         Eliminate convert_to_external_format.
637         Eliminate convert_to_internal_format.
638         
639         * text-coding.c: Change enum eol_type to eol_type_t.
640
641 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
642
643         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
644         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
645
646         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
647         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
648
649 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
650
651         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
652         `ideograph-daikanwa'.
653
654         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
655         (Vcharset_ucs_bmp): Likewise.
656         (Vcharset_mojikyo): Add new extern variable definition.
657         (Vcharset_latin_iso8859_2): Deleted because it is not used.
658         (Vcharset_latin_iso8859_3): Likewise.
659         (Vcharset_latin_iso8859_4): Likewise.
660         (Vcharset_latin_iso8859_9): Likewise.
661         (Vcharset_latin_viscii_lower): Likewise.
662         (Vcharset_latin_viscii_upper): Likewise.
663         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
664         `mojikyo' code-point is used to decode.
665         (encode_char_2): New function [to convert `mojikyo' code-point to
666         Mojikyo font encoding].
667         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
668         (breakup_char_1): Likewise.
669         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
670
671 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
672
673         * text-coding.c (Fmake_coding_system): Add document about
674         `disable-composition' property.
675
676 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
677
678         * text-coding.c (Qdisable_composition): New variable; delete
679         `Qcomposite'.
680         (Fmake_coding_system): Add new property `disable-composite';
681         delete property `composite'.
682         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
683         instead of `!CODING_SYSTEM_COMPOSITE'.
684         (syms_of_file_coding): Add new symbol `disable-composition';
685         delete symbol `composite'.
686
687         * file-coding.h (struct Lisp_Coding_System): Add
688         `disable_composition'; delete `enable_composition'.
689         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
690         `CODING_SYSTEM_COMPOSITE'.
691         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
692         `XCODING_SYSTEM_COMPOSITE'.
693
694 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
695
696         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
697         to 0.15.
698
699 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
700
701         * text-coding.c (Qcomposite): New variable.
702         (Fmake_coding_system): Add new property `composite'.
703         (struct decoding_stream): Add `combined_char_count',
704         `combined_chars' and `combining_table' in UTF-2000.
705         (COMPOSE_FLUSH_CHARS): New macro.
706         (COMPOSE_ADD_CHAR): New macro.
707         (reset_decoding_stream): Reset `str->combined_char_count' and
708         `str->combining_table' in UTF-2000.
709         (decode_coding_iso2022): Modify for character-decomposition.
710         (syms_of_file_coding): Add new symbol `composite'.
711
712 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
713
714         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
715         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
716         of `Vcharacter_composition_table' if `->decomposition' property
717         has only 1 element.
718         (Qlatin_tcvn5712): New variable.
719         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
720         (complex_vars_of_mule_charset): Add new coded-charset
721         `latin-tcvn5712'.
722
723         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
724
725 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
726
727         * file-coding.h (struct Lisp_Coding_System): Add
728         `enable_composition'.
729         (CODING_SYSTEM_COMPOSITE): New macro.
730         (XCODING_SYSTEM_COMPOSITE): New macro.
731
732 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
733
734         * mule-canna.c (c2mu): Fix problem with UTF-2000.
735
736 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
737
738         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
739         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
740
741 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
742
743         * mule-charset.c (Vcharset_mojikyo): New variable.
744         (Fdefine_char): Don't use coded-charset which does not have
745         non-builtin character range to allocate character-id.
746         (Qmojikyo): New variable.
747         (syms_of_mule_charset): Add new symbol `mojikyo'.
748         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
749
750         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
751         (LEADING_BYTE_MOJIKYO): New macro.
752         (MIN_CHAR_MOJIKYO): New macro.
753         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
754         (MAX_CHAR_MOJIKYO): New macro.
755
756 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
757
758         * mule-charset.c (remove_char_attribute): Fixed.
759
760 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
761
762         * mule-charset.c (remove_char_attribute): New function.
763         (Fremove_char_attribute): New function.
764         (encode_builtin_char_1): Comment out builtin-support for
765         greek-iso8859-7 and cyrillic-iso8859-5.
766         (Fdecode_char): Check `code' is an integer.
767         (syms_of_mule_charset): Add `remove-char-attribute'.
768         (MIN_CHAR_GREEK): Deleted.
769         (MAX_CHAR_GREEK): Likewise.
770         (MIN_CHAR_CYRILLIC): Likewise.
771         (MAX_CHAR_CYRILLIC): Likewise.
772         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
773         MAX_CHAR_GREEK for `greek-iso8859-7'.
774
775         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
776         (MAX_CHAR_GREEK): Likewise.
777         (MIN_CHAR_CYRILLIC): Likewise.
778         (MAX_CHAR_CYRILLIC): Likewise.
779
780 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
781
782         * mule-charset.c (Fdefine_char): Fix problem when new code-point
783         format is used without `ucs' property.
784         (Fdecode_char): Fix problem with GR representation.
785         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
786         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
787
788 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
789
790         * mule-charset.c (make_builtin_char): New function.
791         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
792         (Fset_charset_mapping_table): Modify for new representation of
793         code-point.
794         (Fdecode_char): New function.
795         (syms_of_mule_charset): Add new builtin function `decode-char' in
796         UTF-2000.
797
798         * char-ucs.h (make_builtin_char): New prototype.
799         (DECODE_CHAR): New inline function.
800         (MAKE_CHAR): Use `DECODE_CHAR'.
801
802 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
803
804         * text-coding.c (parse_charset_conversion_specs): Use
805         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
806         `XCHARSET_TYPE'.
807         (iso2022_designate): Likewise.
808
809         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
810         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
811
812         * mule-charset.c (Vcharset_ucs): New variable.
813         (print_charset): Change design; use `CHARSET_CHARS' and
814         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
815         (make_charset): Change signature to specify `chars' and
816         `dimension' instead of `type'.
817         (range_charset_code_point): Modify for 256^n-set.
818         (encode_builtin_char_1): Encode as `ucs' in default.
819         (Fmake_charset): Modify for `make_charset'.
820         (Fmake_reverse_direction_charset): Likewise.
821         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
822         UTF-2000.
823         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
824         for `make_charset'.
825
826         * char-ucs.h (Vcharset_ucs): New variable.
827         (LEADING_BYTE_UCS): New macro.
828         (struct Lisp_Charset): Delete `type'; change type of `dimension'
829         and `chars' to `unsigned short' from `unsigned int'.
830         (CHARSET_TYPE): Deleted.
831         (XCHARSET_TYPE): Deleted.
832
833 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
834
835         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
836
837         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
838         (ENCODE_CHAR): New macro.
839
840 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
841
842         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
843         to 0.14 (Kawachi-Katakami).
844
845 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
846
847         * text-coding.c (char_encode_shift_jis): Modify for
848         `charset_code_point'.
849         (char_encode_iso2022): Likewise.
850
851         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
852         (integer) instead of list of <Lisp_Object>s (integers) as the
853         format of code-point of a coded-charset.
854         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
855         (encode_builtin_char_1): New function; delete
856         `split_builtin_char'.
857         (charset_code_point): Return <int> instead of <Lisp_Object>.
858         (Fsplit_char): Don't use `SPLIT_CHAR'.
859
860         * char-ucs.h (encode_builtin_char_1): New prototype; delete
861         prototype for `split_builtin_char'.
862         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
863         (charset_code_point): Likewise.
864         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
865         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
866
867 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
868
869         * mule-charset.c (complex_vars_of_mule_charset): Don't define
870         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
871
872 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
873
874         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
875
876         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
877         (MAX_CHAR_OBS_94x94): Deleted.
878
879 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
880
881         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
882
883         * char-ucs.h (MAX_CHAR_BMP): New macro.
884
885 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
886
887         * text-coding.c: Sync with r21-2-24.
888
889 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
890
891         * file-coding.c: Modify for UTF-2000.
892
893 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
894
895         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
896         to 0.13 (Takaida).
897
898 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
899
900         * mule-charset.c (split_builtin_char): Delete builtin support for
901         `katakana-jisx0201'.
902         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
903         BMP area in builtin representation.
904
905         * char-ucs.h (MAKE_CHAR): Delete builtin support for
906         `Vcharset_katakana_jisx0201'.
907
908 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
909
910         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
911         (Qisolated): New variable.
912         (Qinitial): New variable.
913         (Qmedial): New variable.
914         (Qfinal): New variable.
915         (Qvertical): New variable.
916         (Qsmall): New variable.
917         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
918         `Qvertical' and `Qsmall'.
919         (Qmojikyo_pj_[1 .. 21]): New variable.
920         (syms_of_mule_charset): Add new symbols `isolated', `initial',
921         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
922         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
923         .. 21]'.
924
925 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
926
927         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
928         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
929         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
930
931 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
932
933         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
934         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
935         BMP.
936         (Qjapanese_jisx0208_1990): New variable.
937         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
938         (complex_vars_of_mule_charset): Add new coded-charset
939         `japanese-jisx0208-1990'.
940
941         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
942         (MIN_CHAR_JIS_X0208_1990): New macro.
943         (MAX_CHAR_JIS_X0208_1990): New macro.
944
945 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
946
947         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
948         coded-charset is not found.
949
950 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
951
952         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
953         (Fdefine_char): Use `Fmake_char'.
954
955 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
956
957         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
958         (Vcharset_hiragana_jisx0208): Deleted.
959         (Vcharset_katakana_jisx0208): Deleted.
960         (Qideograph_daikanwa): New variable.
961         (Qhiragana_jisx0208): Deleted.
962         (Qkatakana_jisx0208): Deleted.
963         (split_builtin_char): Split `ideograph-daikanwa'.
964         (Fsplit_char): New implementation for UTF-2000.
965         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
966         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
967         (complex_vars_of_mule_charset): Add new coded-charset
968         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
969         `katakana-jisx0208'.
970
971         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
972         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
973         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
974         (MIN_CHAR_DAIKANWA): New macro.
975         (MAX_CHAR_DAIKANWA): New macro.
976
977 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
978
979         * data.c (Fstring_to_number): Don't recognize floating point if
980         base is not 10.
981
982 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
983
984         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
985
986 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
987
988         * mule-charset.c (Qsquare): New variable.
989         (to_char_code): Add `Qsquare'.
990         (syms_of_mule_charset): Add new symbol `square'.
991
992 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
993
994         * mule-charset.c (Qcircle): New variable.
995         (to_char_code): Add `Qcircle'.
996         (syms_of_mule_charset): Add new symbol `circle'.
997
998 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
999
1000         * mule-charset.c (Qfont): New variable.
1001         (to_char_code): Add `Qfont'.
1002         (syms_of_mule_charset): Add new symbol `font'.
1003
1004 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1005
1006         * mule-charset.c (Qsub): New variable.
1007         (to_char_code): Add `Qsub'.
1008         (syms_of_mule_charset): Add new symbol `sub'.
1009
1010 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1011
1012         * mule-charset.c (Fput_char_attribute): Convert each element of
1013         VALUE to GL position if ATTRIBUTE is a GR-set,
1014
1015 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1016
1017         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1018         coded-charset is a GR-set.
1019
1020 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1021
1022         * mule-charset.c (Fput_char_attribute): Check each element of
1023         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1024
1025 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1026
1027         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1028         UTF-2000.
1029         (Qethiopic_ucs): New variable in UTF-2000.
1030         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1031         (complex_vars_of_mule_charset): Add new coded-charset
1032         `ethiopic-ucs' in UTF-2000.
1033
1034         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1035         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1036         9)'.
1037         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1038         10)'.
1039         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1040
1041 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1042
1043         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1044         `ascii'.
1045
1046 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1047
1048         * mule-charset.c (Vcharacter_variant_table): New variable.
1049         (Q_ucs): New variable.
1050         (Fchar_variants): New function.
1051         (Fput_char_attribute): Register `->ucs' value to
1052         `Vcharacter_variant_table'.
1053         (syms_of_mule_charset): Add new function `char-variants' and new
1054         symbol `->ucs'.
1055         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1056
1057 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1058
1059         * mule-charset.c (get_char_code_table): Allow negative character
1060         code.
1061         (put_char_code_table): Likewise.
1062         (Vcharacter_composition_table): New variable.
1063         (Q_decomposition): New variable.
1064         (Qwide): New variable.
1065         (Qnarrow): New variable.
1066         (Qcompat): New variable.
1067         (QnoBreak): New variable.
1068         (Qsuper): New variable.
1069         (Qfraction): New variable.
1070         (to_char_code): New function.
1071         (Fget_composite_char): New function.
1072         (Fput_char_attribute): Register `->decomposition' value to
1073         `Vcharacter_composition_table'.
1074         (syms_of_mule_charset): Add new function `get-composite-char', new
1075         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1076         `super' and `fraction'.
1077         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1078
1079 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1080
1081         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1082         character; copy the return value.
1083
1084 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1085
1086         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1087
1088         * mule-charset.c (range_charset_code_point): Must use make_int.
1089         (split_builtin_char): New function.
1090
1091 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1092
1093         * mule-charset.c (char_byte_table): Change name from
1094         "char-code-table" to "char-byte-table".
1095         (mark_char_code_table): New function.
1096         (char_code_table_equal): New function.
1097         (char_code_table_hash): New function.
1098         (char_code_table_description): New constant.
1099         (char_code_table): New type.
1100         (make_char_code_table): New function.
1101         (copy_char_code_table): New function.
1102         (get_char_code_table): Modify for `char_code_table' type.
1103         (put_char_code_table): Likewise.
1104         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1105         (Kashiwara).
1106
1107         * char-ucs.h (char_code_table): New type.
1108         (XCHAR_CODE_TABLE): New macro.
1109         (XSETCHAR_CODE_TABLE): New macro.
1110         (CHAR_CODE_TABLE_P): New macro.
1111         (GC_CHAR_CODE_TABLE_P): New macro.
1112         (struct Lisp_Char_Code_Table): New structure.
1113
1114 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1115
1116         * mule-charset.c (Fmake_charset): Setup byte_offset for
1117         {94|96}^n-set.
1118
1119 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1120
1121         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
1122         character.
1123
1124 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1125
1126         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
1127         is found.
1128
1129 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1130
1131         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
1132         charset, it is regarded as a charset.
1133         (put_char_attribute): New function in UTF-2000.
1134         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
1135         charset, mapping-table of the charset is modified.
1136         (Fdefine_char): New function in UTF-2000.
1137         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
1138         `Fput_char_attribute'.
1139         (syms_of_mule_charset): Add new function `define-char' and new
1140         symbol `ucs' in UTF-2000.
1141         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
1142
1143 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1144
1145         * mule-charset.c (Fcharset_name): Define `byte_offset' in
1146         non-UTF-2000 configuration.
1147
1148 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1149
1150         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
1151         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
1152
1153         * mule-charset.c (mark_charset): `cs->encoding_table' has been
1154         deleted.
1155         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
1156         (Fset_charset_mapping_table): Likewise.
1157
1158         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
1159         (CHARSET_ENCODING_TABLE): Delete.
1160         (XCHARSET_ENCODING_TABLE): Delete.
1161         (charset_code_point): New interface.
1162
1163 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1164
1165         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
1166         instead of `charset_get_byte1' and `charset_get_byte2'.
1167
1168         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
1169         (charset_get_byte2): Deleted.
1170
1171 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1172
1173         * char-ucs.h (SPLIT_CHAR): New inline function.
1174         (breakup_char_1): Use `SPLIT_CHAR'.
1175
1176         * mule-charset.c (range_charset_code_point): New function.
1177         (charset_code_point): New function.
1178
1179         * char-ucs.h (range_charset_code_point): New interface.
1180         (breakup_char_1): Use `range_charset_code_point'.
1181
1182 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1183
1184         * mule-charset.c (Fmake_charset): Delete unused local variable
1185         `code_offset'.
1186
1187         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
1188         (breakup_char_1): Find a charset and code-point in
1189         `Vcharacter_attribute_table'.
1190
1191 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1192
1193         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1194         to 0.10 (Yao).
1195
1196 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1197
1198         * mule-charset.c (Vcharacter_attribute_table): New variable.
1199         (Fchar_attribute_alist): New function.
1200         (Fget_char_attribute): New function.
1201         (Fput_char_attribute): New function.
1202         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
1203         too.
1204         (syms_of_mule_charset): Add new function `char-attribute-alist',
1205         `get-char-attribute' and `put-char-attribute'.
1206         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
1207
1208 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
1209
1210         * mule-charset.c (Fmake_charset): Just use
1211         `get_unallocated_leading_byte'.
1212
1213         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
1214         sets; don't use final-byte based number for private sets.
1215
1216 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1217
1218         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
1219         integer.
1220
1221 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1222
1223         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1224         to 0.9.
1225
1226 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1227
1228         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
1229         of `CHAR_LEADING_BYTE' in UTF-2000.
1230
1231         * insdel.c (find_charsets_in_bufbyte_string): Use
1232         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1233         (find_charsets_in_emchar_string): Likewise.
1234
1235         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
1236         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1237
1238         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
1239         (CHAR_CHARSET_ID): New macro.
1240
1241 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1242
1243         * chartab.c (get_char_table): Don't use type `Charset_ID' for
1244         charset-id - MIN_LEADING_BYTE.
1245         (put_char_table): Likewise.
1246
1247 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1248
1249         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
1250         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
1251         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
1252         (CHARSET_ID_OFFSET): New macro.
1253         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
1254         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
1255         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
1256         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
1257         4).
1258         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
1259         5).
1260         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
1261         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
1262         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
1263         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
1264         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
1265
1266 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1267
1268         * mule-charset.c (next_allocated_leading_byte): New variable in
1269         UTF-2000.
1270         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
1271         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
1272         (get_unallocated_leading_byte): Simply use
1273         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
1274         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
1275         UTF-2000.
1276
1277         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
1278         (MAX_LEADING_BYTE_PRIVATE): New macro.
1279         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
1280         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
1281
1282 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1283
1284         * mule-charset.c (Fmake_charset): Allocate final-byte based
1285         charset-id for 94-set, 96-set and 94x94-set.
1286
1287 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1288
1289         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
1290         ambiguous `else'.
1291         (Fmake_charset): Likewise.
1292         (complex_vars_of_mule_charset): Modify the font registry of
1293         `ucs-bmp' not to match `Ethiopic-Unicode'.
1294
1295 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1296
1297         * mule-charset.c (complex_vars_of_mule_charset): Add font
1298         registory of `ucs-bmp'.
1299
1300 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1301
1302         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
1303         coded-charsets in `default-coded-charset-priority-list' when
1304         breaking up a character.
1305
1306         * mule-charset.c (Vcharset_latin_viscii): New variable.
1307         (Qlatin_viscii): New variable.
1308         (make_charset): Don't use `decoding_table'.
1309         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
1310         byte_offset.
1311         (Fset_charset_mapping_table): New implementation.
1312         (syms_of_mule_charset): Add new symbol `latin-viscii'.
1313         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
1314         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
1315         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
1316         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
1317         charset `latin_viscii'.
1318
1319         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
1320         (CHARSET_TYPE_94X94): Change to 1 from 2.
1321         (CHARSET_TYPE_96): Change to 2 from 1.
1322         (CHARSET_TYPE_128): New macro.
1323         (CHARSET_TYPE_128X128): Change to 5 from 4.
1324         (CHARSET_TYPE_256): New macro.
1325         (CHARSET_TYPE_256X256): Change to 7 from 5.
1326         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
1327
1328 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1329
1330         * text-coding.c (char_encode_shift_jis): Refer
1331         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
1332         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
1333
1334         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
1335         (char_byte_table_equal): New function in UTF-2000.
1336         (char_byte_table_hash): New function in UTF-2000.
1337         (char_byte_table_description): New constant in UTF-2000.
1338         (char_byte_table): New type in UTF-2000.
1339         (make_char_byte_table): New function in UTF-2000.
1340         (copy_char_byte_table): New function in UTF-2000.
1341         (make_char_code_table): New macro in UTF-2000.
1342         (get_char_code_table): New function in UTF-2000.
1343         (put_char_code_table): New function in UTF-2000.
1344         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1345         (charset_description): Add setting in UTF-2000.
1346         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
1347         `CHARSET_TO_BYTE1_TABLE(cs)'.
1348         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
1349         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
1350         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
1351         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
1352         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
1353         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
1354         `CHARSET_TO_BYTE2_TABLE(cs)'.
1355
1356         * char-ucs.h (char_byte_table): New type.
1357         (XCHAR_BYTE_TABLE): New macro.
1358         (XSETCHAR_BYTE_TABLE): New macro.
1359         (CHAR_BYTE_TABLE_P): New macro.
1360         (GC_CHAR_BYTE_TABLE_P): New macro.
1361         (struct Lisp_Char_Byte_Table): New structure.
1362         (get_char_code_table): New interface.
1363         (Emchar_to_byte_table): Deleted.
1364         (get_byte_from_character_table): Deleted.
1365         (struct Lisp_Charset): Add `encoding_table'; delete
1366         `to_byte1_table' and `to_byte2_table'.
1367         (CHARSET_ENCODING_TABLE): New macro.
1368         (CHARSET_TO_BYTE1_TABLE): Deleted.
1369         (CHARSET_TO_BYTE2_TABLE): Deleted.
1370         (XCHARSET_ENCODING_TABLE): New macro.
1371         (XCHARSET_TO_BYTE1_TABLE): Deleted.
1372         (XCHARSET_TO_BYTE2_TABLE): Deleted.
1373
1374 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1375
1376         * mule-charset.c (syms_of_mule_charset): Delete charset alias
1377         `vietnamese-viscii-*'.
1378
1379 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1380
1381         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
1382         (Qvietnamese_viscii_upper): New variable.
1383         (Fdefine_charset_alias): New function.
1384         (syms_of_mule_charset): Add new function `define-charset-alias'.
1385         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
1386         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
1387         `latin-viscii-*'.
1388
1389 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
1390
1391         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
1392         (MAX_CHAR_OBS_94x94): New macro.
1393         (breakup_char_1): Support obsolete XEmacs-UCS private code space
1394         for 94x94 sets.
1395
1396         * mule-charset.c (put_byte_from_character_table): Change unit size
1397         from 128 to 256.
1398         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
1399         not defined.
1400         (Fmake_reverse_direction_charset): Modify dummy argument of
1401         `make_charset' for non-UTF-2000 environment.
1402
1403 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1404
1405         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
1406
1407         * mule-charset.c (destroy_byte_from_character_table): New macro.
1408         (latin_jisx0201_to_ucs): Deleted.
1409         (latin_iso8859_2_to_ucs): Deleted.
1410         (latin_iso8859_3_to_ucs): Deleted.
1411         (latin_iso8859_4_to_ucs): Deleted.
1412         (latin_iso8859_9_to_ucs): Deleted.
1413         (latin_viscii_lower_to_ucs): Deleted.
1414         (latin_viscii_upper_to_ucs): Deleted.
1415         (mark_charset): Mark `cs->decoding_table'.
1416         (Fcharset_mapping_table): Fix DOC-string.
1417         (Fset_charset_mapping_table): New function.
1418         (syms_of_mule_charset): Add nwe function
1419         `set-charset-mapping-table'.
1420         (complex_vars_of_mule_charset): Don't setup and use
1421         `latin_*_to_ucs'.
1422
1423 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1424
1425         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
1426         charset.
1427
1428 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1429
1430         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
1431         (Vcharset_katakana_jisx0208): New variable.
1432         (Qhiragana_jisx0208): New variable.
1433         (Qkatakana_jisx0208): New variable.
1434         (make_charset): Add new argument `byte_offset'.
1435         (charset_get_byte1): Modify for new coded-charset definition; use
1436         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
1437         `XCHARSET_BYTE_OFFSET'.
1438         (Fmake_charset): Modify for `make_charset'.
1439         (Fmake_reverse_direction_charset): Likewise.
1440         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
1441         `katakana-jisx0208'.
1442         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
1443         `.'  in font registry of charset `katakana-jisx0201',
1444         `latin-jisx0201', `vietnamese-viscii-lower' and
1445         `vietnamese-viscii-upper'; modify DOC-string of charset
1446         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
1447         registry of charset `japanese-jisx0208' not to use font for JIS
1448         X0208:1990; add new charset `hiragana-jisx0208' and
1449         `katakana-jisx0208'.
1450
1451         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
1452         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
1453         (struct Lisp_Charset): Add `byte_offset'.
1454         (CHARSET_BYTE_OFFSET): New macro.
1455         (XCHARSET_UCS_MIN): New macro.
1456         (XCHARSET_UCS_MAX): New macro.
1457         (XCHARSET_CODE_OFFSET): New macro.
1458         (XCHARSET_BYTE_OFFSET): New macro.
1459         (MIN_CHAR_HIRAGANA): New macro.
1460         (MAX_CHAR_HIRAGANA): New macro.
1461         (MIN_CHAR_KATAKANA): New macro.
1462         (MAX_CHAR_KATAKANA): New macro.
1463         (MAKE_CHAR): Modify for new coded-charset definition; use
1464         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
1465         `XCHARSET_BYTE_OFFSET'.
1466
1467 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1468
1469         * mule-charset.c (CHAR96): Deleted.
1470         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
1471         <Lisp_Object>.
1472         (latin_iso8859_2_to_ucs): Likewise.
1473         (latin_iso8859_3_to_ucs): Likewise.
1474         (latin_iso8859_4_to_ucs): Likewise.
1475         (latin_iso8859_9_to_ucs): Likewise.
1476         (latin_viscii_lower_to_ucs): Likewise.
1477         (latin_viscii_upper_to_ucs): Likewise.
1478         (latin_tcvn5712_to_ucs): Commented out.
1479         (make_charset): Change type of argument `decoding_table' from
1480         <Emchar*> to <Lisp_Object> [vector of characters].
1481         (Fmake_charset): Modify for `make_charset'.
1482         (Fmake_reverse_direction_charset): Likewise.
1483         (Fcharset_mapping_table): New function in UTF-2000.
1484         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
1485         UTF-2000.
1486         (complex_vars_of_mule_charset): Modify for type change of
1487         `*_to_ucs'; modify for `make_charset'.
1488
1489         * char-ucs.h (struct Lisp_Charset): Change type of
1490         `decoding_table' from <Emchar*> to <Lisp_Object>.
1491         (MAKE_CHAR): Modify for new specification of `decoding_table'.
1492
1493 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1494
1495         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
1496         error with non-UTF-2000-Mule.
1497
1498 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
1499
1500         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
1501         in lisp again].
1502         (Vcharset_chinese_cns11643_4): Likewise.
1503         (Vcharset_chinese_cns11643_5): Likewise.
1504         (Vcharset_chinese_cns11643_6): Likewise.
1505         (Vcharset_chinese_cns11643_7): Likewise.
1506         (Qchinese_cns11643_3): Likewise.
1507         (Qchinese_cns11643_4): Likewise.
1508         (Qchinese_cns11643_5): Likewise.
1509         (Qchinese_cns11643_6): Likewise.
1510         (Qchinese_cns11643_7): Likewise.
1511         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
1512         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
1513         and `chinese-cns11643-7' to lisp/mule/chinese.el.
1514         (complex_vars_of_mule_charset): Likewise.
1515
1516 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1517
1518         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
1519         96-set.
1520         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
1521         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
1522
1523 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1524
1525         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
1526         0xFF60.
1527         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
1528         (breakup_char_1): Likewise.
1529
1530         * text-coding.c (char_encode_iso2022): Keep designated charsets if
1531         one of them includes the specified character.
1532
1533 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1534
1535         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
1536
1537 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1538
1539         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
1540
1541 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1542
1543         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
1544         definition for non-UTF-2000 Mule.
1545         (latin_iso8859_3_to_ucs): Likewise.
1546         (latin_iso8859_4_to_ucs): Likewise.
1547         (latin_iso8859_9_to_ucs): Likewise.
1548         (latin_jisx0201_to_ucs): Likewise.
1549         (MIN_CHAR_THAI): Likewise.
1550         (MAX_CHAR_THAI): Likewise.
1551         (MIN_CHAR_GREEK): Likewise.
1552         (MAX_CHAR_GREEK): Likewise.
1553         (MIN_CHAR_HEBREW): Likewise.
1554         (MAX_CHAR_HEBREW): Likewise.
1555         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
1556         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
1557         (MIN_CHAR_CYRILLIC): Likewise.
1558         (MAX_CHAR_CYRILLIC): Likewise.
1559
1560 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1561
1562         * char-ucs.h (breakup_char_1): Use
1563         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
1564         thai-tis620 and katakana-jisx0201 area.
1565
1566 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1567
1568         * char-ucs.h (breakup_char_1): Use
1569         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
1570         area.
1571
1572         * text-coding.c (reset_encoding_stream): Fixed.
1573         (char_encode_ucs4): Delete `& 255'.
1574
1575         * char-ucs.h (breakup_char_1): Use
1576         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
1577
1578 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1579
1580         * file-coding.c (Fmake_coding_system): Don't set up
1581         `codesys->fixed.size'.
1582         (encode_coding_no_conversion): Don't refer
1583         `str->codesys->fixed.size'.
1584
1585 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1586
1587         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
1588         (latin_a_char_to_byte1): Deleted.
1589         (latin_a_char_to_byte2): Deleted.
1590
1591 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1592
1593         * mule-charset.c (make_charset): Add new argument `ucs_min',
1594         `ucs_max' and `code_offset'.
1595         (charset_get_byte1): New implementation [delete specific charset
1596         depended implementations].
1597         (Fmake_charset): Modify for `make_charset'.
1598         (Fmake_reverse_direction_charset): Likewise.
1599         (complex_vars_of_mule_charset): Likewise.
1600
1601         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
1602         `code_offset'.
1603         (CHARSET_UCS_MIN): New macro.
1604         (CHARSET_UCS_MAX): New macro.
1605         (CHARSET_CODE_OFFSET): New macro.
1606         (MAKE_CHAR): Delete charset depended definitions [except
1607         katakana-jisx0201].
1608
1609 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1610
1611         * char-ucs.h (breakup_char_1): Use
1612         `Vdefault_coded_charset_priority_list' for C0-Controls,
1613         Basic-Latin, C1-Controls and Latin-1-Supplement area.
1614
1615 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1616
1617         * char-ucs.h (charset_get_byte1): New function.
1618         (XCHARSET_GET_BYTE1): Deleted.
1619         (charset_get_byte2): New function.
1620         (XCHARSET_GET_BYTE2): Deleted.
1621         (Vdefault_coded_charset_priority_list): New external variable.
1622         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
1623         `Vdefault_preferred_coded_charset_list'.
1624
1625         * mule-charset.c (charset_get_byte1): New function.
1626         (charset_get_byte2): New function.
1627         (Vdefault_coded_charset_priority_list): New variable.
1628         (vars_of_mule_charset): Add new variable
1629         `default-coded-charset-priority-list'.
1630
1631 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1632
1633         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
1634         (XCHARSET_GET_BYTE2): New inline function.
1635         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
1636         `XCHARSET_GET_BYTE2'.
1637
1638 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1639
1640         * mule-charset.c (make_charset): Initialize
1641         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
1642         NULL if table is not defined.
1643
1644 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1645
1646         * text-coding.c (char_encode_shift_jis): Use
1647         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
1648         `ucs_to_latin_jisx0201'.
1649
1650         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
1651         (ucs_to_latin_iso8859_2): Deleted.
1652         (ucs_to_latin_iso8859_3): Deleted.
1653         (ucs_to_latin_iso8859_4): Deleted.
1654         (ucs_to_latin_iso8859_9): Deleted.
1655         (ucs_to_latin_viscii_lower): Deleted.
1656         (ucs_to_latin_viscii_upper): Deleted.
1657         (ucs_to_latin_tcvn5712): Deleted.
1658         (make_charset): Add new argument `decoding_table'; set up
1659         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
1660         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
1661         `decoding_table' is defined in UTF-2000.
1662         (Fmake_charset): Modify for `make_charset'.
1663         (Fmake_reverse_direction_charset): Likewise.
1664         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
1665         and `GENERATE_96_SET'.
1666
1667         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
1668         (ucs_to_latin_jisx0201): Deleted.
1669         (latin_iso8859_2_to_ucs): Deleted.
1670         (ucs_to_latin_iso8859_2): Deleted.
1671         (latin_iso8859_3_to_ucs): Deleted.
1672         (ucs_to_latin_iso8859_3): Deleted.
1673         (latin_iso8859_4_to_ucs): Deleted.
1674         (ucs_to_latin_iso8859_4): Deleted.
1675         (latin_iso8859_9_to_ucs): Deleted.
1676         (ucs_to_latin_iso8859_9): Deleted.
1677         (latin_viscii_lower_to_ucs): Deleted.
1678         (ucs_to_latin_viscii_lower): Deleted.
1679         (latin_viscii_upper_to_ucs): Deleted.
1680         (ucs_to_latin_viscii_upper): Deleted.
1681         (struct Lisp_Charset): Renamed `encoding_table' to
1682         `to_byte1_table'; add `to_byte2_table'.
1683         (CHARSET_DECODING_TABLE): New macro.
1684         (CHARSET_TO_BYTE1_TABLE): New macro.
1685         (CHARSET_TO_BYTE2_TABLE): New macro.
1686         (XCHARSET_DECODING_TABLE): New macro.
1687         (XCHARSET_TO_BYTE1_TABLE): New macro.
1688         (XCHARSET_TO_BYTE2_TABLE): New macro.
1689         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
1690         tables.
1691         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
1692         don't use `ucs_to_*' tables.
1693
1694 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1695
1696         * text-coding.c (Fmake_coding_system): Don't set up
1697         `codesys->fixed.size'.
1698         (encode_coding_no_conversion): Use `if' instead of `switch'.
1699
1700         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
1701
1702 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1703
1704         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
1705         (Fmake_charset): Modify for `make_charset'.
1706         (Fmake_reverse_direction_charset): Likewise.
1707         (complex_vars_of_mule_charset): Likewise.
1708
1709 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1710
1711         * text-coding.c (char_encode_shift_jis): Use table
1712         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
1713
1714 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1715
1716         * text-coding.c (text_encode_generic): Use `if' instead of
1717         `switch'.
1718         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
1719         decode JIS-Latin.
1720
1721 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1722
1723         * text-coding.c (encode_coding_sjis): Deleted.
1724         (char_encode_shift_jis): New function.
1725         (char_finish_shift_jis): New function.
1726         (reset_encoding_stream): Set up `encode_char' and `finish' for
1727         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
1728         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
1729         (char_encode_utf8): Treat `eol_type'.
1730
1731 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1732
1733         * file-coding.c (decode_coding_iso2022): Use
1734         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
1735
1736 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1737
1738         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1739         to 0.7 (Hirano).
1740
1741 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1742
1743         * char-lb.h (CHAR_COLUMNS): New macro.
1744
1745 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1746
1747         * text-coding.c (char_encode_ucs4): New function.
1748         (char_finish_ucs4): New function.
1749         (encode_coding_ucs4): Deleted.
1750         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
1751         (text_encode_generic): Delete local variable `charset' and `half'.
1752         (ucs_to_mule_table): Deleted.
1753         (mule_to_ucs_table): Deleted.
1754         (Fset_ucs_char): Deleted.
1755         (ucs_to_char): Deleted.
1756         (Fucs_char): Deleted.
1757         (Fset_char_ucs): Deleted.
1758         (Fchar_ucs): Deleted.
1759         (decode_ucs4): Deleted.
1760         (mule_char_to_ucs4): Deleted.
1761         (encode_ucs4): Deleted.
1762         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
1763         (decode_coding_utf8): Likewise.
1764         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
1765         (char_encode_iso2022): Fixed.
1766         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
1767         `Fset_char_ucs' and `Fchar_ucs'.
1768         (complex_vars_of_file_coding): Don't initialize
1769         `ucs_to_mule_table'.
1770
1771         * objects-tty.c (tty_initialize_font_instance): Don't use
1772         `XCHARSET_COLUMNS'.
1773
1774         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
1775         UTF-2000.
1776
1777         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
1778         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1779
1780         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
1781         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1782         (emchar_string_displayed_columns): Likewise.
1783
1784         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
1785         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1786         (string_column_at_point): Likewise.
1787         (Fmove_to_column): Likewise.
1788
1789         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
1790         `encoding_table' and `decoding_table'.
1791         (CHARSET_REP_BYTES): Deleted.
1792         (XCHARSET_REP_BYTES): Deleted.
1793         (XCHARSET_COLUMNS): Deleted.
1794         (CHAR_COLUMNS): New macro.
1795         (lookup_composite_char): Deleted unconditionally.
1796         (composite_char_string): Likewise.
1797
1798 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1799
1800         * char-ucs.h (Emchar_to_byte_table): New type.
1801         (get_byte_from_character_table): New function interface.
1802         (Vcharset_latin_jisx0201): New variable.
1803         (latin_jisx0201_to_ucs): New variable.
1804         (ucs_to_latin_jisx0201): New variable.
1805         (Vcharset_latin_iso8859_2): New variable.
1806         (latin_iso8859_2_to_ucs): New variable.
1807         (ucs_to_latin_iso8859_2): New variable.
1808         (Vcharset_latin_iso8859_3): New variable.
1809         (latin_iso8859_3_to_ucs): New variable.
1810         (ucs_to_latin_iso8859_3): New variable.
1811         (Vcharset_latin_iso8859_4): New variable.
1812         (latin_iso8859_4_to_ucs): New variable.
1813         (ucs_to_latin_iso8859_4): New variable.
1814         (Vcharset_latin_iso8859_9): New variable.
1815         (latin_iso8859_9_to_ucs): New variable.
1816         (ucs_to_latin_iso8859_9): New variable.
1817         (Vcharset_latin_viscii_lower): New variable.
1818         (latin_viscii_lower_to_ucs): New variable.
1819         (ucs_to_latin_viscii_lower): New variable.
1820         (Vcharset_latin_viscii_upper): New variable.
1821         (latin_viscii_upper_to_ucs): New variable.
1822         (ucs_to_latin_viscii_upper): New variable.
1823         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
1824         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
1825         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
1826         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
1827         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
1828         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
1829         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
1830         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
1831         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
1832         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
1833
1834         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
1835         (Vcharset_latin_viscii_upper): New variable.
1836         (make_byte_from_character_table): New function.
1837         (put_byte_from_character_table): New function.
1838         (get_byte_from_character_table): New function.
1839         (CHAR96): New macro.
1840         (ucs_to_latin_jisx0201): New variable.
1841         (latin_jisx0201_to_ucs): New variable.
1842         (ucs_to_latin_iso8859_2): New variable.
1843         (latin_iso8859_2_to_ucs): New variable.
1844         (ucs_to_latin_iso8859_3): New variable.
1845         (latin_iso8859_3_to_ucs): New variable.
1846         (ucs_to_latin_iso8859_4): New variable.
1847         (latin_iso8859_4_to_ucs): New variable.
1848         (ucs_to_latin_iso8859_9): New variable.
1849         (latin_iso8859_9_to_ucs): New variable.
1850         (ucs_to_latin_viscii_lower): New variable.
1851         (latin_viscii_lower_to_ucs): New variable.
1852         (ucs_to_latin_viscii_upper): New variable.
1853         (latin_viscii_upper_to_ucs): New variable.
1854         (ucs_to_latin_tcvn5712): New variable.
1855         (latin_tcvn5712_to_ucs): New variable.
1856         (Qlatin_viscii_lower): New variable.
1857         (Qlatin_viscii_upper): New variable.
1858         (syms_of_mule_charset): Set up new symbol
1859         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
1860         (complex_vars_of_mule_charset): Set up new charset
1861         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
1862         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
1863         `ucs_to_<CHARSET>' tables.
1864
1865 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1866
1867         * text-coding.c: New file.
1868
1869 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1870
1871         * mule-charset.c (Fmake_char): Fix problem of 256-set.
1872
1873         * char-ucs.h (Vcharset_ucs_bmp): New variable.
1874         (MAKE_CHAR): Modify for `ucs-bmp'.
1875         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
1876         non-MULE characters of BMP.
1877
1878 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
1879
1880         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1881         to 0.6.
1882
1883 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1884
1885         * lstream.h:
1886         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
1887         - Include character.h for `CHAR_ASCII_P'.
1888
1889         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
1890
1891         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
1892         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
1893
1894         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
1895         (BYTE_C0_P): Likewise.
1896         (BYTE_C1_P): Likewise.
1897         (Lstream_get_emchar_1): Likewise.
1898         (Lstream_fput_emchar): Likewise.
1899         (Lstream_funget_emchar): Likewise.
1900         (copy_internal_to_external): Likewise.
1901         (copy_external_to_internal): Likewise.
1902
1903         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
1904         (BYTE_C0_P): Likewise.
1905         (BYTE_C1_P): Likewise.
1906         (Lstream_get_emchar_1): Likewise.
1907         (Lstream_fput_emchar): Likewise.
1908         (Lstream_funget_emchar): Likewise.
1909         (copy_internal_to_external): Likewise.
1910         (copy_external_to_internal): Likewise.
1911
1912         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
1913         (REP_BYTES_BY_FIRST_BYTE): Likewise.
1914
1915         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
1916         (BYTE_ASCII_P): Moved to mb-1byte.h.
1917
1918 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1919
1920         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
1921
1922         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
1923         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
1924         (VALID_CHARPTR_P): Moved to mb-*byte.h.
1925         (VALIDATE_CHARPTR_BACKWARD): Likewise.
1926         (VALIDATE_CHARPTR_FORWARD): Likewise.
1927         (simple_charptr_emchar): Moved to mb-multibyte.h.
1928         (simple_set_charptr_emchar): Likewise.
1929         (simple_charptr_copy_char): Likewise.
1930         (non_ascii_charptr_emchar): Likewise.
1931         (non_ascii_set_charptr_emchar): Likewise.
1932         (non_ascii_charptr_copy_char): Likewise.
1933         (charptr_emchar): Moved to mb-*byte.h.
1934         (set_charptr_emchar): Likewise.
1935         (charptr_copy_char): Likewise.
1936
1937         * mb-1byte.h, mb-multibyte.h: New files.
1938
1939 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1940
1941         * mb-utf-8.h (MULTIBYTE): New macro.
1942         (MAX_EMCHAR_LEN): Moved from buffer.h.
1943         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
1944
1945         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
1946
1947         * mb-lb.h, multibyte.h: New files.
1948
1949         * char-1byte.h (Charset_ID): Moved from buffer.h.
1950         (MIN_LEADING_BYTE): Likewise.
1951         (LEADING_BYTE_ASCII): Likewise.
1952         (NUM_LEADING_BYTES): Likewise.
1953         (CHARSETP): Likewise.
1954         (CHARSET_BY_LEADING_BYTE): Likewise.
1955         (XCHARSET_LEADING_BYTE): Likewise.
1956         (XCHARSET_GRAPHIC): Likewise.
1957         (XCHARSET_COLUMNS): Likewise.
1958         (XCHARSET_DIMENSION): Likewise.
1959         (CHAR_CHARSET): Likewise.
1960         (CHAR_LEADING_BYTE): Likewise.
1961         (BREAKUP_CHAR): Likewise.
1962         (Vcharset_ascii): Likewise.
1963
1964         * buffer.h: Include multibyte.h unconditionally.
1965         (VALID_CHARPTR_P): Moved to multibyte.h.
1966         (ASSERT_VALID_CHARPTR): Likewise.
1967         (REAL_INC_CHARPTR): Likewise.
1968         (REAL_INC_CHARBYTIND): Likewise.
1969         (REAL_DEC_CHARPTR): Likewise.
1970         (INC_CHARPTR): Likewise.
1971         (INC_CHARBYTIND): Likewise.
1972         (DEC_CHARPTR): Likewise.
1973         (VALIDATE_CHARPTR_BACKWARD): Likewise.
1974         (VALIDATE_CHARPTR_FORWARD): Likewise.
1975         (charptr_n_addr): Likewise.
1976         (MAX_EMCHAR_LEN): Moved to mb-*.h.
1977         (simple_charptr_emchar): Moved to multibyte.h.
1978         (simple_set_charptr_emchar): Likewise.
1979         (simple_charptr_copy_char): Likewise.
1980         (non_ascii_charptr_emchar): Likewise.
1981         (non_ascii_set_charptr_emchar): Likewise.
1982         (non_ascii_charptr_copy_char): Likewise.
1983         (charptr_emchar): Likewise.
1984         (set_charptr_emchar): Likewise.
1985         (charptr_copy_char): Likewise.
1986         (charptr_emchar_n): Likewise.
1987         (Charset_ID): Moved to char-1byte.h.
1988         (Vcharset_ascii): Likewise.
1989         (CHAR_CHARSET): Likewise.
1990         (CHAR_LEADING_BYTE): Likewise.
1991         (LEADING_BYTE_ASCII): Likewise.
1992         (NUM_LEADING_BYTES): Likewise.
1993         (MIN_LEADING_BYTE): Likewise.
1994         (CHARSETP): Likewise.
1995         (CHARSET_BY_LEADING_BYTE): Likewise.
1996         (XCHARSET_LEADING_BYTE): Likewise.
1997         (XCHARSET_GRAPHIC): Likewise.
1998         (XCHARSET_COLUMNS): Likewise.
1999         (XCHARSET_DIMENSION): Likewise.
2000         (BREAKUP_CHAR): Likewise.
2001
2002 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2003
2004         * character.h: Add document about interface for characters.
2005
2006         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2007         (MAKE_CHAR): Delete comment about
2008         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2009         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2010         (BREAKUP_CHAR): Modify name of arguments.
2011         (CHAR_CHARSET): Modify name of argument.
2012
2013         * buffer.h: Delete document about Emchar accessors.
2014
2015 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2016
2017         * character.h (CHAR_INTP): Moved from buffer.h
2018         (CHAR_OR_CHAR_INTP): Likewise.
2019         (XCHAR_OR_CHAR_INT): Likewise.
2020         (CHECK_CHAR_COERCE_INT): Likewise.
2021
2022         * buffer.h (CHAR_INTP): Moved to character.h
2023         (CHAR_OR_CHAR_INTP): Likewise.
2024         (XCHAR_OR_CHAR_INT): Likewise.
2025         (CHECK_CHAR_COERCE_INT): Likewise.
2026
2027 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2028
2029         * character.h:
2030         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2031         - Include char-1byte.h, char-lb.h or char-ucs.h.
2032
2033         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2034
2035         * buffer.h: Include character unconditionally.
2036         (valid_char_p): Moved to char-*.h.
2037         (non_ascii_valid_char_p): Moved to char-lb.h.
2038
2039         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2040
2041 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2042
2043         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2044         in UTF-2000 because it is not ported yet and not to use
2045         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2046         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2047         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2048
2049         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2050         (CHAR_ASCII_P): Moved from character.h.
2051
2052         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2053         (CHAR_ASCII_P): Likewise.
2054         (CHAR_FIELD1_MASK): Deleted.
2055         (CHAR_FIELD2_MASK): Deleted.
2056         (CHAR_FIELD3_MASK): Deleted.
2057         (MAX_CHAR_BASIC_LATIN): New macro.
2058         (CHAR_FIELD1): Deleted.
2059         (CHAR_FIELD2_INTERNAL): Deleted.
2060         (CHAR_FIELD3_INTERNAL): Deleted.
2061         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2062         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2063         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2064         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2065         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2066         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2067         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2068         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2069         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2070         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2071         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2072         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2073         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2074         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2075         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2076         (MIN_CHAR_COMPOSITION): Deleted.
2077         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2078         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2079
2080 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2081
2082         * buffer.h: Include mb-utf-8.h in UTF-2000.
2083
2084         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2085
2086         * mb-utf-8.h: New file.
2087
2088 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2089
2090         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2091         instead of `int'.
2092
2093         * mule-charset.h, buffer.h (Charset_ID): New type.
2094
2095 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2096
2097         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2098         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2099         instead of `MULE_CHAR_PRIVATE_OFFSET',
2100         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2101         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2102         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2103
2104         * character.h (Vcharset_japanese_jisx0212): New variable
2105         definition.
2106
2107 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2108
2109         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
2110         (charset_by_attributes): Delete array about direction.
2111         (latin_a_char_to_charset): New variable in UTF-2000.
2112         (latin_a_char_to_byte1): New variable in UTF-2000.
2113         (latin_a_char_to_byte2): New variable in UTF-2000.
2114         (Qucs_bmp): New variable.
2115         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
2116         `Bufbyte'.
2117         (next_allocated_2_byte_leading_byte): Likewise.
2118         (non_ascii_set_charptr_emchar): Likewise.
2119         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
2120         `CHARSET_TYPE_256X256' in UTF-2000; modify for
2121         `charset_by_attributes'.
2122         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
2123         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
2124         and `CHARSET_BY_LEADING_BYTE'.
2125         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
2126         `utf-2000-version' to `vars_of_mule_charset'.
2127         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
2128         define `leading-code-private-11' in UTF-2000; move setting of
2129         `utf-2000-version' from `syms_of_mule_charset'.
2130         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
2131         UTF-2000.
2132
2133         * character.h (Charset_ID): New type.
2134         (LEADING_BYTE_UCS_BMP): New macro.
2135         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
2136         (CHARSET_ID_OFFSET_94): New macro.
2137         (MIN_CHARSET_ID_PRIVATE_94): New macro.
2138         (MAX_CHARSET_ID_PRIVATE_94): New macro.
2139         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
2140         final-byte.
2141         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
2142         (LEADING_BYTE_LATIN_JISX0201): Likewise.
2143         (CHARSET_ID_OFFSET_96): New macro.
2144         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
2145         CHARSET_ID_OFFSET_96 and final-byte.
2146         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
2147         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
2148         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
2149         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
2150         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
2151         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
2152         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
2153         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
2154         (LEADING_BYTE_THAI_TIS620): Likewise.
2155         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
2156         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
2157         (CHARSET_ID_OFFSET_94x94): New macro.
2158         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
2159         CHARSET_ID_OFFSET_94x94 and final-byte.
2160         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
2161         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
2162         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
2163         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
2164         (LEADING_BYTE_CHINESE_GB2312): Likewise.
2165         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
2166         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
2167         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
2168         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
2169         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
2170         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
2171         (CHARSET_TYPE_128X128): New macro.
2172         (CHARSET_TYPE_256X256): New macro.
2173         (XCHARSET_PRIVATE_P): Delete unconditionally.
2174         (charset_by_attributes): Delete array about direction.
2175         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
2176         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
2177         (MIN_CHAR_94): New macro.
2178         (MAX_CHAR_94): New macro.
2179         (MIN_CHAR_96): New macro.
2180         (MAX_CHAR_96): New macro.
2181         (MIN_CHAR_94x94): New macro.
2182         (MAX_CHAR_94x94): New macro.
2183         (MIN_CHAR_96x96): New macro.
2184         (MAX_CHAR_96x96): New macro.
2185         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
2186         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2187         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
2188         - 32)'.
2189         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
2190         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
2191         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
2192         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
2193         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
2194         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
2195         `XCHARSET_LEADING_BYTE' to make code-point.
2196         (latin_a_char_to_charset): New variable.
2197         (latin_a_char_to_byte1): New variable.
2198         (latin_a_char_to_byte2): New variable.
2199         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
2200         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
2201         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
2202
2203         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
2204         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
2205         (find_charsets_in_emchar_string): Likewise.
2206         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
2207
2208         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
2209         `int'.
2210         (decode_coding_iso2022): Likewise.
2211
2212         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
2213         of `unsigned char'.
2214
2215         * redisplay.c (redisplay_text_width_emchar_string): Use
2216         `Charset_ID' instead of `unsigned char'.
2217         (redisplay_frame_text_width_string): Likewise.
2218
2219         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
2220         `unsigned char'.
2221
2222         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
2223         instead of `unsigned char'.
2224         (face_cachel_charset_font_metric_info): Likewise.
2225
2226         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
2227         (get_non_ascii_char_table_value): Likewise.
2228         (get_char_table): Likewise.
2229         (put_char_table): Likewise.
2230         (map_over_other_charset): Likewise.
2231         (map_char_table): Likewise.
2232
2233         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
2234         instead of `unsigned char'.
2235
2236 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
2237
2238         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
2239         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
2240
2241         * mule-charset.c (leading_code_private_11): Don't define in
2242         UTF-2000.
2243
2244         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
2245         in UTF-2000 because it is not ported yet and not to use
2246         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
2247
2248 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
2249
2250         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
2251
2252 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2253
2254         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
2255         in UTF-2000.
2256
2257         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
2258         of unsigned char to store leading-byte.
2259
2260         * chartab.c (get_non_ascii_char_table_value): Don't use
2261         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
2262
2263         * file-coding.c (encode_coding_big5): Delete bogus implementation
2264         in UTF2000.
2265
2266         * character.h (LEADING_BYTE_*): Delete definition for
2267         non-UTF-2000.
2268         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
2269         (LEADING_BYTE_PREFIX_P): Deleted.
2270         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
2271         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
2272         (BUFBYTE_LEADING_BYTE_P): Deleted.
2273         (CHARSET_PRIVATE_P): Deleted unconditionally.
2274         (rep_bytes_by_first_byte): Deleted unconditionally.
2275         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
2276         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
2277         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2278         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
2279         (CHAR_FIELD2): Deleted.
2280         (CHAR_FIELD3): Deleted.
2281         (MAKE_CHAR): Delete definition for non-UTF-2000.
2282         (BREAKUP_CHAR_1_UNSAFE): Deleted.
2283         (breakup_char_1): New implementation.
2284         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
2285         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
2286
2287 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2288
2289         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
2290         condition.
2291
2292 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2293
2294         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
2295         (CHARSET_PRIVATE_P): Likewise.
2296         (XCHARSET_PRIVATE_P): Likewise.
2297         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
2298
2299         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
2300         UTF2000.
2301         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
2302
2303 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2304
2305         * character.h (LEADING_BYTE_*): Changed in UTF2000.
2306         (NUM_LEADING_BYTES): Changed from 128 to 256.
2307         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
2308         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
2309         UTF2000.
2310         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
2311
2312         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
2313         UTF2000.
2314         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
2315         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
2316         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
2317         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
2318         (Qchinese_cns11643_3): New variable in UTF2000.
2319         (Qchinese_cns11643_4): New variable in UTF2000.
2320         (Qchinese_cns11643_5): New variable in UTF2000.
2321         (Qchinese_cns11643_6): New variable in UTF2000.
2322         (Qchinese_cns11643_7): New variable in UTF2000.
2323         (syms_of_mule_charset): Define `chinese-cns11643-3',
2324         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2325         and `chinese-cns11643-7' in UTF2000.
2326         (vars_of_mule_charset): Initialize
2327         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
2328         + 1 in UTF2000.
2329         (complex_vars_of_mule_charset): Setup charset
2330         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
2331         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
2332
2333 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2334
2335         * mule-charset.c: Move setting for `leading-code-private-11' from
2336         `syms_of_mule_charset' to `vars_of_mule_charset'.
2337
2338 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2339
2340         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
2341         and `NUM_LEADING_BYTES' in assert.
2342
2343 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2344
2345         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
2346         instead of 128.
2347         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
2348         `NUM_LEADING_BYTES' instead of 128.
2349
2350 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2351
2352         * mule-charset.h (charset_by_leading_byte): Use
2353         `NUM_LEADING_BYTES' instead of 128.
2354         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
2355
2356         * mule-charset.c (charset_by_leading_byte): Use
2357         `NUM_LEADING_BYTES' instead of 128.
2358         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
2359
2360         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
2361         128.
2362
2363 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2364
2365         * mule-charset.c (syms_of_mule_charset): Update to
2366         0.4 (Shin-Imamiya).
2367
2368 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
2369
2370         * file-coding.c (encode_coding_sjis): New implementation for
2371         UTF2000.  (decode_coding_sjis): Ditto.
2372
2373 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2374
2375         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
2376         Don't define in UTF2000.
2377
2378         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
2379         defined.
2380
2381         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
2382         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
2383         MULE.
2384
2385 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2386
2387         * config.h.in (CHAR_IS_UCS4): New macro.
2388
2389         * mule-charset.c (rep_bytes_by_first_byte): Modify for
2390         conventional MULE representation.
2391         (syms_of_mule_charset): Update to 0.3 (Imamiya).
2392
2393         * mule-charset.h: Reverted to original.
2394
2395         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
2396         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
2397         "mule-charset.h" if CHAR_IS_UCS4 is defined.
2398
2399         * character.h: New file.
2400
2401         * file-coding.c (Fmake_coding_system): Set 1 to
2402         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
2403         defined.
2404         (encode_coding_no_conversion): New implementation for UTF2000.
2405
2406         * file-coding.h (struct Lisp_Coding_System): Add new member
2407         `fixed.size'.
2408
2409 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
2410
2411         * file-coding.c (decode_coding_iso2022): Code-point arguments of
2412         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
2413         (encode_coding_iso2022): New implementation for UTF2000.
2414
2415 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2416
2417         * mule-canna.c (c2mu): New implementation for UTF2000.
2418         (m2c): Likewise.
2419
2420 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2421
2422         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
2423
2424 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2425
2426         * file-coding.c (reset_encoding_stream): Set 0 to
2427         `str->iso2022.current_char_boundary' in UTF2000.
2428         (encode_utf8): Don't define in UTF2000.
2429         (encode_coding_utf8): New implementation for UTF-8 representation
2430         of UTF2000.
2431         (complex_vars_of_file_coding): Define coding-system `utf-8'.
2432
2433 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2434
2435         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
2436
2437         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
2438         UTF2000.
2439         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2440
2441         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
2442
2443         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
2444         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
2445         as UTF-8 in UTF2000.
2446         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
2447         (non_ascii_valid_char_p): Don't define in UTF2000.
2448         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
2449         (Lstream_get_emchar_1): Likewise.
2450         (utf-2000-version): New variable in UTF2000.
2451
2452         * lread.c (read_escape): Add new reader `u'.
2453
2454         * insdel.c (three_to_one_table): Don't define in UTF2000.
2455         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
2456         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
2457         UTF2000.
2458         (bytind_to_bufpos_func): Likewise.
2459         (buffer_mule_signal_inserted_region): Likewise.
2460         (vars_of_insdel): Don't initialize `three_to_one_table'.
2461         (init_buffer_text): Use `buf->text->mule_size' instead of
2462         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
2463         UTF2000.
2464
2465         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
2466         UTF-8 representation in UTF2000.
2467         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
2468         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
2469         (decode_coding_iso2022): Don't define local variable `lb' in
2470         UTF2000; don't use LEADING_BYTE in UTF2000; use
2471         `DECODE_ADD_UCS_CHAR' in UTF2000.
2472         (convert_to_external_format): Decode as UTF-8 in UTF2000.
2473
2474         * config.h.in (UTF2000): New macro.
2475
2476         * buffer.h (struct buffer_text): Add new member `mule_size' and
2477         don't add `mule_shifter' and `mule_three_p' in UTF2000.
2478         (valid_char_p): Return always 1 in UTF2000.
2479         (MAX_EMCHAR_LEN): 6 in UTF2000.
2480         (three_to_one_table): Don't define in UTF2000.
2481         (real_bufpos_to_bytind): Modify for UTF-8 representation in
2482         UTF2000.
2483         (real_bytind_to_bufpos): Likewise.
2484
2485         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
2486
2487 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2488
2489         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
2490         representation change.
2491         (Vutf_2000_version): New variable.
2492         (leading_code_private_11): New variable.
2493         (syms_of_mule_charset): Add new variables `utf-2000-version' and
2494         `leading-code-private-11'.
2495
2496         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
2497         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
2498         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
2499         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
2500         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
2501         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
2502         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
2503         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
2504         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
2505         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
2506         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
2507         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
2508         (MIN_CHAR_GREEK): New macro.
2509         (MAX_CHAR_GREEK): New macro.
2510         (MIN_CHAR_CYRILLIC): New macro.
2511         (MAX_CHAR_CYRILLIC): New macro.
2512         (MIN_CHAR_HEBREW): New macro.
2513         (MAX_CHAR_HEBREW): New macro.
2514         (MIN_CHAR_THAI): New macro.
2515         (MAX_CHAR_THAI): New macro.
2516         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
2517         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
2518         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
2519         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
2520         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
2521         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
2522         (CHAR_FIELD2): New inline function.
2523         (CHAR_FIELD3): New inline function.
2524         (MULE_CHAR_PRIVATE_OFFSET): New macro.
2525         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
2526         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
2527         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
2528         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
2529         (MIN_CHAR_COMPOSITION): Likewise.
2530         (CHAR_LEADING_BYTE): Modified for character representation change.
2531         (MAKE_CHAR): Likewise.
2532
2533         * lisp.h (Vcharset_latin_iso8859_1): New variable.
2534         (Vcharset_greek_iso8859_7): Likewise.
2535         (Vcharset_cyrillic_iso8859_5): Likewise.
2536         (Vcharset_hebrew_iso8859_8): Likewise.
2537         (Vcharset_thai_tis620): Likewise.
2538         (Vcharset_katakana_jisx0201): Likewise.
2539
2540 2000-05-28  Martin Buchholz <martin@xemacs.org>
2541
2542         * XEmacs 21.2.34 is released.
2543
2544 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
2545
2546         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
2547         start cache.
2548         (updating_line_start_cache): Gone.
2549         (regenerate_window): Replace resetting of VERTICAL_CLIP by
2550         generic code to force a minimum of 1 line laid out in the
2551         CMOTION_DISP case.
2552
2553 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
2554
2555         * glyphs.c (instantiate_image_instantiator): Check for initialized
2556         height & width no longer special cases IMAGE_NOTHING.
2557         (nothing_instantiate): Set height and width of instance.
2558
2559 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
2560
2561         * unexelf.c (unexec): Search for ".data" section.
2562         Initialize new_data2_offset from old_data_index.
2563         Remove redundant check for ElfW.
2564
2565 2000-05-23  Andy Piper  <andy@xemacs.org>
2566
2567         * glyphs.c (get_image_instantiator_governing_domain): allow more
2568         specific domains as the governing domain rather than expecting an
2569         exact match. This fixes problems with layouts.
2570
2571 2000-05-22  Andy Piper  <andy@xemacs.org>
2572
2573         * redisplay-output.c (compare_runes): check for non-images
2574
2575         * glyphs.c (set_glyph_dirty_p): ditto.
2576         (update_glyph_cachel_data): ditto.
2577
2578         * glyphs-widget.c (layout_post_instantiate): ditto.
2579         (layout_post_instantiate): ditto.
2580
2581         * event-msw.c (mswindows_wnd_proc): warning removal.
2582
2583 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
2584
2585         * s\mingw32.h: Added #undef for CLASH_DETECTION.
2586
2587         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
2588
2589         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
2590
2591         * nt.c (rva_to_section): mingw32 needs rva_to_section.
2592         (mswindows_executable_type): mingw32 now has enough headers for
2593         this to work.
2594
2595 2000-05-20  Andy Piper  <andy@xemacs.org>
2596
2597         * console-msw.c (mswindows_output_last_error): ; -> ,
2598
2599 2000-05-12  Andy Piper  <andy@xemacs.org>
2600
2601         * console-msw.c (FROB): compare ints with ints.
2602
2603 2000-05-11  Andy Piper  <andy@xemacs.org>
2604
2605         * glyphs-x.c (x_finalize_image_instance): make minimal build
2606         happy.
2607
2608 2000-05-20  Ben Wing  <ben@xemacs.org>
2609
2610         * event-Xt.c:
2611         * event-Xt.c (vars_of_event_Xt):
2612         move modifier-keys-are-sticky to event-stream.c.
2613         
2614         * event-msw.c:
2615         * event-msw.c (mswindows_enqueue_mouse_button_event):
2616         * event-msw.c (key_needs_default_processing_p):
2617         * event-msw.c (XEMSW_LCONTROL):
2618         * event-msw.c (mswindows_handle_sticky_modifiers):
2619         * event-msw.c (FROB):
2620         * event-msw.c (clear_sticky_modifiers):
2621         * event-msw.c (output_modifier_keyboard_state):
2622         * event-msw.c (output_alt_keyboard_state):
2623         * event-msw.c (mswindows_wnd_proc):
2624         * event-msw.c (mswindows_modifier_state):
2625         * event-msw.c (emacs_mswindows_handle_magic_event):
2626         implement sticky modifiers.
2627         
2628         * event-stream.c:
2629         * event-stream.c (vars_of_event_stream):
2630         move modifier-keys-are-sticky here.
2631
2632         * lisp.h:
2633         add CHECK_FUNCTION.
2634         
2635         * rangetab.c:
2636         implement map-range-table.
2637
2638
2639 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
2640
2641         * redisplay-tty.c (reset_tty_modes):
2642         (tty_redisplay_shutdown): Adjust argument type to
2643         tty_frame_output_end.
2644
2645 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
2646
2647         * eval.c (Fbacktrace): Don't output a line with only right
2648         parenthesis.
2649
2650 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
2651
2652         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
2653         (Fpq_reset_poll): Ditto.
2654
2655 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
2656
2657         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
2658
2659 2000-05-16  Ben Wing  <ben@xemacs.org>
2660
2661         * buffer.c:
2662         * buffer.c (dfc_convert_to/from_internal_format):
2663         * buffer.c (reinit_vars_of_buffer):
2664         Fix conversion functions to allow reentrancy.
2665         
2666         * console-msw.c:
2667         * console-msw.c (mswindows_output_last_error):
2668         New fun, generally useful -- output a human-readable
2669         version of GetLastError() on the console.
2670         
2671         * console-msw.h:
2672         * console-msw.h (struct mswindows_frame):
2673         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
2674         
2675         * console-stream.c (stream_output_begin):
2676         * console-stream.c (stream_output_end):
2677         * console-stream.c (stream_output_vertical_divider):
2678         * console-stream.c (stream_clear_region):
2679         * console-stream.c (stream_flash):
2680         * console-stream.c (console_type_create_stream):
2681         Delete blank stream methods, not needed.
2682         
2683         * console.h (struct console_methods):
2684         Split begin/end methods into window and frame.
2685         
2686         * event-msw.c:
2687         * event-msw.c (mswindows_handle_paint):
2688         * event-msw.c (output_alt_keyboard_state):
2689         * event-msw.c (mswindows_wnd_proc):
2690         * event-msw.c (vars_of_event_mswindows):
2691         Comment about problems with ignored-expose.
2692         Define mswindows-debug-events; not really implemented.
2693         
2694         * frame-msw.c (mswindows_init_frame_1):
2695         random cleanups.
2696         
2697         * glyphs-msw.c:
2698         * glyphs-msw.c (begin_defer_window_pos):
2699         * glyphs-msw.c (mswindows_unmap_subwindow):
2700         * glyphs-msw.c (mswindows_map_subwindow):
2701         * glyphs-msw.c (mswindows_resize_subwindow):
2702         Use DeferWindowPos to reduce flashing when mapping/unmapping.
2703         
2704         * glyphs.c (make_image_instance_1):
2705         Fix crash.
2706         
2707         * gutter.c (Fredisplay_gutter_area):
2708         Use new begin/end methods.
2709         
2710         * lisp.h (Dynarr_new2):
2711         New creation fun.
2712         
2713         * redisplay-msw.c:
2714         * redisplay-msw.c (mswindows_frame_output_begin):
2715         * redisplay-msw.c (mswindows_frame_output_end):
2716         * redisplay-msw.c (console_type_create_redisplay_mswindows):
2717         New begin/end methods -- handle DeferWindowPos.
2718         
2719         * redisplay-output.c (redisplay_move_cursor):
2720         * redisplay-output.c (redraw_cursor_in_window):
2721         * redisplay-output.c (redisplay_update_line):
2722         * redisplay-output.c (redisplay_output_window):
2723         New begin/end methods.
2724
2725         * redisplay-tty.c:
2726         * redisplay-tty.c (tty_frame_output_begin):
2727         * redisplay-tty.c (tty_frame_output_end):
2728         * redisplay-tty.c (console_type_create_redisplay_tty):
2729         New begin/end methods.
2730
2731         * redisplay-x.c:
2732         * redisplay-x.c (x_window_output_begin):
2733         * redisplay-x.c (x_window_output_end):
2734         * redisplay-x.c (console_type_create_redisplay_x):
2735         New begin/end methods.
2736
2737         * redisplay.c (redisplay_frame):
2738         * redisplay.c (Fredisplay_echo_area):
2739         New begin/end methods.
2740         use MAYBE_DEVMETH for clear_frame; it may not exist.
2741
2742         * window.h (WINDOW_XFRAME):
2743         WINDOW_XFOO macros -- get locale and decode struct pointer.
2744
2745
2746 2000-05-12  Ben Wing  <ben@xemacs.org>
2747
2748         * emacs.c:
2749         * emacs.c (ensure_no_quitting_from_now_on):
2750         * emacs.c (fatal_error_signal):
2751         * emacs.c (mswindows_handle_hardware_exceptions):
2752         * emacs.c (main):
2753         * emacs.c (Fkill_emacs):
2754         * emacs.c (shut_down_emacs):
2755         * emacs.c (assert_failed):
2756         various improvements in fatal error handling.
2757         
2758         * eval.c:
2759         move preparing_for_armageddon to emacs.c.
2760         
2761         * lisp.h:
2762         declare fatal_error_in_progress.
2763         
2764         * print.c:
2765         * print.c (std_handle_out_external):
2766         * print.c (std_handle_out_va):
2767         * print.c (stderr_out):
2768         * print.c (stdout_out):
2769         use console under mswin when no standard output.
2770         don't do code conversion during fatal error.
2771         
2772         * scrollbar.c (Fscrollbar_page_up):
2773         * scrollbar.c (Fscrollbar_page_down):
2774         fix missing else.  reindent.
2775
2776 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
2777
2778         Emergency fix.  
2779         
2780         * glyphs.h (GLYPH_CACHEL_DESCENT): 
2781         (GLYPH_CACHEL_DESCENT): 
2782         (GLYPH_CACHEL_DESCENT): 
2783         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
2784         used in case these are inline functions.
2785         Use more absurd values to error check.
2786
2787         include window.h for error check functions.
2788
2789 2000-05-11  Ben Wing  <ben@xemacs.org>
2790
2791         * cmdloop.c (Freally_early_error_handler):
2792         Display message box under windows; otherwise, message will disappear
2793         before it can be viewed.
2794
2795         * console-msw.c:
2796         * console-msw.c (Fmswindows_message_box):
2797         * console-msw.c (FROB):
2798         * console-msw.c (syms_of_console_mswindows):
2799         Define new fun `mswindows-message-box'.
2800         #### I will merge this into `popup-dialog-box'; just give me
2801         a bit of time.
2802         
2803         * general.c:
2804         * general.c (syms_of_general):
2805         Some new symbols used in `mswindows-message-box'.
2806         
2807         * glyphs.c:
2808         * glyphs.c (Fset_image_instance_property):
2809         put warning in this fun.
2810         
2811         * glyphs.h:
2812         * glyphs.h (GLYPH_CACHEL_WIDTH):
2813         * glyphs.h (GLYPH_CACHEL_ASCENT):
2814         * glyphs.h (GLYPH_CACHEL):
2815         * glyphs.h (GLYPH_CACHEL_GLYPH):
2816         define error-checking versions to try to catch a bug i've seen --
2817         redisplay gets in an infinite loop because the glyph width of the
2818         continuation glyph is 65535.
2819         
2820         * lisp.h:
2821         Extern message-box stuff.
2822
2823         * window.c (allocate_window):
2824         * window.c (make_dummy_parent):
2825         * window.c (Fset_window_configuration):
2826         Use EQUAL not EQ for subwindow caches to make them work a bit
2827         better. (Something is still very broken.)
2828         
2829
2830 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
2831
2832         * glyphs.c (image_instantiate): Suppress gcc warnings.
2833         (Fmake_image_instance): Fix doc string.
2834         * specifier.c (Fmake_specifier): Ditto.
2835
2836 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
2837
2838         * paths.h.in (PATH_LOCK): Removed.
2839         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
2840         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
2841
2842 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
2843
2844         * fns.c (Ffeaturep): Update e-mail address in doc-string.
2845         Document (featurep '(and xemacs 21.02)).
2846
2847 2000-05-09  Ben Wing  <ben@xemacs.org>
2848
2849         * buffer.c (complex_vars_of_buffer):
2850         update modeline-format doc.
2851         
2852         * device.h:
2853         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
2854         
2855         * emacs.c:
2856         timeline of all released versions of Emacs, for use in creating
2857         authorship comments and in synching up.
2858         
2859         * glyphs-widget.c (image_instantiator_buttons):
2860         * glyphs-widget.c (image_instantiator_edit_fields):
2861         * glyphs-widget.c (image_instantiator_combo_box):
2862         * glyphs-widget.c (image_instantiator_scrollbar):
2863         * glyphs-widget.c (image_instantiator_progress_guage):
2864         * glyphs-widget.c (image_instantiator_tree_view):
2865         * glyphs-widget.c (image_instantiator_tab_control):
2866         * glyphs-widget.c (image_instantiator_labels):
2867         * glyphs-widget.c (image_instantiator_layout):
2868         * glyphs-widget.c (image_instantiator_native_layout):
2869         rename decode_domain method to governing_domain.
2870         
2871         * glyphs.c:
2872         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
2873         * glyphs.c (add_entry_to_device_ii_format_list):
2874         make sure we don't put an entry more than once into the list.
2875         * glyphs.c (check_instance_cache_mapper):
2876         *************************************************************
2877         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
2878         HAVE BEEN GETTING.
2879         *************************************************************
2880         * glyphs.c (get_image_instantiator_governing_domain):
2881         clean up, expand on new concept of governing domain.
2882         * glyphs.c (instantiate_image_instantiator):
2883         * glyphs.c (allocate_image_instance):
2884         use governing_domain instead of cache_domain in naming.
2885         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
2886         * glyphs.c (make_image_instance_1):
2887         * glyphs.c (Fmake_image_instance):
2888         allow for any domain (not just device), and process the
2889         governing domain correctly.  very big doc fix.
2890         * glyphs.c (Fimage_instance_domain):
2891         new primitive, to retrieve the governing domain of an image instance.
2892         * glyphs.c (image_instantiate):
2893         use new governing_domain stuff.  this fixes a crash you could get
2894         by instantiating certain widget glyphs in frame locales. (should
2895         signal an error instead of crashing.)
2896         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
2897         * glyphs.c (Fglyphp): clean up doc.
2898         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
2899         * glyphs.c (syms_of_glyphs):
2900         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
2901         * glyphs.c (image_instantiator_format_create): add some comments about
2902         bogus code.
2903         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
2904         for current-display-table. (Apparently Hrjove implemented in 1998 a
2905         design I wrote up in 1996, but didn't update the doc string.)
2906         
2907         * glyphs.h: clean up a doc string.
2908         * glyphs.h (governing_domain):
2909         * glyphs.h (struct image_instantiator_methods):
2910         changes for governing_domain stuff.
2911         
2912         * gutter.c:
2913         * gutter.c (Fgutter_specifier_p):
2914         * gutter.c (Fgutter_size_specifier_p):
2915         * gutter.c (Fgutter_visible_specifier_p):
2916         * objects.c:
2917         * objects.c (Fcolor_specifier_p):
2918         * objects.c (Ffont_specifier_p):
2919         * objects.c (Fface_boolean_specifier_p):
2920         doc strings moved to make-*-specifier.
2921         
2922         * redisplay.c (add_disp_table_entry_runes_1):
2923         * redisplay.c (generate_fstring_runes):
2924         * redisplay.c (screen):
2925         add random comments and doc strings.
2926         
2927         * specifier.c:
2928         * specifier.c (Fmake_specifier):
2929         major overhaul of this doc string.
2930         
2931         * specifier.c (Fvalid_specifier_domain_p):
2932         comment about the bogosity of image instances being domains.
2933         * specifier.c (decode_domain):
2934         now non-static, used in glyphs.c.
2935         * specifier.c (specifier_instance):
2936         comment about the bogosity of image instances being domains.
2937         * specifier.c (Fgeneric_specifier_p):
2938         move doc string to make-generic-specifier.
2939         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
2940         rebackslashify.
2941         
2942         * specifier.h:
2943         * specifier.h (DOMAIN_FRAME):
2944         * specifier.h (DOMAIN_LIVE_P):
2945         * specifier.h (DOMAIN_XDEVICE):
2946         rebackslashify.
2947         add comments about problems with these macros.
2948         prototype for decode_domain.
2949         
2950         * toolbar.c:
2951         * toolbar.c (Ftoolbar_specifier_p):
2952         move doc string to `make-toolbar-specifier'.
2953         
2954         * window.c (window_unmap_subwindows_cache_mapper):
2955         *************************************************************
2956         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
2957         HAVE BEEN GETTING.
2958         *************************************************************
2959
2960 2000-05-09  Andy Piper  <andy@xemacs.org>
2961
2962         * glyphs.h: declare reset_frame_subwindow_instance_cache.
2963
2964         * window.c (Fset_window_configuration): reset the frame subwindow
2965         cache and re-initialize the window subwindow caches.
2966
2967         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
2968
2969 2000-05-09  Ben Wing  <ben@xemacs.org>
2970
2971         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
2972         DWORD.
2973
2974 2000-04-26  Mike Woolley  <mike@bulsara.com>
2975
2976         * ntheap.c: Changed recreate_heap to limit the amount reserved
2977         for the heap to that which is actually available. Also now
2978         displays a message box (with some dignostics) in the event that
2979         it still can't start.
2980
2981 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
2982
2983         * callproc.c (Fold_call_process_internal): GCPRO path
2984
2985 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
2986
2987         Patch by Bill Perry.
2988         
2989         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call 
2990         back data instead of #ifdef.
2991         (Fscrollbar_page_down): ditto.
2992
2993 2000-05-07  Ben Wing  <ben@xemacs.org>
2994
2995         * buffer.h:
2996         Kludge for defining Qmswindows_tstr.
2997         
2998         * nt.c:
2999         * nt.c (open_input_file):
3000         * nt.c (open_output_file):
3001         * nt.c (rva_to_section):
3002         * nt.c (mswindows_executable_type):
3003         Move all memory-mapped-file routines here (some were in unexnt.c,
3004         which is bad because they are used by process-nt.c, and unexnt
3005         won't be around when portable dumping).  Synched the above routines
3006         with FSF 20.6.
3007         
3008         * nt.h:
3009         Removed ifdef'd out bogus code.
3010         Fixed some prototypes.
3011         
3012         * nt.h (file_data):
3013         * nt.h (OFFSET_TO_RVA):
3014         * nt.h (RVA_TO_OFFSET):
3015         * nt.h (RVA_TO_PTR):
3016         Moved the memory-mapped-file structures, macros and prototypes
3017         here, to parallel nt.c.  ntheap.h should really be removed
3018         entirely, and it's a non-portable-dumper specific file.
3019         
3020         * ntheap.h (round_to_next):
3021         Moved the memory-mapped-file structures, macros and prototypes
3022         to nt.h.
3023
3024         * ntproc.c (compare_env):
3025         Moved rva_to_section and mswindows_executable_type to nt.c.
3026         Moved compare_env to process-nt.c.
3027         ntproc.c will die, one day.
3028
3029         * ntproc.c (sys_spawnve):
3030         Account for win32_ -> mswindows_.
3031
3032         * process-nt.c:
3033         * process-nt.c (struct nt_process_data):
3034         * process-nt.c (ensure_console_window_exists):
3035         * process-nt.c (compare_env):
3036         * process-nt.c (nt_create_process):
3037         * process-nt.c (nt_kill_process_by_pid):
3038         * process-nt.c (syms_of_process_nt):
3039         * process-nt.c (vars_of_process_nt):
3040         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
3041         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
3042         changes).  Eliminate our old `nt-quote-process-args' mechanism.
3043         Synch up nt_create_process with FSF 20.6 sys_spawnve.
3044         Move compare_env here from ntproc.c.
3045         
3046         * process.c (Fprocess_send_region):
3047         Takes an optional fourth argument, BUFFER, which should fix some
3048         problems with call-process.
3049         
3050         * syscommctrl.h:
3051         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
3052         
3053         * syswindows.h:
3054         Move ICC_BAR_CLASSES to syscommctrl.h.
3055         Add preliminary macros for MSWindows/Mule.  More to come.
3056
3057         * unexnt.c:
3058         * unexnt.c (unexec):
3059         open_output_file moved to nt.c.
3060
3061
3062 2000-05-05  Andy Piper  <andy@xemacs.org>
3063
3064         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
3065         instance from the frame cache also since GC may catch up too late
3066         to make frame deletion sane.
3067
3068 2000-05-04  Andy Piper  <andy@xemacs.org>
3069
3070         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
3071         (x_finalize_image_instance): ungcpro on deletion.
3072
3073         * glyphs.c (image_instantiator_format_create): give pointers a
3074         query geometry method so that the geometry is at least set.
3075
3076         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
3077         initialize layouts if using widgets.
3078
3079 2000-05-03  Andy Piper  <andy@xemacs.org>
3080
3081         * nt.c: remove bogus reference to sysmmsystem.h
3082
3083         * gui-x.c (popup_selection_callback): fix no selection abort.
3084
3085 2000-05-02  Andy Piper  <andy@xemacs.org>
3086
3087         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
3088         (mswindows_widget_instantiate): ditto.
3089
3090         * glyphs-widget.c (initialize_widget_image_instance): initialize
3091         children correctly.
3092         (widget_instantiate): cope with children and items in the same
3093         instance.
3094
3095         * glyphs.c (mark_image_instance): cope with children as a first
3096         class member.
3097         (image_instance_equal): ditto.
3098         (image_instance_hash): ditto.
3099         (image_instance_changed): ditto.
3100
3101 2000-04-30  Andy Piper  <andy@xemacs.org>
3102
3103         * glyphs.c (subwindow_query_geometry): new function. Return some
3104         defaults.
3105         (subwindow_instantiate): don't assign dimensions if none have been
3106         given.
3107         (image_instantiator_format_create): add subwindow_query_geometry.
3108         (print_image_instance): cope with layouts as widgets.
3109
3110 2000-04-29  Andy Piper  <andy@xemacs.org>
3111
3112         * frame.c (delete_frame_internal): call
3113         free_frame_subwindow_instance_cache so that all subwindows are
3114         finalized before their parent.
3115         (mark_frame): remove subwindow_cachels.
3116         (Fmake_frame): remove subwindow_cachel manipulation.
3117         (allocate_frame_core): subwindow_instance_cache is a weak list.
3118         (delete_frame_internal): set subwindow_instance_cache to nil.
3119
3120         * glyphs-msw.c (mswindows_finalize_image_instance): make double
3121         finalization safe.
3122         (mswindows_finalize_image_instance): use the device
3123         not the domain as the domain may have died already.
3124
3125         * glyphs-x.c (x_finalize_image_instance): ditto.
3126         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
3127         HEIGHT.
3128
3129         * redisplay-output.c (redisplay_unmap_subwindows): update for
3130         subwindow instance cache as a weak list.
3131         (redisplay_unmap_subwindows_maybe): ditto.
3132         (redisplay_unmap_subwindows_except_us): ditto.
3133
3134         * glyphs.c (unmap_subwindow): error checking will check the domain
3135         so don't deal with it here. Don't use cachels anymore.
3136         (map_subwindow): ditto.
3137         (update_subwindow_cachel_data): remove old accessor names.
3138         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
3139         (Fresize_subwindow): don't update cachel.
3140         (mark_subwindow_cachels):
3141         (update_subwindow_cachel_data):
3142         (add_subwindow_cachel):
3143         (get_subwindow_cachel_index):
3144         (update_subwindow_cachel):
3145         (reset_subwindow_cachels):
3146         (mark_subwindow_cachels_as_not_updated): deleted.
3147         (cache_subwindow_instance_in_frame_maybe): new function. Add a
3148         subwindow instance to the frame cache.
3149         (find_matching_subwindow): update for subwindow instance cache as
3150         a weak list.
3151         (update_widget_instances): ditto.
3152         (image_instance_type_to_mask):inlined.
3153         (free_frame_subwindow_instance_cache): new function. finalize all
3154         subwindows that are instantiated.
3155
3156         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
3157         of cachel information.
3158         (IMAGE_INSTANCE_DISPLAY_X):
3159         (IMAGE_INSTANCE_DISPLAY_Y):
3160         (IMAGE_INSTANCE_DISPLAY_WIDTH):
3161         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
3162         (XIMAGE_INSTANCE_DISPLAY_X):
3163         (XIMAGE_INSTANCE_DISPLAY_Y):
3164         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
3165         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.  
3166         remove subwindow_cachel structure and function references.
3167         (image_instance_type_to_mask): inline from glyphs.c
3168
3169         * redisplay.c (redisplay_frame): remove subwindow_cachel
3170         references.
3171
3172         * frame.h (struct frame): remove subwindow_cachels.
3173         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
3174
3175         * frameslots.h: add subwindow_instance_cache.
3176
3177         * window.c (replace_window): check subwindow cache of replacement.
3178         (window_unmap_subwindows_cache_mapper):
3179         (window_unmap_subwindows): new functions. Unmap all subwindows
3180         cached on this window.
3181         (mark_window_as_deleted): unmap all subwindows.
3182
3183 2000-04-27  Andy Piper  <andy@xemacs.org>
3184
3185         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
3186
3187         * glyphs-widget.c (widget_layout): return something.
3188         (layout_layout): return something. Fail if not intialized.
3189         (layout_query_geometry): ditto.
3190         (image_instantiator_native_layout): new function. Initialized the
3191         native layout type.
3192         (widget_instantiate): don't do layout stuff here.
3193
3194         * glyphs.c (instantiate_image_instantiator): reorded calling or
3195         instantiate and post_instantiate with layout in between.
3196         (image_instance_layout): be more selective about deciding whether
3197         the layout has been done or not.
3198
3199         * glyphs.h (struct image_instantiator_methods): return a value
3200         from layout_method.
3201
3202 2000-04-26  Andy Piper  <andy@xemacs.org>
3203
3204         * glyphs.c (allocate_image_instance): make initial width and
3205         height unspecified. Set initialized to 0.
3206
3207         * syscommctrl.h new file. Encapsulates commctrl.h.
3208
3209         * syswindows.h new file. Encapsulates windows.h.
3210
3211         * ntplay.c: use new syswindows.h and syscommctrl.h header.
3212         * nt.c: ditto.
3213         * console-msw.h: ditto.
3214         
3215         * redisplay-tty.c (tty_output_display_block): remove layout references.
3216
3217         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
3218         window handle rather than just the frame.
3219
3220         * glyphs.c (mark_image_instance): remove layout references.
3221         (print_image_instance): ditto.
3222         (image_instance_equal): ditto.
3223         (image_instance_hash): ditto.
3224         (decode_image_instance_type): ditto.
3225         (encode_image_instance_type): ditto.
3226         (image_instantiate): ditto.
3227         (allocate_glyph): ditto.
3228         (Fimage_instance_height): ditto.
3229         (Fimage_instance_width): ditto.
3230         (update_subwindow): ditto.
3231
3232         * redisplay-x.c (x_output_display_block): recode for layouts as
3233         widgets.
3234
3235         * redisplay-output.c (redisplay_output_layout): recode for layouts
3236         as widgets.
3237         (compare_runes): remove layout references.
3238
3239         * redisplay-msw.c (mswindows_output_display_block): recode for
3240         layouts as widgets.
3241
3242         * glyphs-widget.c (image_instantiator_layout): remove
3243         layout_possible_dest_types.
3244         (layout_possible_dest_types): deleted.
3245
3246         * glyphs.h (image_instance_type): remove layout references.
3247         (struct Lisp_Image_Instance): ditto. Add initialized flag.
3248         (IMAGE_INSTANCE_INITIALIZED): new accessor.
3249         (XIMAGE_INSTANCE_INITIALIZED): ditto.
3250         
3251 2000-04-25  Andy Piper  <andy@xemacs.org>
3252
3253         * glyphs-widget.c (image_instantiator_buttons):
3254         (image_instantiator_edit_fields):
3255         (image_instantiator_combo_box):
3256         (image_instantiator_scrollbar):
3257         (image_instantiator_progress_guage):
3258         (image_instantiator_tree_view):
3259         (image_instantiator_tab_control):
3260         (image_instantiator_labels):
3261         (image_instantiator_layout): call default post_instantiate method.
3262         (widget_post_instantiate): new function. Simply lays out the
3263         widgets.
3264
3265         * glyphs.h (struct image_instantiator_methods): add
3266         post_instantiate method.
3267
3268         * glyphs.c (instantiate_image_instantiator): add post_instantiate
3269         method calls.
3270
3271 2000-04-23  Andy Piper  <andy@xemacs.org>
3272
3273         * glyphs.h (struct image_instantiator_methods): add
3274         decode_domain_method.
3275         (struct Lisp_Image_Instance): remove subwindow frame - it can be
3276         derived from the domain.
3277         (IMAGE_INSTANCE_FRAME): new accessor.
3278         (XIMAGE_INSTANCE_FRAME): ditto.
3279
3280         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
3281         instead of _SUBWINDOW_FRAME.
3282         (finalize_image_instance): ditto.
3283         (Fimage_instance_foreground): ditto.
3284         (Fimage_instance_background): ditto.
3285         (image_instantiate): ditto.
3286         (update_subwindow_cachel): ditto.
3287         (update_subwindow): ditto.
3288         (unmap_subwindow): ditto.
3289         (map_subwindow): ditto
3290         (subwindow_instantiate): ditto.
3291         * glyphs-msw.c (mswindows_update_widget): ditto.
3292         (mswindows_progress_gauge_instantiate): ditto.
3293         (mswindows_tab_control_update): ditto.
3294         * glyphs-x.c (x_update_widget): ditto.
3295         (x_widget_instantiate): ditto.
3296         (x_tab_control_instantiate): ditto.
3297         (x_tab_control_update): ditto.
3298         * event-msw.c (mswindows_wnd_proc): ditto
3299
3300         * glyphs-widget.c (image_instantiator_layout): use
3301         subwindow_decode_domain.
3302         (image_instantiator_buttons): ditto.
3303         (image_instantiator_edit_fields): ditto.
3304         (image_instantiator_combo_box): ditto.
3305         (image_instantiator_scrollbar): ditto.
3306         (image_instantiator_progress_guage): ditto.
3307         (image_instantiator_tree_view): ditto.
3308         (image_instantiator_tab_control): ditto.
3309         (image_instantiator_labels): ditto.
3310         (image_instantiator_layout): ditto.
3311
3312         * glyphs.c: add instance error checking to many functions.
3313         (instantiate_image_instantiator): decode device from cache_domain.
3314         (image_instantiate): partially rewrite by using
3315         decode_image_instantiator_domain to determine what domain the
3316         instance needs to be cached in.
3317         (decode_image_instantiator_domain): new function. Determine what
3318         domain the image needs to be cached in.
3319         (check_window_subwindow_cache): new error checking function.
3320         (check_instance_cache_mapper): ditto.
3321         (check_image_instance_structure): ditto.
3322         (subwindow_decode_domain): new function. Encodes a window as a
3323         subwindow's cache domain.
3324         (image_instantiator_format_create): use it for text and
3325         subwindows.
3326
3327 2000-04-21  Andy Piper  <andy@xemacs.org>
3328
3329         * glyphs.c (image_instance_device): new function.
3330         (image_instance_frame): new function.
3331         (image_instance_window): new function.
3332         (image_instance_live_p): new function.
3333
3334         * window.c (mark_window_as_deleted): reset the subwindow_instance_
3335         cache to nil.
3336
3337         * glyphs.h (struct Lisp_Image_Instance): device->domain.
3338         (IMAGE_INSTANCE_DOMAIN): new accessor.
3339         (XIMAGE_INSTANCE_DOMAIN): ditto.
3340
3341         * glyphs-x.c (x_finalize_image_instance): device->domain.
3342
3343         * glyphs-msw.c (init_image_instance_geometry): device->domain.
3344         (mswindows_finalize_image_instance): ditto.
3345
3346         * glyphs-eimage.c (jpeg_instantiate): device->domain.
3347         (gif_instantiate): ditto.
3348         (png_instantiate): ditto.
3349         (tiff_instantiate): ditto.
3350
3351         * glyphs.c (instantiate_image_instantiator): use domain rather
3352         than device.
3353         (mark_image_instance): device -> domain.
3354         (print_image_instance): ditto.
3355         (finalize_image_instance): ditto.
3356         (image_instance_equal): ditto.
3357         (allocate_image_instance): ditto.
3358         (Fcolorize_image_instance): ditto.
3359         (query_string_geometry): ditto.
3360         (image_instantiate): ditto
3361         (query_string_font): ditto.
3362         (image_instantiate): ditto.
3363         (update_subwindow): ditto.
3364         (unmap_subwindow): ditto.
3365         (map_subwindow): ditto.
3366         (subwindow_instantiate): ditto.
3367
3368         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
3369         (DOMAIN_FRAME): ditto.
3370         (DOMAIN_WINDOW): ditto.
3371         (DOMAIN_LIVE_P): ditto.
3372         (XDOMAIN_DEVICE): ditto.
3373         (XDOMAIN_FRAME): ditto.
3374         (XDOMAIN_WINDOW): ditto.
3375
3376         * specifier.c (Fvalid_specifier_domain_p): add image instances as
3377         a valid specifier domain.
3378
3379 2000-04-19  Andy Piper  <andy@xemacs.org>
3380
3381         * glyphs-widget.c (syms_of_glyphs_widget): remove
3382         widget-callback-current-channel.
3383         (vars_of_glyphs_widget): ditto.
3384         * glyphs.h: ditto
3385
3386         * gui.c (get_gui_callback): revert to previous behaviour.
3387
3388 2000-04-18  Andy Piper  <andy@xemacs.org>
3389
3390         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
3391         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
3392         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
3393
3394         * glyphs.c (image_instance_equal): add margin_width.
3395         (image_instance_hash): ditto.
3396
3397         * glyphs-widget.c (widget_instantiate): deal with margin-width.
3398         (layout_query_geometry): ditto.
3399         (layout_layout): ditto.
3400         (syms_of_glyphs_widget): add margin-width.
3401         (image_instantiator_layout): allow margin-width.
3402
3403         * glyphs.c (update_widget_instances): make a normal function.
3404         (syms_of_glyphs): remove Qupdate_widget_instances.
3405         * glyphs.h: ditto.
3406
3407         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
3408         so that we don't corrupt ideas about the last event or
3409         command. Remove widget-callback-current-channel fiddling.
3410         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
3411
3412 2000-05-01  Martin Buchholz <martin@xemacs.org>
3413
3414         * XEmacs 21.2.33 is released.
3415
3416 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
3417
3418         * make-src-depend: Allow dots in header file name.
3419
3420 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
3421
3422         * mule-charset.h (struct charset_lookup): Add
3423         next_allocated_1_byte_leading_byte and
3424         next_allocated_2_byte_leading_byte.
3425         * mule-charset.c: Move above two variables so that those values
3426         will be dumped.
3427
3428 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
3429
3430         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
3431         when string length is zero.
3432         (find_charsets_in_emchar_string): Ditto.
3433
3434 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
3435
3436         * lisp.h: extern Qdialog and Qmenubar.
3437
3438         * gui-x.c: added events.h.
3439                 also fixed typo which made the file uncompilable.
3440
3441         * general.c: Added Qmenubar and Qdialog
3442
3443 2000-04-28  Ben Wing  <ben@xemacs.org>
3444
3445         * frame-msw.c (mswindows_init_frame_1):
3446         * frame-msw.c (mswindows_mark_frame):
3447         * event-msw.c (mswindows_enqueue_dispatch_event):
3448         * console-msw.h:
3449         * console-msw.h (struct mswindows_frame):
3450         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
3451         there are now three hash tables for callbacks.
3452         mswindows_enqueue_dispatch_event is no longer static.
3453         
3454         * dialog-x.c (maybe_run_dbox_text_callback):
3455         * dialog-x.c (dbox_descriptor_to_widget_value):
3456         switch to new cons3 form for callbacks.
3457         
3458         * glyphs-msw.c (mswindows_register_gui_item):
3459         * glyphs-msw.c (mswindows_widget_instantiate):
3460         * glyphs-msw.c (add_tree_item):
3461         * glyphs-msw.c (add_tab_item):
3462         new image instance parameter, so it can be passed to callback-ex.
3463         respect :callback-ex as well as :callback.
3464         
3465         * glyphs-widget.c (VALID_GUI_KEYWORDS):
3466         add :callback-ex.
3467         
3468         * glyphs.c (print_image_instance):
3469         prettify, e.g. now prints widget type.
3470         
3471         * gui-x.h:
3472         certain funs have new image instance parameter.
3473         
3474         * gui.c:
3475         * gui.c (get_gui_callback):
3476         * gui.c (gui_item_add_keyval_pair):
3477         * gui.c (gui_item_init):
3478         * gui.c (gui_add_item_keywords_to_plist):
3479         * gui.c (mark_gui_item):
3480         * gui.c (gui_item_hash):
3481         * gui.c (gui_item_equal):
3482         * gui.c (copy_gui_item):
3483         * gui.c (syms_of_gui):
3484         recognize callback-ex in a number of places.
3485         also, fix the annoying "can't get out of yes-no dialog" bug.
3486         
3487         * gui.h:
3488         * gui.h (struct Lisp_Gui_Item):
3489         recognize callback-ex in a number of places.
3490
3491         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
3492         new parameter in button_item_to_widget_value.
3493         
3494         * glyphs-x.c (x_update_widget):
3495         * glyphs-x.c (x_button_instantiate):
3496         * glyphs-x.c (x_button_update):
3497         * glyphs-x.c (x_progress_gauge_instantiate):
3498         * glyphs-x.c (x_edit_field_instantiate):
3499         * glyphs-x.c (x_combo_box_instantiate):
3500         * glyphs-x.c (x_tab_control_instantiate):
3501         * glyphs-x.c (x_label_instantiate):
3502         new image instance parameter in various places.
3503         
3504         * event-Xt.c:
3505         * event-Xt.c (enqueue_Xt_dispatch_event):
3506         this fun gets exported.
3507         
3508         * gui-msw.c:
3509         * gui-msw.c (mswindows_handle_gui_wm_command):
3510         handle both :callback and :callback-ex, and generate our own
3511         event because it's one of the callback-ex arguments.
3512         
3513         * gui-x.c:
3514         * gui-x.c (popup_selection_callback):
3515         handle both :callback and :callback-ex, and generate our own
3516         event because it's one of the callback-ex arguments.
3517         * gui-x.c (button_item_to_widget_value):
3518         * gui-x.c (gui_items_to_widget_values_1):
3519         * gui-x.c (gui_item_children_to_widget_values):
3520         * gui-x.c (gui_items_to_widget_values):
3521         new image instance parameter in various places.
3522
3523         * fns.c (Freplace_list):
3524         fix small typo in doc string.
3525         
3526         * lisp.h:
3527         declare enqueue_Xt_dispatch_event.
3528
3529 2000-04-28  Ben Wing  <ben@xemacs.org>
3530
3531         * buffer.c:
3532         * buffer.c (Frecord_buffer):
3533         * buffer.c (syms_of_buffer):
3534         delete record-buffer-hook.
3535         
3536         * fns.c:
3537         * fns.c (Freplace_list):
3538         * fns.c (syms_of_fns):
3539         new primitive replace-list.
3540         
3541         * frameslots.h:
3542         slot for old buffer-alist.
3543         
3544         * lisp.h:
3545         exfun replace-list.
3546         
3547         * redisplay.c:
3548         * redisplay.c (redisplay_frame):
3549         * redisplay.c (syms_of_redisplay):
3550         * redisplay.c (vars_of_redisplay):
3551         new hook buffer-list-changed-hook.
3552         call it.
3553
3554 2000-04-27  Ben Wing  <ben@xemacs.org>
3555
3556         * extents.h: extern in_modeline_generation.
3557
3558         * redisplay.c (generate_formatted_string_db): set
3559         in_modeline_generation.
3560
3561         * extents.c (extent_changed_for_redisplay): don't mark redisplay
3562         flags if in modeline generation.  otherwise frame-modified-tick
3563         is ticked far too often.
3564         Declare in_modeline_generation.
3565
3566 2000-04-26  Ben Wing  <ben@xemacs.org>
3567
3568         * emacs.c (vars_of_emacs): document quick-build "error-checking"
3569         option.
3570         (vars_of_emacs): add quick-build as an error-checking option.
3571         A bit kludgy, but there doesn't seem much point in creating
3572         a real var for this.
3573
3574         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
3575
3576 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
3577
3578         * redisplay.h (struct display_line): Add a new variable,
3579         line_continuation.
3580
3581         * redisplay.c (create_text_block): Set dl->line_continuation if
3582         the line continues.
3583         (create_string_text_block): Ditto.
3584         (regenerate_window_incrementally): Use line_continuation instead
3585         of searching continuation glyph.
3586         (add_margin_runes): Call add_glyph_rune.
3587         (add_glyph_rune): Handle margin glyph.
3588
3589 2000-04-20  Martin Buchholz  <martin@xemacs.org>
3590
3591         * filelock.c (fill_in_lock_file_name): 
3592         ANSIfy.
3593         Check for IS_ANY_SEP instead of '/'.
3594         (lock_file_1): 
3595         Avoid generating gratuitous garbage.  Call user_login_name() directly.
3596         Never check errno without first seeing that system call failed.
3597         (unlock_file): Add GCPRO.
3598         (Flock_buffer): Fix docstring.
3599         (Ffile_locked_p): Fix docstring.  Add GCPRO.
3600
3601 2000-04-19  Martin Buchholz  <martin@xemacs.org>
3602
3603         * sysdep.c (get_pty_max_bytes): 
3604         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
3605         strings longer than 252 bytes.
3606
3607         * md5.c: Unconditionally include ANSI header <limits.h>
3608
3609         * glyphs-x.c (convert_EImage_to_XImage): 
3610         * lisp-union.h (union Lisp_Object): 
3611         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
3612
3613 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3614
3615         * filelock.c (current_lock_owner): Remove unused variable o, p.
3616
3617 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
3618
3619         * callint.c: Remove multiply defined symbol Qlet
3620         (syms_of_callint): ditto.
3621
3622 2000-04-14  Andy Piper  <andy@xemacs.org>
3623
3624         * general.c (syms_of_general): add last-command, this-command, let
3625         and funcall.
3626
3627         * lisp.h: declare various symbols.
3628
3629         * glyphs.h: declare Qwidget_callback_current_channel;
3630
3631         * glyphs-widget.c (syms_of_glyphs_widget): add
3632         Qgui_callback_current_channel.
3633         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
3634
3635         * gui-msw.c (mswindows_handle_gui_wm_command): bind
3636         widget-callback-current-channel when invoking the interactive
3637         arg. Also bind last-command and next-command when invoking the
3638         widget updates.
3639         * gui-x.c (popup_selection_callback): ditto.
3640
3641         * gui.c (get_gui_callback): massage args so that we are always
3642         calling eval. This allows us to add our own variable bindings
3643         outside.
3644
3645         * glyphs-x.c (x_button_instantiate): use
3646         gui_items_to_widget_values since this is GC safe.
3647         (x_progress_gauge_instantiate): ditto.
3648         (x_edit_field_instantiate): ditto.
3649         (x_label_instantiate): ditto.
3650
3651         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
3652         (emacs_Xt_event_widget_focus_out): new function
3653         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
3654         focus.
3655         (emacs_Xt_event_add_widget_actions): new function. add focus
3656         functions as actions.
3657         (init_event_Xt_late): use it.
3658
3659 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
3660
3661         * event-stream.c (Fdispatch_event): Doc fix.
3662
3663 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
3664
3665         * postgresql.c: Remove all references to PQsetenv*.
3666
3667         * postgresql.h: Remove references to PGsetenvHandler object.
3668         * lrecord.h (lrecord_type): Ditto.
3669
3670 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
3671
3672         * glyphs-msw.h (struct mswindows_image_instance_data): Added
3673         real_heigh and real_width members, and accessor macros for these.
3674
3675         * glyphs-msw.c (init_image_instance_geometry): New function.
3676         (init_image_instance_from_dibitmap): Use it.
3677         (mswindows_resource_instantiate): Use it.
3678         (init_image_instance_from_xbm_inline): Use it.
3679         (mswindows_initialize_image_instance_mask): Use real bitmap
3680         geometry.
3681         (mswindows_create_resized_bitmap): Ditto.
3682         (mswindows_create_resized_mask): Ditto.
3683         
3684         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
3685         and bitmap to their surface size.
3686
3687 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
3688
3689         * process-unix.c (unix_send_process): Guard against process MIA
3690         after Faccept_process_output.
3691
3692 2000-04-11  Ben Wing  <ben@xemacs.org>
3693
3694         * eval.c (unbind_to_hairy): fix brokenness introduced by
3695         nanosecond speed improvements.
3696
3697 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
3698
3699         * sunplay.c (init_device): To play sounds correctly, the device
3700         apparently needs to be initialized at least once by XEmacs.  Make
3701         it so.
3702
3703 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
3704
3705         * redisplay.c (add_margin_runes): Add text image glyph
3706           handling.
3707
3708 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
3709
3710         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
3711         gcc is newer than 2.5.
3712
3713 2000-04-06  Colin Rafferty  <colin@xemacs.org>
3714
3715         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
3716         
3717         * fns.c (size_bit_vector):
3718         * alloc.c (size_vector):
3719         (make_vector_internal):
3720         (make_bit_vector_internal):
3721         (sweep_bit_vectors_1):
3722         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
3723
3724 2000-04-06  Andy Piper  <andy@xemacs.org>
3725
3726         * gmalloc.c (malloc): undo previous change.
3727         (malloc): ditto.
3728         (free): ditto.
3729         (realloc): ditto.
3730
3731 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
3732
3733         * line-number.c (buffer_line_number): Revert to former version.
3734
3735 2000-04-06  Andy Piper  <andy@xemacs.org>
3736
3737         * gmalloc.c (malloc): add error checking.
3738         (malloc): ditto.
3739         (free): ditto.
3740         (realloc): ditto.
3741
3742         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
3743         button_item_to_widget_value arg.
3744
3745         * glyphs-x.c (x_button_instantiate): add extra
3746         button_item_to_widget_value arg.
3747         (x_progress_gauge_instantiate): ditto.
3748         (x_edit_field_instantiate): ditto.
3749         (x_label_instantiate): ditto.
3750
3751         * gui-x.c (gui_items_to_widget_values_1): add extra
3752         button_item_to_widget_value arg.
3753         (button_item_to_widget_value): add extra menu_item_p arg.
3754
3755         * gui-x.h: change signature of button_item_to_widget_value.
3756
3757         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
3758         button_item_to_widget_value arg.
3759
3760 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
3761
3762         * buffer.h (struct buffer): auto_save_modified should be long.
3763
3764 2000-04-05  Andy Piper  <andy@xemacs.org>
3765
3766         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
3767         type.
3768         (button_query_geometry): give a little more room so that athena
3769         buttons fit.
3770
3771 2000-04-05  Andy Piper  <andy@xemacs.org>
3772
3773         * faces.c (complex_vars_of_faces): The widget face should inherit
3774         the font of the gui-element face.
3775
3776 2000-04-04  Andy Piper  <andy@xemacs.org>
3777
3778         * glyphs-x.c (x_button_update): new function. unconditionally
3779         update a button's state when the instance is dirty.
3780         (image_instantiator_format_create_glyphs_x): add x_button_update.
3781         (x_widget_instantiate): remove old resize cruft.
3782
3783 2000-04-02  Andy Piper  <andy@xemacs.org>
3784
3785         * frame.c (change_frame_size_1): The introduction of gutters means
3786         that we need to allow 0 as a potential frame dimension.
3787
3788 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
3789
3790         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
3791         image glyph if allow_cursor.
3792         (add_hscroll_rune): Don't allow cursor to border glyph.
3793         (create_text_block): Ditto.
3794
3795         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
3796         text not in buffer.
3797         (redisplay_output_layout): Call ensure_face_cachel_complete for
3798         text image glyph.
3799
3800
3801 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
3802
3803         * redisplay.c (add_glyph_rune): Adding text image as text runes.
3804
3805         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
3806         not in buffer
3807
3808         * redisplay-tty.c (tty_output_display_block): Delete the routine
3809         for text image glyph
3810         * redisplay-x.c (x_output_display_block): ditto
3811         * redisplay-msw.c (mswindows_output_display_block): ditto
3812
3813 2000-02-02  Mike Alexander  <mta@arbortext.com>
3814
3815         Note: Some of these were committed by accident as part of other
3816         patches.
3817         
3818         * regex.c (regex_compile): Avoid compiler warnings.
3819
3820         * ntproc.c (sys_spawnve): Avoid compiler warnings.
3821
3822         * nt.h: Declare term_ntproc correctly.
3823
3824         * nt.c: Remove incorrect declaration of get_home_directory which
3825         is declared correctly in lisp.h.
3826
3827         * keymap.c (get_keyelt): Avoid compiler warnings.
3828         (raw_lookup_key_mapper): Avoid compiler warnings.
3829
3830         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
3831
3832         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
3833
3834         * filemode.c (mode_string): Avoid compiler warnings.
3835
3836         * file-coding.c (Fcoding_system_aliasee): Add return statement to
3837         avoid warning.
3838
3839         * events-mod.h: Undef some things that winuser.h defines differently.
3840
3841         * data.c (Faset): Avoid compiler warnings.
3842
3843         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
3844
3845 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
3846
3847         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
3848         Fall through to simple beep on error.
3849         Replace "extern" by real header file.
3850
3851         * linuxplay.c: Use nativesound.h
3852         (play_sound_data): Return error code. Be less verbose on error.
3853
3854         * sunplay.c: Use nativesound.h
3855         (play_sound_data): Return error code. Be less verbose on error.
3856
3857         * ntplay.c: Use nativesound.h
3858         (play_sound_data): Return fake error code
3859
3860         * sgiplay.c: Use nativesound.h
3861         (play_sound_data): Return error code
3862
3863         * hpplay.c: Use nativesound.h, partially implement
3864         new error code. Break compilation until finished.
3865         (play_sound_data): error code.
3866
3867         * nativesound.h (play_sound_file): 
3868           (play_sound_data): Prototype in new header.
3869
3870 2000-03-31  Andy Piper  <andy@xemacs.org>
3871
3872         * glyphs-widget.c: (button_query_geometry): new function. Adjust
3873         for toggle and radio buttons.
3874         (image_instantiator_buttons): use it.
3875
3876 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
3877
3878         * scrollbar-x.c (x_update_vertical_scrollbar_callback): 
3879         (x_update_horizontal_scrollbar_callback): Return if no mirror was
3880         found. Scrollbar event probably belonged to some old config.
3881
3882 2000-03-31  Andy Piper  <andy@xemacs.org>
3883
3884         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
3885         than 1.
3886         (initialize_widget_image_instance): default layout to
3887         LAYOUT_HORIZONTAL rather than 0.
3888         (widget_instantiate): reverse the item list at the end rather than
3889         every iteration.
3890         (layout_layout): re-code for the border text at the front of the
3891         item list rather than at the end.
3892         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
3893         provided by the user.
3894         (widget_query_geometry): comment.
3895
3896 2000-03-30  Andy Piper  <andy@xemacs.org>
3897
3898         * glyphs-widget.c (image_instantiator_layout): allow standard
3899         widget keywords in layouts.
3900
3901         * gutter.c (output_gutter): cope with nil gutter contents.
3902
3903         * frame.c (Fset_frame_properties): add gutter docs.
3904
3905 2000-03-29  Andy Piper  <andy@xemacs.org>
3906
3907         * toolbar-msw.c (TBSTYLE_FLAT): add.
3908         (mswindows_output_toolbar): minor fiddling.
3909
3910 2000-03-29  Andy Piper  <andy@xemacs.org>
3911
3912         * gutter.c (output_gutter): force gutter size recalculation if
3913         what we are trying to display won't fit.
3914         (update_gutter_geometry): new function. A per-gutter version of
3915         update_frame_gutter_geometry.
3916         (update_frame_gutter_geometry): use it.
3917         (redraw_exposed_gutter): add extra debugging output.
3918
3919 2000-03-28  Mike Alexander  <mta@arbortext.com>
3920
3921         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
3922         (pdump_file_unmap): Implement it on Windows
3923         (pdump_file_get): Save alocated handles for pdump_file_unmap
3924
3925 2000-03-28  Andy Piper  <andy@xemacs.org>
3926
3927         * gui.c (get_gui_callback): treat Quit specially.
3928
3929 2000-03-27  Andy Piper  <andy@xemacs.org>
3930
3931         * glyphs.c (image_instantiate): be careful to check in the same
3932         way we assigned.
3933
3934 2000-03-27  Didier Verna  <didier@xemacs.org>
3935
3936         * config.h.in: define the proper SMART_INCLUDE macro.
3937         handle renaming of `foo_h_path' to `foo_h_file'.
3938
3939         * database.c: ditto.
3940
3941         * emacs.c: ditto.
3942
3943         * linuxplay.c: ditto.
3944
3945         * terminfo.c: ditto.
3946
3947         * tooltalk.h: ditto.
3948
3949 2000-03-27  Andy Piper  <andy@xemacs.org>
3950
3951         * glyphs-msw.c (mswindows_update_widget): make sure the widget
3952         gets updated whenever the face might have changed.
3953
3954 2000-03-26  Mike Alexander  <mta@arbortext.com>
3955
3956         * dumper.c (pdump_resource_free): Fix the comment.
3957
3958 2000-03-21  Olivier Galibert  <galibert@pobox.com>
3959
3960         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
3961
3962 2000-03-22  Mike Alexander  <mta@arbortext.com>
3963
3964         * dumper.c: Include Windows headers on Windows
3965         (pdump_resource_free): Add a body to the function
3966         (pdump_load): exe_name -> exe_path and add some comments.
3967
3968 2000-03-25  Mike Alexander  <mta@arbortext.com>
3969
3970         * gui.c (copy_gui_item_tree): Return a value in all cases
3971
3972 2000-03-21  Didier Verna  <didier@xemacs.org>
3973
3974         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
3975         lwlib/config.h.in.
3976         (SMART_INCLUDE): new macro.
3977         (POSTGRES_INCLUDE): new macro to include postgresql headers from
3978         the proper location.
3979
3980         * postgresql.c: use it.
3981
3982         * inline.c: ditto.
3983
3984 2000-03-24  Andy Piper  <andy@xemacs.org>
3985
3986         * gutter.c (redraw_exposed_gutters): must be "in display" when we
3987         do this.
3988
3989 2000-03-24  Andy Piper  <andy@xemacs.org>
3990
3991         * redisplay-output.c (compare_runes): use image_instance_changed
3992         to detect changes. Do not depend on glyphs_changed, only depend on
3993         dirtiness.
3994          (redisplay_output_layout): add debug messages.
3995         (compare_runes): ditto.
3996
3997         * glyphs.h: declare new functions.
3998         (struct Lisp_Image_Instance): remove percent and associated
3999         accessors.
4000
4001         * gui.h: declare new copying functions.
4002
4003         * gui.c (copy_gui_item_tree): new function.
4004         (copy_gui_item): new function.
4005         (gui_item_id_hash): revert to standard hash.
4006         (gui_item_hash): ditto.
4007         (gui_item_hash_internal): deleted.
4008         (mark_gui_item): mark value.
4009         (gui_item_add_keyval_pair): add value.
4010         (gui_item_init): ditto.
4011         (gui_add_item_keywords_to_plist): ditto.
4012         (gui_item_equal): ditto.
4013         (syms_of_gui): add Q_value.
4014
4015         * glyphs-x.c (x_progress_gauge_update): use pending items and
4016         value for setting the state.
4017         (x_update_widget): don't set items from pending here.
4018
4019         * glyphs-widget.c (update_widget): update items here.
4020         (progress_gauge_set_property): use items for storing value. Put
4021         new value in pending items.
4022
4023         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
4024         items for new value. Convert percent -> value.
4025         (mswindows_tab_control_update): don't update items here.
4026
4027         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
4028         (update_subwindow): ditto.
4029         (image_instance_changed): new function. Compare hash values and
4030         past and present widget items.
4031         (image_instantiate): We more careful about where we instantiate
4032         things.
4033         (image_instantiate): add error checking.
4034
4035         * gutter.c (syms_of_gutter): use -hook.
4036
4037 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
4038
4039         * console-tty.c (Fset_console_tty_input_coding_system): Use
4040         Qkeyboard.
4041         (Fset_console_tty_output_coding_system): Use Qterminal.
4042         (tty_init_console): Use Qkeyboard and Qterminal.
4043
4044 2000-03-21  Ben Wing  <ben@xemacs.org>
4045
4046         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
4047         From Mike Alexander <mta@arbortext.com>.
4048
4049 2000-03-21  Ben Wing  <ben@xemacs.org>
4050
4051         * event-msw.c (mswindows_need_event): Horrible kludge to fix
4052         process brokenness.  Proper implementation to come.
4053         * callproc.c:
4054         Rename call-process-internal to old-call-process-internal.
4055         New impl. in process.el.
4056
4057 2000-03-21  Martin Buchholz  <martin@xemacs.org>
4058
4059         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
4060
4061 2000-03-20  Andy Piper  <andy@xemacs.org>
4062
4063         * glyphs.c (full_list_hash): make hashes of the same elements in
4064         different orders return different values.
4065
4066 2000-03-20  Martin Buchholz <martin@xemacs.org>
4067
4068         * XEmacs 21.2.32 is released.
4069
4070 2000-03-20  Martin Buchholz  <martin@xemacs.org>
4071
4072         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
4073         (DFC_MALLOC_USE_CONVERTED_DATA):
4074         Add aliasing-safe casts to allow use with char* or unsigned char*
4075         lvalues.
4076
4077         * eldap.c (Fldap_open):
4078         (Fldap_search_basic):
4079         (Fldap_add):
4080         (Fldap_modify):
4081         Make C++-compilable.
4082         Make sure GCPRO'ed variables are initialized.
4083         Use temp variables to avoid repeated calls to Flength.
4084
4085 2000-03-16  Martin Buchholz  <martin@xemacs.org>
4086
4087         * sysfile.h:
4088         Make sure PATH_MAX is always defined.
4089         Include limits.h for PATH_MAX.
4090         Deprecate use of MAXPATHLEN.
4091
4092 2000-03-10  Martin Buchholz  <martin@xemacs.org>
4093
4094         * emacs.c: Add reinit_vars_of_fileio.
4095         * symsinit.h: Add reinit_vars_of_fileio.
4096         * fileio.c (reinit_vars_of_fileio): New.
4097         * fileio.c (Fmake_temp_name):
4098         Initialize temp_name random number from microseconds to make
4099         collisions even less likely.  Initialize always at process startup
4100         time.  (make-temp-name) used to return the same file name twice in
4101         a row when PDUMP.
4102         Random stylistic fiddling.
4103         Comment fixes.
4104
4105 2000-03-20  Andy Piper  <andy@xemacs.org>
4106
4107         * glyphs.c (image_instantiate): allow text glyphs to be
4108         instantiated in the minibuffer window.
4109
4110 2000-03-19  Andy Piper  <andy@xemacs.org>
4111
4112         * glyphs.c (image_instance_hash): be careful about which items we
4113         hash on.
4114
4115         * glyphs-widget.c (tab_control_set_property): record into pending
4116         items rather than the actual items.
4117
4118         * glyphs-x.c (x_update_widget): use pending items to update with.
4119
4120         * glyphs-msw.c (mswindows_tab_control_update): use pending items
4121         to update with.
4122
4123         * glyphs.c (mark_image_instance): mark pending items.
4124
4125         * window.c (Fset_window_configuration): record the buffer.
4126         (Fselect_window): totally revert previous change which breaks many
4127         things.
4128
4129 2000-03-18  Andy Piper  <andy@xemacs.org>
4130
4131         * glyphs-msw.c (mswindows_tab_control_update): force selected
4132         item.
4133
4134         * glyphs.c (image_instantiate): don't allow the minibuffer as a
4135         window domain cache, otherwise we get inconsistencies at
4136         startup. There is something fishy at startup which can lead to the
4137         minibuffer being the selected window when the gutter content is
4138         instantiated.
4139
4140         * gui.c (parse_gui_item_tree_list): add probably unneccessary
4141         gcpros.
4142         (parse_gui_item_tree_children): ditto.
4143         (parse_gui_item_tree_item): ditto.
4144
4145         * glyphs.c (Fupdate_widget_instances): return something.
4146
4147 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4148
4149         * window.c (Fselect_window): Undo 2000-03-17 change.
4150
4151 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
4152
4153         * postgresql.c (Fpq_setenv): Remove this turkey when linking
4154         against v7.0 libraries.  Insta-coredump city until the postgres
4155         folks fix it.
4156
4157 2000-03-17  Andy Piper  <andy@xemacs.org>
4158
4159         * faces.c (complex_vars_of_faces): don't give the widget face an
4160         inherited background pixmap.
4161
4162         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
4163         selected item.
4164
4165         * event-stream.c (Fdispatch_non_command_events): return something.
4166
4167         * gutter.c (output_gutter): use widget face.
4168         (clear_gutter): ditto.
4169
4170         * NEWS: adjust again.
4171
4172         * window.c (Fselect_window): make sure this runs to completion to
4173         avoid oddities with Fset_window_configuration.
4174         (Fcurrent_window_configuration): in general do not save the
4175         minibuffer as the selected window.
4176
4177         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
4178
4179 2000-03-16  Olivier Galibert  <galibert@pobox.com>
4180
4181         * emacs.c (Frunning_temacs_p): Revert previous patch.
4182         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
4183
4184 2000-03-16  Andy Piper  <andy@xemacs.org>
4185
4186         * glyphs-x.c (x_tab_control_update): if no widget values then
4187         return.
4188
4189         * NEWS: update for new features.
4190
4191         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
4192         synthetic event to the native system.
4193         (reinit_vars_of_event_Xt): set force_event_pending to
4194         emacs_Xt_force_event_pending.
4195
4196         * events.h (struct event_stream): add force_event_pending.
4197
4198         * specifier.c (recompute_one_cached_specifier_in_window): add
4199         comment.
4200
4201         * redisplay.c (redisplay_frame): don't call
4202         update_frame_subwindows. Reset subwindow cachels when
4203         subwindows_changed, removing this was an optimization too far.
4204
4205         * redisplay-output.c (compare_runes): reorganize so that we catch
4206         glyph changes when we want them. Set optimize_output when this
4207         would help layouts.
4208         (redisplay_output_layout): remove frame_really_changed, use
4209         optimize_output instead.
4210
4211         * redisplay-msw.c (mswindows_output_display_block): reset
4212         optimize_output after outputting a glyph.
4213         * redisplay-x.c (x_output_display_block): ditto.
4214         * redisplay-tty.c (tty_output_display_block): ditto.
4215
4216         * gutter.c: (specifier_vars_of_gutter): use new spec changed
4217         functions.
4218         (gutter_specs_changed): do specific gutter positions.
4219         (top_gutter_specs_changed): new function. Only update the
4220         specified gutter specs.
4221         (bottom_gutter_specs_changed): ditto.
4222         (left_gutter_specs_changed): ditto.
4223         (right_gutter_specs_changed): ditto.
4224
4225         * gui.c (gui_item_hash_internal): new function, does a real hash.
4226         (gui_item_id_hash): use it.
4227         (gui_item_hash): hash the eval'ed gui_item.
4228
4229         * gui-x.c (popup_selection_callback): send an eval event to call
4230         Fupdate_widget_instances.
4231
4232         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
4233         to call Fupdate_widget_instances.
4234
4235         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
4236         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
4237
4238         * glyphs.c: (update_frame_subwindows): deleted.
4239         (Fupdate_widget_instances): new function for updating the dirty
4240         state of widgets that might have changed.
4241         (syms_of_glyphs): add Qupdate_widget_instances.
4242         (full_list_hash): hash a list completely.
4243         (image_instance_hash): use it for items and properties.
4244
4245         * frame-msw.c (mswindows_size_frame_internal): remove unused
4246         variable.
4247
4248         * faces.h (struct face_cachel): fix comment.
4249
4250         * event-stream.c (Fdispatch_non_command_events): new
4251         function. Process non-command events, forcing an event cycle
4252         beforehand.
4253         (syms_of_event_stream): declare.
4254         (event_stream_force_event_pending): new function. Force an event
4255         on the native event queue so that an event cycle will occur next
4256         time we check.
4257
4258         * event-msw.c:
4259         (struct ntpipe_shove_stream):
4260         (mswindows_enqueue_dispatch_event):
4261         (mswindows_dequeue_dispatch_event):
4262         (mswindows_cancel_dispatch_event):
4263         (mswindows_pump_outstanding_events):
4264         (mswindows_drain_windows_queue):
4265         (mswindows_handle_paint):
4266         (mswindows_wnd_proc):
4267         (mswindows_key_to_emacs_keysym):
4268         (get_process_input_waitable):
4269         (emacs_mswindows_delete_stream_pair): re-indent file.
4270         (mswindows_need_event): do not process further fds if the windows
4271         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
4272         fixes the 100% cpu problem.
4273         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
4274
4275 2000-03-15  Olivier Galibert  <galibert@pobox.com>
4276
4277         * alloc.h: New.
4278         * dumper.h: New.
4279         * dumper.c: New.
4280
4281         * emacs.c: Moved dump file searching to dumper.c.
4282         (Frunning_temacs_p): Fixed.
4283
4284         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
4285         last_lrecord_type_index_assigned.
4286
4287 2000-02-20  Olivier Galibert  <galibert@pobox.com>
4288
4289         * symsinit.h: Added reinit parameter to init_console_stream
4290         declaration.
4291
4292         * lisp.h: Added file parameter to pdump_load declaration.
4293
4294         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
4295         support.  Added dump file searching.
4296
4297         * config.h.in: Added EMACS_PROGNAME.
4298
4299         * console-stream.c (init_console_stream): Fix reinitialisation
4300         when running from temacs.
4301
4302         * alloc.c (pdump): Add id support.
4303         (pdump_load): Add file parameter and signature/id support.
4304
4305         * Makefile.in.in: Add full pdump support.
4306
4307 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
4308
4309         * postgresql.c: Update documentation to reflect latest code
4310         status.
4311         (print_result): Show tuple counts in printed representation when
4312         appropriate.
4313         (Fpq_put_nbytes): MULE-ize.
4314         (Fpq_get_line_async): Ditto.
4315
4316 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
4317
4318         * postgresql.c (Fpq_lo_import): Fix return value.
4319         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
4320
4321 2000-03-13  Ben Wing  <ben@xemacs.org>
4322
4323         * alloc.c (pdump_load):
4324         Fix compile warning under mswin.
4325
4326 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
4327
4328         * postgresql.c: Mule-ization, bug fixes.
4329         Use PG_CODING to encapsulate coding system name changes.
4330         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
4331         (pg-coding-system): Create.
4332
4333         (Fpq_conn_defaults): Mule-ize.
4334         (Fpq_connectdb): Mule-ize & bug fix.
4335         (Fpq_connect_start): Mule-ize.
4336         (Fpq_set_client_encoding): Mule-ize.
4337         (Fpq_finish): Document `DEAD' connection status.
4338         (Fpq_clear): Ditto.
4339         (Fpq_pgconn): Mule-ize.
4340         (Fpq_exec): Mule-ize & bug fix.
4341         (Fpq_send_query): Ditto.
4342         (Fpq_get_result): Ditto.
4343         (Fpq_res_status): Mule-ize.
4344         (Fpq_result_error_message): Mule-ize.
4345         (Fpq_ntuples): fix comments.
4346         (Fpq_fname): Mule-ize.
4347         (Fpq_fnumber): Mule-ize.
4348         (Fpq_ftype): fix comments.
4349         (Fpq_get_value): Mule-ize.
4350         (Fpq_cmd_status): Ditto.
4351         (Fpq_cmd_tuples): Ditto.
4352         (Fpq_oid_value): Ditto.
4353         (Fpq_notifies): Ditto.
4354         (Fpq_lo_import): Ditto.
4355         (Fpq_lo_export): Ditto.
4356         (Fpq_get_line): Ditto.
4357         (Fpq_put_line): Mule-ize and bug fix.
4358         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
4359
4360 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
4361
4362         * postgresql.c (vars_of_postgresql): Mule-ize.
4363         (Fpq_conn_defaults): Ditto.
4364
4365 2000-03-12  Ben Wing  <ben@xemacs.org>
4366
4367         * alloc.c (Fmake_byte_code):
4368         * alloc.c (debug_string_purity_print):
4369         * alloc.c (pdump_backtrace):
4370         * alloc.c (pdump_get_indirect_count):
4371         * alloc.c (pdump_register_sub):
4372         * alloc.c (pdump_register_object):
4373         * alloc.c (pdump_register_struct):
4374         * alloc.c (pdump_dump_data):
4375         * alloc.c (pdump_reloc_one):
4376         Minor cleanups.
4377
4378         * console-msw.c:
4379         * console-msw.c (GetConsoleHwnd):
4380         * console-msw.c (msw_hide_console):
4381         * console-msw.c (msw_show_console):
4382         * console-msw.c (msw_ensure_console_buffered):
4383         * console-msw.c (msw_output_console_string):
4384         * console-msw.c (console_type_create_mswindows):
4385
4386         a) Added functions to manipulate the console window for use with
4387         shell support.
4388
4389         b) Added support for writing text to the console, which is now
4390         used under Windows when xemacs is not being run non-interactively,
4391         to write text that would otherwise be destined for stdout because
4392         under these circumstances, text written to stdout tends to
4393         disappear and not be seen.
4394
4395         * console-msw.h:
4396         * event-Xt.c:
4397         * event-Xt.c (x_event_to_emacs_event):
4398         * event-Xt.c (describe_event_window):
4399         * events-mod.h (XEMACS_MOD_CONTROL):
4400         * events.c:
4401         * events.c (Fmake_event):
4402         * events.c (character_to_event):
4403         * events.c (event_to_character):
4404         * events.c (format_event_object):
4405         * events.c (Fevent_modifiers):
4406         * events.h:
4407         * events.h (struct key_data):
4408         * events.h (struct button_data):
4409         * events.h (struct misc_user_data):
4410         * frame-x.c (Fcde_start_drag_internal):
4411         * frame-x.c (Foffix_start_drag_internal):
4412         * gpmevent.c (Freceive_gpm_event):
4413         * keymap.c:
4414         * keymap.c (bucky_sym_to_bucky_bit):
4415         * keymap.c (control_meta_superify):
4416         * keymap.c (make_key_description):
4417         * keymap.c (keymap_lookup_directly):
4418         * keymap.c (create_bucky_submap):
4419         * keymap.c (keymap_store):
4420         * keymap.c (define_key_check_and_coerce_keysym):
4421         * keymap.c (define_key_parser):
4422         * keymap.c (define_key_alternate_name):
4423         * keymap.c (Fdefine_key):
4424         * keymap.c (raw_lookup_key_mapper):
4425         * keymap.c (struct map_keymap_unsorted_closure):
4426         * keymap.c (map_keymap_unsorted_mapper):
4427         * keymap.c (map_keymap_sort_predicate):
4428         * keymap.c (map_keymap_sorted):
4429         * keymap.c (accessible_keymaps_mapper_1):
4430         * keymap.c (where_is_recursive_mapper):
4431         * keymap.c (describe_map_mapper):
4432         * keymap.c (describe_map_sort_predicate):
4433         * keymap.c (describe_map):
4434         * keymap.c (complex_vars_of_keymap):
4435         And a number of other files, the key modifier preprocessor
4436         constants that xemacs uses have names that conflict with constants
4437         defined under MS Windows for other purposes, so they were renamed
4438         to begin with the prefix XEMACS_. The variables that hold such
4439         modifiers were changed to consistently be of type int to fix
4440         various compile warnings.
4441
4442         * console.c (complex_vars_of_console):
4443         * device.c:
4444         * device-msw.c:
4445         * device-msw.c (mswindows_finish_init_device):
4446         * device-msw.c (msw_get_workspace_coords):
4447         * device-msw.c (mswindows_device_system_metrics):
4448         and various other files, added support for a new
4449         device property called offset-workspace which returns the position
4450         of the upper left corner of the workspace area and goes along with
4451         the existing size-workspace property.
4452
4453         * dialog-msw.c:
4454         * dialog-msw.c (push_bufbyte_string_as_unicode):
4455         * dialog-msw.c (mswindows_popup_dialog_box):
4456         Added support for XEmacs-style accelerator specifications in
4457         button text.  Note: I didn't add support for this under X Windows,
4458         and somebody needs to do this.
4459
4460         * dialog.c:
4461         * dialog.c (Fpopup_dialog_box):
4462         Documented the support for accelerators that was just mentioned.
4463
4464         editfns.c (get_home_directory): Changed behavior under Windows
4465         when HOME not defined; former behavior was irretrievably broken.
4466
4467         * emacs.c:
4468         * emacs.c (main_1):
4469         * emacs.c (main):
4470         * minibuf.c (clear_echo_area_internal):
4471         * minibuf.c (echo_area_append):
4472         * print.c:
4473         * print.c (std_handle_out_external):
4474         * print.c (std_handle_out_va):
4475         * print.c (fatal):
4476         * print.c (write_string_to_stdio_stream):
4477         * print.c (output_string):
4478         * print.c (debug_print):
4479         * print.c (debug_backtrace):
4480         * print.c (debug_short_backtrace):
4481         Cleaned up the code that prints text to stdout so that this can be
4482         changed to output into a console window instead under MS Windows,
4483         as described above.
4484
4485         * eval.c:
4486         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
4487         * eval.c (internal_catch):
4488         * eval.c (unwind_to_catch):
4489         * eval.c (throw_or_bomb_out):
4490         * eval.c (condition_case_1):
4491         * eval.c (signal_1):
4492         * eval.c (check_error_state_sanity):
4493         * eval.c (call_with_suspended_errors_1):
4494         * eval.c (call_with_suspended_errors):
4495         * eval.c (reinit_vars_of_eval):
4496         Added code to catch throw loops and check for a pesky bug that may
4497         be gone now.
4498
4499         * event-msw.c:
4500         * event-msw.c (key_needs_default_processing_p):
4501         * event-msw.c (mswindows_wnd_proc):
4502         * event-msw.c (mswindows_modifier_state):
4503         * event-msw.c (emacs_mswindows_quit_p):
4504         * event-msw.c (vars_of_event_mswindows):
4505         a) Added support for using the alt key to select menu items as is
4506         standard under MS Windows.  This is controlled using the variable
4507         menu-accelerator-enabled, just like under X Windows.  There is an
4508         option on the options menu to turn this support on.  I really
4509         think that it should be on by default under Windows, but I'm not
4510         going to make this change yet.
4511
4512         b)  Added support for dynamic display size changes under Windows.
4513
4514         * event-stream.c:
4515         * event-stream.c (maybe_echo_keys):
4516         * event-stream.c (Fnext_event):
4517         * event-stream.c (command_builder_find_leaf):
4518         * event-stream.c (lookup_command_event):
4519         * event-stream.c (execute_command_event):
4520         * event-stream.c (pre_command_hook):
4521         * event-stream.c (post_command_hook):
4522         * event-stream.c (syms_of_event_stream):
4523         * event-stream.c (vars_of_event_stream):
4524         * event-stream.c (complex_vars_of_event_stream):
4525         * events.h (struct command_builder):
4526
4527         a) Tried to clean up a little bit the horribly written x-specific
4528         accelerator code that crept into this file.  I moved this code
4529         into menubar-x.c where it belongs. I also needed to move the
4530         command builder structure into the file events.h because it is
4531         accessed directly by this accelerator code.  What I didn't do, but
4532         which should be done at some point, is to properly abstract this
4533         code using device methods instead of the kludgy way that it
4534         currently hooks into the event code.
4535
4536         b) Added the lisp variables this-command-properties and
4537         last-command- properties, which should be used to synchronize two
4538         adjacent commands in preference to playing games with the variable
4539         this-command, which is typically what happens.
4540
4541         c) Added some slightly nasty code to hook into the lisp support
4542         for shifted- motion-key selection.  This is actually necessary for
4543         somewhat complicated reasons, which are described in
4544         simple.el. (NB: I think the proper thing would be to have the code
4545         that calls the pre and post command hooks also call out to generic
4546         lisp functions in simple.el, where all built-in stuff could be
4547         added.  I will think about this more.)
4548
4549         * event-unixoid.c (poll_fds_for_input):
4550         * lread.c (readchar):
4551         * redisplay-tty.c (tty_clear_frame):
4552         * redisplay-x.c (x_get_gc):
4553         * signal.c (interrupt_signal):
4554         And a whole bunch of other files: fixed up places that printed
4555         directly to stderr to instead call the function stderr_out so that
4556         the changes I made under Windows work correctly.
4557
4558         * filemode.c (mode_string):
4559         Warning fixes.
4560
4561         * frame-msw.c:
4562         * frame-msw.c (mswindows_size_frame_internal):
4563         Fixed the computation of frame size and position to keep the frame
4564         within the workspace area, rather than within the physical
4565         dimensions of the screen, so that the frame doesn't overlap window
4566         manager decorations, such as the start menu and toolbar, typically
4567         at the bottom of the screen.
4568
4569         * frame.c (vars_of_frame):
4570         Changed the default frame title format under MS Windows to consist
4571         of buffername-XEmacs, which is standard under MS Windows.  I think
4572         it might be a good idea to change this everywhere because I think
4573         it is superior to the current frame title format, but this is the
4574         kind of change that is likely to cause some people to get annoyed,
4575         so I'm not making it.
4576
4577         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
4578
4579         * gui-msw.c (mswindows_handle_gui_wm_command):
4580         Fixed compile warnings.
4581
4582         * gui-x.c:
4583         * gui-x.c (strdup_and_add_accel):
4584         * gui-x.c (button_item_to_widget_value):
4585         * gui-x.h:
4586         Added code to automatically put an accelerator onto the beginning
4587         of menu items that don't have one as is now the standard, and is
4588         described more later.  Also fixed things so that the menu item
4589         name can be an evaluated expression, again a new standard.
4590
4591         * gui.c:
4592         * gui.c (gui_item_add_keyval_pair):
4593         * gui.c (make_gui_item_from_keywords_internal):
4594         * gui.c (gui_add_item_keywords_to_plist):
4595         * gui.c (gui_item_accelerator):
4596         * gui.c (gui_name_accelerator):
4597         * gui.c (gui_item_included_p):
4598         * gui.c (gui_item_display_flush_left):
4599         * gui.c (gui_item_display_flush_right):
4600         * gui.c (parse_gui_item_tree_item):
4601         * gui.c (parse_gui_item_tree_children):
4602         * gui.c (parse_gui_item_tree_list):
4603         Mule-ized.  Cleanup.  GCPRO addition.
4604
4605         * line-number.c (buffer_line_number):
4606         * lisp.h:
4607         * lisp.h (EMACS_INT_MAX):
4608         Added the manifest constant EMACS_INT_MIN corresponding to the
4609         existing constant EMACS_INT_MAX.  This is partially to fix compile
4610         warnings under Windows, and partly for cleanliness.
4611
4612         * menubar-msw.c:
4613         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
4614         * menubar-msw.c (msw_translate_menu_or_dialog_item):
4615         * menubar-msw.c (displayable_menu_item):
4616         * menubar-msw.c (populate_menu_add_item):
4617         * menubar-msw.c (populate_or_checksum_helper):
4618         * menubar-msw.c (populate_menu):
4619         * menubar-msw.c (update_frame_menubar_maybe):
4620         * menubar-msw.c (prune_menubar):
4621         * menubar-msw.c (msw_char_is_accelerator):
4622         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
4623         * menubar-msw.c (mswindows_handle_wm_command):
4624         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
4625         * menubar-msw.c (mswindows_handle_wm_initmenu):
4626         * menubar-msw.c (mswindows_update_frame_menubars):
4627         * menubar-msw.c (mswindows_free_frame_menubars):
4628         * menubar-msw.c (mswindows_popup_menu):
4629         Fixed a bug in handling accelerators where an extra character
4630         would be displayed in the menu item.  Also generalized the
4631         function displayable_menu_item because it is now used by the
4632         dialog box code as well.  And finally, added code in the functions
4633         that create the menubar to extract a list of accelerators for the
4634         top level menubar, which is used in the event code to determine
4635         whether a particular alt-key combination should be used to invoke
4636         a menu item, or should be passed through to access the standard
4637         XEmacs keymap binding for this key combination.
4638
4639         Much needed GCPROing.
4640
4641         * menubar-x.c:
4642         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4643         * menubar-x.c (menu_item_descriptor_to_widget_value):
4644         * menubar-x.c (restore_in_menu_callback):
4645         * menubar-x.c (x_popup_menu):
4646         * menubar-x.c (menu_move_up):
4647         * menubar-x.c (menu_move_down):
4648         * menubar-x.c (menu_move_left):
4649         * menubar-x.c (menu_move_right):
4650         * menubar-x.c (menu_select_item):
4651         * menubar-x.c (command_builder_operate_menu_accelerator):
4652         * menubar-x.c (menu_accelerator_junk_on_error):
4653         * menubar-x.c (command_builder_find_menu_accelerator):
4654         * menubar-x.c (Faccelerate_menu):
4655         * menubar.h:
4656         Moved a whole bunch of code here that was previously in
4657         event-stream.c as described above.  There is also code connected
4658         to the new standard of adding an accelerator to the beginning of
4659         menu items that don't have one as described above and below.
4660
4661         * menubar.c:
4662         * menubar.c (menu_parse_submenu_keywords):
4663         * menubar.c (Fmenu_find_real_submenu):
4664         * menubar.c (Fnormalize_menu_item_name):
4665         * menubar.c (syms_of_menubar):
4666         * menubar.c (vars_of_menubar):
4667         * menubar.c (complex_vars_of_menubar):
4668
4669         a) Cleaned up a bunch of documentation and improved it.
4670
4671         b) XEmacs now automatically adds an accelerator onto the beginning
4672         of any menu items that don't have one.  I did this because there
4673         will inevitably be some menu items on the main menubar that don't
4674         have accelerators on them because the package that adds that
4675         particular menu item hasn't yet been fixed up to have accelerators
4676         in them and it looked rather strange to have some items with and
4677         some items without accelerators, especially since even in items
4678         without accelerators, you can, at least under windows, still
4679         access the item through an accelerator corresponding to the first
4680         character in the item's name.  If people don't like this behavior,
4681         I can add a variable to turn it off optionally, but I'm not sure
4682         this is a good idea because we really do need to have accelerators
4683         on all of the menu items, and if a package doesn't like the
4684         accelerators being put on the first character, then it should put
4685         the accelerators where they belong.
4686
4687         c) I made a behavior change, which is that the descriptor that
4688         specifies the text of the menu item, which formerly was just a
4689         string, can now also be an evaluated expression.  This makes this
4690         descriptor parallel with all of the others, which could also be
4691         evaluated expressions.  This also obviates the need for the
4692         keyword :label, which was previously listed in the documentation
4693         as unimplemented, and which was for the same purpose.
4694
4695         d) GCPROing.
4696
4697         * ntproc.c:
4698         * ntproc.c (new_child):
4699         * ntproc.c (sys_spawnve):
4700         * ntproc.c (find_child_console):
4701         * ntproc.c (sys_kill):
4702         Fixed compile warnings.  By the way, this file should really go
4703         away entirely, and this will happen as soon as Kirill makes his
4704         final round of process cleanups, which affect the function
4705         call-process.
4706
4707         * process-nt.c:
4708         * process-nt.c (struct nt_process_data):
4709         * process-nt.c (find_process_from_pid):
4710         * process-nt.c (send_signal_the_nt_way):
4711         * process-nt.c (enable_child_signals):
4712         * process-nt.c (find_child_console):
4713         * process-nt.c (send_signal_the_95_way):
4714         * process-nt.c (nt_finalize_process_data):
4715         * process-nt.c (ensure_console_window_exists):
4716         * process-nt.c (nt_create_process):
4717         * process-nt.c (nt_kill_child_process):
4718         * process-nt.c (nt_kill_process_by_pid):
4719         * process-nt.c (nt_open_network_stream):
4720         * process-nt.c (vars_of_process_nt):
4721         Copied over code from Emacs 20.5 to correctly send signals to sub-
4722         processes under Windows 95.  Also added code to automatically
4723         create and hide console window when a sub-process is created under
4724         Windows 95, which obviates the need for the separate runemacs.exe
4725         executable, and finally implemented some variables that were
4726         implemented in Emacs 20.5, but previously not in XEmacs.  These
4727         include mswindows- start-process-share-console and
4728         mswindows-start-process-inherit-error-mode. (Both of these only
4729         apply to Windows 95.)
4730
4731         * regex.c (regex_compile): Fixed a compile warning.
4732
4733         * select-msw.c:
4734         * select-msw.c (mswindows_own_selection):
4735         * select-msw.c (mswindows_get_foreign_selection):
4736         * select-msw.c (mswindows_disown_selection):
4737         * select-msw.c (console_type_create_select_mswindows):
4738         * select-msw.c (syms_of_select_mswindows):
4739         Cleaned up the file and implemented the device method
4740         selection_exists_p, which had accidentally been left out.  Also
4741         removed four lisp functions that were remnants from before the
4742         time when the selection code was properly device abstracted.
4743         These functions are no longer needed because there are generic
4744         equivalents, and because they were added recently and don't exist
4745         in FSF Emacs, I don't think there's any problem with just deleting
4746         them.
4747
4748         * sysdep.c:
4749         * sysdep.c (sys_subshell):
4750         Fixed a compile warning, although in this case there's probably
4751         something wrong with this code, and it ought to be looked into
4752         more thoroughly by somebody who understands it.
4753
4754         * window.c:
4755         * window.c (Fwindow_text_area_height):
4756         * window.c (Fwindow_width):
4757         * window.c (Fwindow_full_width):
4758         * window.c (Fwindow_pixel_width):
4759         * window.c (debug_print_window):
4760         * window.c (syms_of_window):
4761         Added functions window-text-area-height and window-full-width,
4762         which are functions for returning various width and height
4763         characteristics of a window. (One of these functions is necessary
4764         for making the file dialog box work correctly, and the other one
4765         was added for completeness.)  Also added a table to the
4766         documentation for window-height which describes the entire scheme
4767         for accessing width and height characteristics of a window.
4768
4769 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4770
4771         * nt.c (fstat): Added a comment for another problem with
4772         non-encapsulated [f]stat(), reported by Adrian Aichner
4773         <aichner@ecf.teradyne.com>.
4774
4775 2000-03-11  Andy Piper  <andy@xemacs.org>
4776
4777         * window.c (make_dummy_parent): initialize subwindow instance
4778         cache.
4779         (Fset_window_configuration): zero extent_modiff.
4780
4781 2000-03-10  Andy Piper  <andy@xemacs.org>
4782
4783         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
4784         more changes can be triggered.
4785         (Fredisplay_frame): ditto.
4786         (Fredraw_device): ditto.
4787         (Fredisplay_device): ditto.
4788         (redisplay_frame): make non-static.
4789         (redisplay_frame): call update_frame_gutter_geometry outside of
4790         display proper.
4791
4792         * gutter.h: declare update_frame_gutter_geometry.
4793
4794         * redisplay.h: declare redisplay_frame.
4795
4796         * gutter.c (update_frame_gutter_geometry): move geometry changes
4797         in update_frame_gutters here. Geometry changes can only occur
4798         outside of redisplay.
4799         (update_frame_gutters): remove geometry change code.
4800         (Fredisplay_gutter_area): make sure that we are in display when we
4801         update and that we have flushed any size changes.
4802
4803 2000-03-11  Andy Piper  <andy@xemacs.org>
4804
4805         * alloc.c (pdump_dump_data): remove i & count shadows.
4806
4807 2000-02-27  Mike Alexander  <mta@arbortext.com>
4808
4809         * sysdep.h: Declare pdump_read_file
4810
4811         * sysdep.c (pdump_read_file): New function
4812
4813         * alloc.c (pdump_load): Call pdump_read_file to get the portable
4814         dump data
4815
4816 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
4817
4818         * lrecord.h: add `lrecord_type_pgsetenv'.
4819
4820 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
4821
4822         * symsinit.h: declare (vars|syms)_of* functions.
4823         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
4824
4825 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
4826
4827         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
4828
4829         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
4830         GCCs.
4831
4832         * emacs.c (main_1): Call postgres initialization code.
4833
4834         * postgresql.h: New file.  PostgreSQL RDBMS support.
4835         * postgresql.c: New file.
4836
4837 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
4838
4839         * redisplay-output.c (redisplay_output_display_block): Disable
4840         redundant code.
4841
4842 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4843
4844         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
4845         (Fcanna_henkan_next): Ditto.
4846         (Fcanna_bunsetu_henkou): Ditto.
4847         (Fcanna_henkan_kakutei): Ditto.
4848         (Fcanna_henkan_end): Ditto.
4849         (Fcanna_henkan_quit): Ditto.
4850         (Fcanna_henkan_next): Set retun value correctly.
4851         (c2mu): Use unsigned char instead of signed char.
4852
4853 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4854
4855         * emacs.c (main_1): Always call syms_of_gui.
4856         * inline.c: include gui.h
4857
4858 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4859
4860         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
4861         converted to Lisp_Object.
4862         (Qtop_bottom): New variable.
4863         (syms_of_redisplay): Initialize it.
4864         * redisplay.h (Vvisible_bell): Ditto.
4865         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
4866         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
4867         only flash top and bottom.
4868
4869 2000-03-08  Andy Piper  <andy@xemacs.org>
4870
4871         * buffer.c (Frename_buffer): record new buffer name the right way.
4872
4873 2000-03-08  Andy Piper  <andy@xemacs.org>
4874
4875         * glyphs.c (update_subwindow): increase hash depth so that widget
4876         items get picked up properly.
4877
4878         * redisplay-output.c (compare_runes): increase hash depth so that
4879         widget items get picked up properly.
4880
4881 2000-03-08  Andy Piper  <andy@xemacs.org>
4882
4883         * gutter.c (output_gutter): add some debug.
4884
4885         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
4886         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
4887         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
4888
4889         * redisplay-output.c (compare_runes): use display_hash to
4890         determine if glyphs really are not the same.
4891
4892         * glyphs.c (update_subwindow): check display_hash to see if
4893         anything really needs to be updated. If not then do
4894         nothing. Record the display_hash after updating.
4895         (image_instance_equal): compare the image_instance face also.
4896
4897 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
4898
4899         * redisplay.h: Fix comment style.
4900
4901 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4902
4903         * consle-msw.h (struct mswindows_frame):
4904         Added new member paint_pending to indicate whether a WM_PAINT
4905         magic event has been queued for this frame.
4906
4907         * event-msw.c (mswindows_drain_windows_queue):
4908         Don't queue a WM_PAINT magic event if one is already queued.
4909         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
4910
4911         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
4912
4913 2000-03-07  Didier Verna  <didier@xemacs.org>
4914
4915         * dired.c: #include `regex.h' after `sysfile.h'.
4916
4917 2000-03-06  Martin Buchholz  <martin@xemacs.org>
4918
4919         * sound.c (init_nas_sound): Fix compiler warning.
4920
4921         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
4922         (FREE_STRUCT_P):
4923         (MARK_STRUCT_AS_FREE):
4924         (MARK_STRUCT_AS_NOT_FREE):
4925         Make `gcc -fstrict-aliasing' work properly.
4926
4927 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4928
4929         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
4930         (mswindows_delete_device): Call CoUnnitialize().
4931
4932         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
4933
4934 2000-02-25    <CraigL@DyCon.com>
4935
4936         * process-nt.c: MinGW now has <shellapi.h>, but still needs
4937         <errno.h>.
4938
4939         * sysdep.c: This extern declaration for environ prevents MinGW
4940         from finding the variable in CRTDLL.DLL.
4941
4942         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
4943         windows headers.
4944         (SHGFI_EXETYPE): ..
4945         (WM_MOUSEWHEEL): ..
4946         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
4947         definitions.
4948         (MMRESULT): Removed, now defined in cygwin's windows headers.
4949         (TIMECAPS): ..
4950         (uid_t,gid_t,pid_t,ssize_t): ..
4951         (_timeb): Removed, MinGW defines both _timeb and timeb.
4952         (HAVE_H_ERRNO): Added.
4953         (HAVE_TZNAME): Added, configure is not detecting this.
4954
4955 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
4956
4957         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
4958         * syntax.c (syntax_match): Use it.
4959
4960         * cmds.c: Import auto-fill-chars from FSF Emacs.
4961         (Vauto_fill_chars): New variables.
4962         (internal_self_insert): Check Vauto_fill_chars.
4963         (vars_of_cmds):
4964         Declare auto-fill-chars as a Lisp variable and initialize it.
4965
4966 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4967
4968         * fileio.c (Fmake_symbolic_link):
4969         (Ffile_symlink_p):
4970         Run handlers even if local machine doesn't have symlinks.
4971
4972 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4973
4974         * event-msw.c (mswindows_drain_windows_queue):
4975         Don't generate paint magic events for non-XEmacs frames.
4976
4977 2000-03-05  Andy Piper  <andy@xemacs.org>
4978
4979         * redisplay.c (redisplay_frame): generate_displayable_area and
4980         friends assumes that we are not in GC, we therefore have to make
4981         sure that this doesn't happen.
4982
4983         * gutter.c (calculate_gutter_size): generate_displayable_area
4984         assumes that we are not in GC, we therefore have to make sure that
4985         this doesn't happen.
4986
4987 2000-03-05  Martin Buchholz  <martin@xemacs.org>
4988
4989         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
4990
4991 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
4992
4993         * redisplay.c (regenerate_window): Make sure we set a sane value
4994         for end_pos even if we jump out of the loop.
4995         (regenerate_window): Answer Ben's question :-).
4996         (start_end_of_last_line): Add may_error argument.
4997         (start_of_last_line):
4998         (end_of_last_line): Pass may_error = 0.
4999         (end_of_last_line_may_error): New function.
5000         (pixel_to_glyph_translation): Use it, so we don't crash in
5001         event_to_glyph.
5002
5003 2000-03-04  Andy Piper  <andy@xemacs.org>
5004
5005         * window.h (struct window): add gutter_extent_modiff.
5006
5007         * window.c (allocate_window): zero out gutter_extent_modiff.
5008
5009         * redisplay.h: declare sync_display_line_structs.
5010
5011         * redisplay.c (add_glyph_rune): add a better comment.
5012
5013         * redisplay-output.c (sync_display_line_structs): made non-static.
5014         (compare_runes): remove unneccesary glyph cachel access.
5015
5016         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
5017
5018         * gutter.c (output_gutter): don't output the gutter if extent
5019         changes only involve extents in buffers. use 4 sets of display
5020         lines.
5021         (gutter_extent_signal_changed_region_maybe): new function. Mark
5022         extents in gutters as changed.
5023         (update_frame_gutters): use 4 sets of display lines.
5024         (reset_gutter_display_lines): ditto.
5025         (free_frame_gutters): ditto.
5026         (redraw_exposed_gutter): force output of gutters.
5027
5028         * frame.h (struct frame): add 4 sets of gutter display lines.
5029
5030         * extents.c: (extent_changed_for_redisplay): signal changes to
5031         extents in strings in the gutter as well as extents in buffers.
5032
5033 2000-03-02  Andy Piper  <andy@xemacs.org>
5034
5035         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
5036
5037         * frame.c (Fmake_frame): make sure the gutters get initialized
5038         after the frame is visible.
5039         (set_frame_selected_window): re-arrange compilation macros a
5040         little.
5041         (change_frame_size_1): mark gutters changed.
5042
5043         * device.c (Fset_device_class): mark gutters changed.
5044
5045 2000-03-01  Andy Piper  <andy@xemacs.org>
5046
5047         * window.c (window_top_frame_gutter_height): deleted.
5048         (window_bottom_frame_gutter_height): ditto.
5049         (window_left_frame_gutter_height): ditto.
5050         (window_right_frame_gutter_height): ditto.
5051         (window_top_gutter_height): don't use them.
5052         (window_bottom_gutter_height): ditto.
5053         (window_left_gutter_width): ditto.
5054         (window_right_gutter_width): ditto.
5055         (Fsplit_window): ditto.
5056         (Fwindow_pixel_edges): don't use border dimensions here.
5057
5058         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
5059         (update_scrollbar_instance): ditto.
5060
5061         * redisplay.c (generate_modeline): don't take gutters into account.
5062         (generate_modeline): ditto.
5063         (redisplay_frame): small gutter display optimisation.
5064
5065         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
5066
5067         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
5068         gutters into account.
5069
5070         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
5071         for window position and type.
5072
5073         * gutter.c (get_gutter_coords): fix for frame gutters.
5074         (update_frame_gutters): update frame geometry if the gutters have
5075         changed.
5076         (init_frame_gutters): record current gutter geometries.
5077
5078         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
5079         var.
5080         (mswindows_widget_instantiate): ditto.
5081
5082         * frame.h (struct frame): add current_gutter_bounds.
5083
5084         * frame.c (change_frame_size_1): position window and minibuffer
5085         appropriately taking into account the frame gutters.
5086
5087         * frame-x.c: (x_initialize_frame_size): take into account the
5088         frame gutters.
5089
5090 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
5091
5092         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
5093
5094 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
5095
5096         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
5097
5098 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
5099
5100         * file-coding.c (reset_decoding_stream): Clear previous
5101         detection state when autodetect.
5102
5103 2000-02-29  Didier Verna  <didier@xemacs.org>
5104
5105         * extents.c (set_extent_glyph_1): don't require extents to be
5106         attached.
5107
5108 2000-02-27  Andy Piper  <andy@xemacs.org>
5109
5110         * gutter.c (Fset_default_gutter_position): don't default left and
5111         right gutter visibility to t.
5112         (Fset_default_gutter_position): run
5113         default-gutter-position-changed-hook.
5114         (syms_of_gutter): add default-gutter-position-changed-hook.
5115
5116 2000-02-26  Andy Piper  <andy@xemacs.org>
5117
5118         * specifier.c (Fmake_specifier): add gutter references.
5119
5120         * gutter.h (RAW_WINDOW_GUTTER): new macro.
5121
5122         * lisp.h: declare Fvalid_plist_p.
5123
5124         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
5125         as changed.
5126         (default_gutter_visible_p_changed_in_window): invalidate gutter as
5127         well as its visibility so that it gets reconstructed.
5128         (construct_window_gutter_spec): new function. Construct a string
5129         to be displayed in the gutter from a plist of strings. Take care
5130         to only use elements that are declared as visible.
5131         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
5132         WINDOW_GUTTER.
5133         (gutter_validate): allow plists of strings in the specifier.
5134         (gutter_specs_changed): construct the real_gutter from the gutter
5135         specs using construct_window_gutter_spec.
5136         (gutter_visible_validate): gutter-visible is a new specifier type.
5137         (Fgutter_visible_specifier_p): new function for the new specifier.
5138         (syms_of_gutter): declare gutter-visible and
5139         Fgutter_visible_specifier_p.
5140         (specifier_type_create_gutter): intitalize new gutter-visible
5141         specifier.
5142         (reinit_specifier_type_create_gutter): ditto.
5143         (specifier_vars_of_gutter): use new specifier type for gutter
5144         visibility.
5145         (init_frame_gutters): construct real_gutter correctly.
5146         (Fgutter_specifier_p): beef up documentation.
5147         (Fgutter_size_specifier_p): ditto.
5148
5149         * winslots.h: add real_gutter slots.
5150
5151 2000-02-25  Andy Piper  <andy@xemacs.org>
5152
5153         * device-msw.c: Be kind to older cygwin versions. From Raymond
5154         Toy <toy@rtp.ericsson.se>.
5155
5156         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
5157         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
5158
5159 2000-02-25  Martin Buchholz  <martin@xemacs.org>
5160
5161         * elhash.c (MARK_OBJ): Practice macro hygiene.
5162
5163 2000-02-24  Martin Buchholz  <martin@xemacs.org>
5164
5165         * miscplay.c: s/__inline__/inline/g;
5166         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
5167         (get_device_compdc): INLINE ==> static inline
5168         * *.[ch]: Change INLINE to INLINE_HEADER globally.
5169         find -name '*.h' | \
5170         xargs global-replace \
5171         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
5172
5173 2000-02-25  Andy Piper  <andy@xemacs.org>
5174
5175         * window.c (window_top_frame_gutter_height): new function.
5176         (window_top_window_gutter_height): ditto.
5177         (window_top_gutter_height): use them.
5178         (window_bottom_frame_gutter_height): new function.
5179         (window_bottom_window_gutter_height): ditto.
5180         (window_bottom_gutter_height): use them.
5181         (window_left_window_gutter_width): new function.
5182         (window_left_frame_gutter_width): ditto.
5183         (window_left_gutter_width): use them.
5184         (window_right_window_gutter_width): new function.
5185         (window_right_frame_gutter_width): ditto.
5186         (window_right_gutter_width): use them.
5187         (window_pixel_height): new function. calulate window pixel height
5188         with frame gutter involvement.
5189         (Fsplit_window): calculate new sizes taking frame gutters into
5190         account.
5191         (window_char_height_to_pixel_height): don't include frame gutters.
5192         (window_char_height): use window_pixel_height.
5193         (window_pixheight): rename from window_pixel_height.
5194         (change_window_height): use it.
5195         (window_pixel_height_to_char_height): don't include frame gutters.
5196         (window_char_width_to_pixel_width): ditto.
5197
5198 2000-02-25  Andy Piper  <andy@xemacs.org>
5199
5200         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
5201         if it is.
5202
5203 2000-02-24  Martin Buchholz  <martin@xemacs.org>
5204
5205         * alloc.c (staticpro):
5206         (staticpro_nodump):
5207         (dumpstruct):
5208         (dumpopaque):
5209         (pdump_wire):
5210         (pdump_wire_list):
5211         (compact_string_chars):
5212         (pdump_dump_wired):
5213         Convert:  if (foo) abort();  ==>  assert (! foo);
5214
5215         * eldap.c (Fldap_search_basic):
5216         (Fldap_add):
5217         (Fldap_modify):
5218         (Fldap_delete):
5219         Fix compiler warnings, and possible crashes if (random) return
5220         value were to be used.
5221
5222 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5223
5224         * device-msw.c: Workaround ResetDC failure.
5225
5226         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
5227         applying a devmode.
5228
5229         * redisplay-msw.c (get_frame_dc): Added start_page_p.
5230         (mswindows_text_width): Do not start printer page.
5231
5232         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
5233
5234         * glyphs-msw.c: Added image methods to msprinter console and
5235         msprinter-specific image instantiation.
5236
5237 2000-02-20  Mike Alexander  <mta@arbortext.com>
5238
5239         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
5240         to avoid crashes when selection-sets-clipboard is on
5241         (mswindows_own_selection): ditto
5242
5243 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5244
5245         * glyphs-msw.c:
5246         * redisplay-msw.c (get_frame_dc):
5247         (get_frame_compdc):
5248         * console-msw.h:
5249         * device-msw.c (mswindows_init_device):
5250         (mswindows_delete_device):
5251         (msprinter_init_device):
5252         (msprinter_delete_device):
5253         * frame-msw.c (mswindows_init_frame_1):
5254         (mswindows_delete_frame):
5255         (msprinter_init_frame_3):
5256         (msprinter_delete_frame): Move compatible DC to device object from
5257         frame object, for both mswindows and msprinter. Only one at a time
5258         is needed, it is a real waste to have one per frame!
5259
5260 2000-02-23  Andy Piper  <andy@xemacs.org>
5261
5262         * glyphs.c: add dynamic width and height elements.
5263         (image_instance_equal): ditto.
5264
5265         * glyphs-widget.c (widget_query_geometry): calculate width and
5266         height dynamically if required.
5267         (initialize_widget_image_instance): initialize dynamic dimensions.
5268         (widget_instantiate): pick-up dynamic dimensions.
5269
5270         * glyphs.h (struct Lisp_Image_Instance): add width and height for
5271         dynamic determination. Add appropriate macros.
5272
5273         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
5274         dimensions safe.
5275         (WINDOW_GUTTER_SIZE): ditto.
5276         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
5277
5278         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
5279         inline.
5280         (get_frame_dc): ditto.
5281
5282         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
5283         here.
5284
5285 2000-02-23  Martin Buchholz <martin@xemacs.org>
5286
5287         * XEmacs 21.2.31 is released.
5288
5289 2000-02-22  Ben Wing <ben@xemacs.org>
5290
5291         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
5292
5293 2000-02-22  Andy Piper  <andy@xemacs.org>
5294
5295         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
5296
5297 2000-02-21  Mike Sperber <mike@xemacs.org>
5298
5299         * .dbxrc:
5300         * .gdbinit:
5301         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
5302         variables.
5303
5304 2000-02-21  Mike Sperber <mike@xemacs.org>
5305
5306         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
5307
5308 2000-02-21  Martin Buchholz <martin@xemacs.org>
5309
5310         * XEmacs 21.2.30 is released.
5311
5312 2000-02-20  Martin Buchholz  <martin@xemacs.org>
5313
5314         Performance hacking.
5315         * *.c (syms_of_*):
5316         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
5317         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
5318         * emacs.c (main_1):
5319         * lisp.h (DEFUN):
5320         * console.c (DEFVAR_CONSOLE_LOCAL_1):
5321         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
5322         * symeval.h (DEFVAR_SYMVAL_FWD):
5323         * symbols.c (guts_of_unbound_marker):
5324         Make all c_readonly objects also lisp_readonly and marked for life.
5325         * lrecord.h (struct lrecord_implementation):
5326         Document flags better.
5327         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
5328         * lrecord.h (DECLARE_LRECORD):
5329         * lrecord.h (XSETRECORD):
5330         * lrecord.h (RECORDP):
5331         * lrecord.h (RECORD_TYPEP):
5332         * lrecord.h (RECORD_MARKER): New.
5333         * lrecord.h (error_check_*):
5334         * lrecord.h (CONCHECK_NONRECORD):
5335         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
5336         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
5337         * lrecord.h (set_lheader_implementation):
5338         * lrecord.h (enum lrecord_type): New.
5339         * symeval.h (SYMBOL_VALUE_MAGIC_P):
5340         * alloc.c (disksave_object_finalization_1):
5341         * alloc.c (mark_object):
5342         * alloc.c (lrecord_type_index):
5343         * alloc.c (tick_lcrecord_stats):
5344         * alloc.c (Fgarbage_collect):
5345         * alloc.c (init_alloc_once_early):
5346         * alloc.c (pdump_load):
5347         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
5348         * alloc.c (lrecord_type_index): Delete.
5349         Make lisp object type indexes be constant.
5350           Makes (byte-compile) 5% faster.
5351         Put all marker functions into their own array.
5352           Makes (garbage-collect) 5% faster.
5353         Optimize SYMBOL_VALUE_MAGIC_P.
5354           Makes (byte-compile) 2-3% faster.
5355         * config.h.in (gc_checking_assert): New.
5356         * alloc.c: Use gc_checking_assert().
5357         * .dbxrc: Make compatible with new object type implementation.
5358         * .gdbinit: Make compatible with new object type implementation.
5359         * alloc.c: Delete all symbols defined only for debugging, such as
5360         Lisp_Type_Vector and lrecord_charset.
5361
5362 2000-02-21  Andy Piper  <andy@xemacs.org>
5363
5364         * gui-msw.c (Fmswindows_shell_execute): fix file location
5365         problems.
5366
5367         * buffer.c (Fkill_buffer): remove buffer from alist buffer
5368         unshowing so that set_window_buffer doesn't undo
5369         kill_buffer_hook's hard work.
5370
5371         * glyphs-widget.c (tab_control_query_geometry): don't count the
5372         first item when calculating geometry.
5373
5374         * glyphs.c (map_subwindow): remove redundant code.
5375         (update_frame_subwindows): be more circumspect about when to
5376         update subwindows.
5377
5378         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
5379         when items haven't changed. Update faces if faces have changed as
5380         well as just the widget face.
5381         (x_tab_control_update): Update faces if faces have changed as well
5382         as just the widget face.
5383
5384 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5385
5386         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
5387         registration.
5388         (build_syscolor_string): Use mswindows_color_to_string to try to
5389         get a named color.
5390         (mswindows_device_system_metrics): Reverse the foreground and
5391         background colors so that they match the documentation.
5392
5393         * objects-msw.c: (mswindows_X_color_map): tweak some values so
5394         they match the default Windows palette.
5395         (mswindows_color_to_string): New function.
5396
5397 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5398
5399         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
5400
5401 2000-02-18  Olivier Galibert  <galibert@pobox.com>
5402
5403         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
5404         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
5405
5406         * symbols.c (init_symbols_once_early): Removed obsolete
5407         DATA_SEG_BITS related kludge.
5408         (defvar_magic): Ditto.
5409
5410         * malloc.c: Removed obsolete DATA_SEG_BITS
5411         * ralloc.c: Ditto.
5412         * mem-limits.h: Ditto.
5413
5414         * Makefile.in.in: Removed obsolete HAVE_SHM
5415         * emacs.c: Ditto.
5416
5417 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5418
5419         *  device-msw.c (mswindows_delete_device): Free DDE string
5420         handles.
5421
5422 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5423
5424         * keymap.c (get_keyelt):
5425         * unexnt.c (unexec):
5426         * vm-limit.c (memory_warnings):
5427         * ntheap.c (recreate_heap):
5428         * ntheap.h (UNINIT_PTR):
5429         * select-msw.c (Fmswindows_get_clipboard):
5430         (Fmswindows_set_clipboard):
5431         * objects-msw.h (MSWINDOWS_BAD_HFONT):
5432         * objects-msw.c:
5433         * menubar-msw.c (displayable_menu_item):
5434         * glyphs-msw.c:
5435         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
5436         * sysdep.c (sys_subshell):
5437         * process-nt.c (nt_create_process):
5438         * nt.c (normalize_filename):
5439         (dostounix_filename):
5440         (unixtodos_filename):
5441         * ntproc.c (win32_executable_type):
5442         * ntplay.c (play_sound_data_1):
5443         (play_sound_file):
5444         * editfns.c (get_home_directory):
5445         * event-msw.c (struct winsock_stream):
5446         (mswindows_dde_callback):
5447         * device-msw.c (msprinter_init_device):
5448         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
5449
5450         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
5451         mswindows_clear_toolbar were swapped!
5452
5453         * objects-msw.c:(colormap_t):
5454         (fontmap_t):
5455         * emacs.c (struct standard_args): Fixed const jumble.
5456
5457         * glyphs-widget.c (update_widget): Fixed comparison notation.
5458
5459         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
5460
5461         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
5462         __declspec(noreturn) syntax.
5463
5464 2000-02-19  Martin Buchholz  <martin@xemacs.org>
5465
5466         * eldap.c (Fldap_open):
5467         (Fldap_search_basic):
5468         (Fldap_add):
5469         (Fldap_modify):
5470         Use new coding system conversion macros.
5471
5472 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
5473
5474         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
5475
5476 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
5477
5478         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
5479         (Fldap_add, Fldap_modify, Fldap_delete): New functions
5480
5481         * eldap.c (Qadd, Qreplace): New constant symbols
5482         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
5483         interruptions by XEmacs signals
5484         Remove unnecessary calls to slow_down_interrupts and
5485         speed_up_interrupts
5486         (Fldap_search_basic): Renamed from Fldap_search_internal
5487         Added new optional parameter VERBOSE that triggers the
5488         display of progress messages
5489         Remove unnecessary calls to slow_down_interrupts and
5490         speed_up_interrupts
5491         LDAP result code analysis rewritten
5492         (Fldap_add, Fldap_modify, Fldap_delete): New functions
5493         (syms_of_eldap): Define the new symbols and functions
5494
5495
5496 2000-02-17  Martin Buchholz  <martin@xemacs.org>
5497
5498         * realpath.c: Determine PATH_MAX maximally portably.
5499
5500         * insdel.c (bytecount_to_charcount): Optimize.
5501         The function used to be optimized for entirely ASCII sequences.
5502         Now it is optimized for successive characters from the same
5503         charset.  This also wins big for _mostly_ ASCII sequences.
5504
5505         * fileio.c (Ffile_truename): convert return from realpath() using
5506         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
5507         - Rewrite GCPROing slightly.
5508
5509         * sysdep.c (sys_open): Do filename conversion, like all other
5510         sys_* functions.  Fixes bug:
5511         (let ((file-name-coding-system 'iso-8859-2))
5512            (write-region x y latin2-name))
5513         ==> writes filename using internal encoding.
5514
5515 2000-02-18  Martin Buchholz  <martin@xemacs.org>
5516
5517         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
5518         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
5519         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
5520         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
5521         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
5522         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
5523         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
5524         (CONST_IF_NOT_DEBUG): Delete.
5525         * alloc.c (this_one_is_unmarkable): Delete.
5526         (mark_object): Don't check for this_one_is_unmarkable. Use the
5527         c_readonly flag instead.
5528         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
5529
5530 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5531
5532         * event-msw.c (mswindows_drain_windows_queue):
5533         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
5534         away redundant repaint events.
5535
5536 2000-02-17  Andy Piper  <andy@xemacs.org>
5537
5538         * redisplay.h: declare mark_redisplay_structs.
5539
5540         * redisplay.c (redisplay_window):
5541         (redisplay_frame): don't check subwindows_state_changed.
5542         (mark_redisplay): mark gutters here.
5543
5544         * glyphs.c: (instantiate_image_instantiator): always layout if we
5545         haven't done so already.
5546         (allocate_image_instance): don't mark as dirty.
5547         (update_subwindow): bind inhibit_quit.
5548
5549         * gutter.c (mark_gutters): new function.
5550
5551         * glyphs-x.c (x_update_widget): Always resize to get round a
5552         widget bug.
5553
5554         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
5555         breaking absolutely everything.
5556
5557         * gutter.h: declare mark_gutters.
5558
5559 2000-02-16  Martin Buchholz <martin@xemacs.org>
5560
5561         * XEmacs 21.2.29 is released.
5562
5563 2000-02-15  Olivier Galibert  <galibert@pobox.com>
5564
5565         * fns.c (size_bit_vector): Fix computation of the size.
5566
5567 2000-02-15  Martin Buchholz  <martin@xemacs.org>
5568
5569         * *.[ch]: Change CONST to const globally.
5570         find -name '*.[ch]' | \
5571         xargs global-replace \
5572         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
5573         - Remove vestigial references to CONST_IS_LOSING
5574
5575 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5576
5577         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
5578         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
5579         events instead of dispatching them directly.
5580         (mswindows_handle_paint): New function to do repainting.
5581         (mswindows_wnd_proc):
5582         (emacs_mswindows_handle_magic_event): Call above function.
5583
5584 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5585
5586         * objects-msw.c (mswindows_create_font_variant): Return the new
5587         font handle.
5588         (initialize_font_instance): Get font metrics from the underlined
5589         variant of the font to cope with the case where the underlined
5590         font has a bigger descent.
5591
5592 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
5593
5594         * gui.c (gui_item_accelerator): Return the first underlined
5595         character in item name.
5596
5597 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5598
5599         * lisp.h: Added Qprinter.
5600
5601         * general.c (syms_of_general): Initialized it.
5602
5603         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
5604         (get_frame_dc):
5605         (get_frame_compdc): Made inline.
5606
5607         * console.h (struct console_methods): Added eject_page method.
5608
5609         * frame.h: Added FRAME_DISPLAY_P and friends.
5610         Aligned backslahes in many macros in more readable fashion.
5611         Added page_number to struct frame, and an accessor macro
5612         for it.
5613
5614         * defice.h: Added DEVICE_DISPLAY_P and friends.
5615
5616         * device.c (Fdevice_printer_p): Used these.
5617
5618         * frame.c (allocate_frame_core): Initialize page number.
5619         (Fprint_job_page_number):
5620         (Fprint_job_eject_page): Implemented.
5621
5622         * frame-msw.c (msprinter_eject_page): Added method.
5623         (msprinter_start_page): Added.
5624
5625         * window.c (Fwindow_truncated_p): Fixed docstring.
5626         (Fwindow_last_line_visible_height): Implemented.
5627
5628 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5629
5630         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
5631
5632 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
5633
5634         * syntax.c (scan_words): Always advance at least one character.
5635
5636 2000-02-13  Andy Piper  <andy@xemacs.org>
5637
5638         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
5639         to make sure the glyph is in the cachels.
5640
5641         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
5642         global image instance flag.
5643         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
5644         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
5645
5646         * glyphs.c (allocate_image_instance): set dirty bits correctly.
5647         (Fset_image_instance_property): mark layout as changed.
5648         (invalidate_glyph_geometry_maybe): mark layout as changed.
5649         (glyph_width): use new NEEDS_LAYOUT macro.
5650         (glyph_ascent): ditto.
5651         (glyph_descent): ditto.
5652         (glyph_height): ditto.
5653         (image_instance_layout): mark layout as clean after laying out.
5654         (update_subwindow): don't mark layout as clean here.
5655
5656         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
5657         should no longer be needed.
5658
5659         * glyphs-x.c (x_update_widget): sanitize asserts.
5660         (x_finalize_image_instance): sanitize assignment to widgets.
5661
5662         * glyphs-widget.c (widget_instantiate): don't need to clear the
5663         layout flag here.
5664
5665 2000-02-13  Martin Buchholz  <martin@xemacs.org>
5666
5667         * sysdep.c (getcwd): Use standard prototype.
5668         * sysdep.h (getcwd): Use standard prototype.
5669
5670         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
5671         (sequence, start, end).
5672         Remove redundant type checking.
5673         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
5674         view of `caller-protects') to avoid a crash where the real fix was
5675         found elsewhere.
5676
5677 2000-02-12  Martin Buchholz  <martin@xemacs.org>
5678
5679         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
5680
5681         * s/sol2.h: Remove feature macro initialization.
5682
5683         * alloc.c (alloc_lcrecord): Add more type checking assertions.
5684         (vector_hash): New.  Code from internal_hash.
5685         * lrecord.h:
5686         Fix up allocation subsystem comments.
5687
5688         * config.h.in: Add __EXTENSIONS__ for Solaris.
5689
5690         * systime.h (EMACS_GETTIMEOFDAY): New.
5691         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
5692         Remove Solaris-specific code.
5693         Use void* for the (ignored) second arg for gettimeofday().
5694
5695         * elhash.c (hash_table_hash): Implement it, finally.
5696         * elhash.c:  Use hashcode_t.
5697
5698         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
5699         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
5700
5701         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
5702         * fns.c (size_bit_vector):
5703         * alloc.c (size_vector):
5704         (make_vector_internal):
5705         (make_bit_vector_internal):
5706         (sweep_bit_vectors_1):
5707         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
5708
5709 2000-02-10  Martin Buchholz  <martin@xemacs.org>
5710
5711         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
5712         Include strings.h to avoid warnings for bzero and strcasecmp.
5713
5714 2000-02-10  Olivier Galibert  <galibert@pobox.com>
5715
5716         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
5717         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
5718
5719         * fns.c (size_bit_vector): New.  Declare bit vectors as a
5720         sequence.
5721
5722 2000-02-10  Olivier Galibert  <galibert@pobox.com>
5723
5724         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
5725         use a value field instead.
5726         (symbol_value_forward_forward): Use value field.
5727         (DEFVAR_SYMVAL_FWD): Use value field.
5728         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
5729         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
5730         (DEFVAR_CONST_INT): Ditto.
5731         (DEFVAR_BOOL): Ditto.
5732         (DEFVAR_CONST_BOOL): Ditto.
5733         (DEFVAR_INT_MAGIC): Ditto.
5734         (DEFVAR_BOOL_MAGIC): Ditto.
5735
5736         * symbols.c (guts_of_unbound_marker): Use value field.
5737         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
5738         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
5739
5740         * lisp.h: Declare dumpopaque and noninteractive1.
5741
5742         * alloc.c (dumpopaque): Added.
5743         (pdump_dump_opaquevec): Added.
5744         (pdump): Call pdump_dump_opaquevec to dump opaque data.
5745         (pdump_load): Reload opaque data.  Sync noninteractive1 with
5746         noninteractive.
5747
5748 2000-02-10  Andy Piper  <andy@xemacs.org>
5749
5750         * glyphs.c (image_instance_layout): if the size changes, mark it
5751         as such.
5752
5753         * redisplay-output.c (redisplay_output_layout): Update the
5754         subwindow here.
5755         (redisplay_output_subwindow): ditto.
5756
5757         * glyphs.c (update_subwindow): make sure we reset flags for
5758         layouts as well as everything else.
5759
5760         * glyphs-widget.c (layout_layout): don't need to set the instances
5761         dimensions here.
5762
5763 2000-02-09  Martin Buchholz  <martin@xemacs.org>
5764
5765         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
5766         not HAVE_DLOPEN, which is a lower-level thing.
5767
5768         * .cvsignore: Ignore gmon.out
5769
5770 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
5771
5772         * .cvsignore: Ignore portable dumper xemacs.dmp file
5773
5774 2000-02-09  Andy Piper  <andy@xemacs.org>
5775
5776         * redisplay-output.c (redisplay_output_layout): be more clever
5777         about when we output based on the changed flags.
5778
5779         * glyphs.h (struct image_instantiator_methods): add update_method.
5780         (struct Lisp_Image_Instance): add changed flags. Declare new
5781         macros for manipulating them.
5782
5783         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
5784         (image_instance_parent_glyph): find an image_instance's parent
5785         glyph or image_instance.
5786         (image_instance_layout): mark the size as changed.
5787         (set_image_instance_dirty_p): new function. mark an image
5788         instance, plus all of its parents, as dirty.
5789         (Fset_image_instance_property): use it.
5790         (Fglyph_animated_timeout_handler): use it.
5791         (update_subwindow): call update_widget and device methods for
5792         update_subwindow. Mark all changed flags as clean.
5793         (Fresize_subwindow): mark size as changed.
5794
5795         * glyphs-x.c (x_finalize_image_instance): try and detect gc
5796         failures.
5797         (x_update_subwindow): only resize subwindows here.
5798         (x_update_widget): new function. Update all changed properties of
5799         a widget.
5800         (x_resize_subwindow): deleted.
5801         (x_widget_set_property): deleted.
5802         (x_progress_gauge_set_property): deleted.
5803         (x_progress_gauge_update): new function. Implement recorded
5804         changes.
5805         (x_tab_control_update): ditto.
5806         (x_tab_control_set_property): deleted.
5807         (console_type_create_glyphs_x): declare new functions.
5808         (image_instantiator_format_create_glyphs_x): ditto.
5809
5810         * glyphs-widget.c (widget_set_property): mark text changed.
5811         (update_widget): new function. Update properties of a widget.
5812         (widget_instantiate): for layouts make sure we set their
5813         children's parent correctly.
5814         (tab_control_set_property): new function. Record changes that will
5815         take place under redisplay's control.
5816         (progress_gauge_set_property): ditto.
5817         (image_instantiator_progress_guage): declare new functions.
5818         (image_instantiator_tab_control): ditto.
5819
5820         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
5821         now.
5822         (mswindows_update_widget): new function. Update all properties on
5823         a widget that have changed.
5824         (mswindows_button_update): new function. Update a button's set
5825         state.
5826         (mswindows_tab_control_update): new function. Update the items in
5827         a tab.
5828         (mswindows_tab_control_set_property): deleted.
5829         (mswindows_progress_gauge_update): new function. Update the
5830         progress gauge's progress.
5831         (mswindows_widget_set_property): deleted. This is all done
5832         asynchronously now.
5833         (mswindows_progress_gauge_set_property): ditto.
5834         (console_type_create_glyphs_mswindows): declare new methods.
5835         (image_instantiator_format_create_glyphs_mswindows): ditto.
5836
5837         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
5838         (msprinter_set_frame_properties): ditto.
5839
5840         * console.h (struct console_methods): Add update_widget_method.
5841
5842 2000-02-09  Andy Piper  <andy@xemacs.org>
5843
5844         * gui-msw.c (Fmswindows_shell_execute): Make
5845         mswindows-shell-execute industrial strength.
5846
5847 2000-02-08  Martin Buchholz  <martin@xemacs.org>
5848
5849         * lrecord.h: Make macro argument `props' match member function `plist'.
5850         * fns.c (Fget):
5851         * fns.c (Fput):
5852         * fns.c (Fremprop):
5853         * fns.c (Fobject_plist):
5854         * alloc.c:
5855         * symbols.c:
5856         Object property list frobbing cleanup.
5857         - Allow any lisp object (compared with `eq'), not just symbols, as
5858           keys in object plists.
5859         - Move symbol plist frobbing into symbols.c, where it belongs.
5860         - Move string plist frobbing into alloc.c, where it belongs.
5861         - Everything's an lrecord now, so no need to test for symbolp, etc.
5862         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
5863
5864         * extents.c: Reorder code to remove declarations.
5865
5866         * frame.h (store_in_alist): Remove useless declaration.
5867
5868 2000-02-07  Martin Buchholz  <martin@xemacs.org>
5869
5870         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
5871         * config.h.in: Add HAVE_XCONVERTCASE.
5872
5873 2000-02-07  Andy Piper  <andy@xemacs.org>
5874
5875         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
5876         it breaks many things.
5877
5878 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
5879
5880         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
5881         actually can start a common comment type.
5882         * src/syntax.h (SYNTAX_END_P): ditto for end.
5883
5884 2000-02-07  Martin Buchholz <martin@xemacs.org>
5885
5886         * XEmacs 21.2.28 is released.
5887
5888 2000-02-06  Martin Buchholz  <martin@xemacs.org>
5889
5890         * event-Xt.c (x_keysym_to_character): New.
5891         (maybe_define_x_key_as_self_inserting_character): New.
5892         (x_has_keysym): New.
5893         Auto-define all keys on the keyboard as self-insert-key.
5894
5895 2000-02-02  Martin Buchholz  <martin@xemacs.org>
5896
5897         * menubar.c (vars_of_menubar): A small code simplification.
5898
5899         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
5900
5901         * ExternalShell.c:
5902         * ExternalClient.c:
5903         * EmacsShell-sub.c:
5904         * EmacsManager.c:
5905         * EmacsFrame.c:
5906         Use consistent style for specifying X resources.
5907
5908         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
5909         This makes (dontusethis-set-symbol-value-handler) actually usable.
5910
5911         * lrecord.h (lrecord_decription_type):
5912         * alloc.c (pdump_register_sub):
5913         (pdump_dump_data):
5914         (pdump_reloc_one):
5915         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
5916         Comply with XEmacs coding style.
5917         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
5918         args, and XD_LISP_OBJECT_ARRAY with 3 args.
5919
5920         * keymap.c (Faccessible_keymaps):
5921         Make (accessible-keymaps map "\C-h") do the Right Thing.
5922         Make (accessible-keymaps map []) do the Right Thing.
5923         Make (accessible-keymaps map "") do the Right Thing.
5924         (check_keymap_definition_loop): New function.
5925         (keymap_store_internal): Keep luser from shooting self in foot,
5926           via (define-key ctl-x-4-map "p" global-map).
5927         Remove fullness slot from struct Lisp_Keymap, since hash tables
5928         are now reliable.
5929         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
5930
5931 2000-01-30  Martin Buchholz  <martin@xemacs.org>
5932
5933         * redisplay.c (init_redisplay): Fix small memory leak.
5934         * elhash.h:
5935         * elhash.c (pdump_reorganize_hash_table):
5936         Rename from reorganize_hash_table. Change prototype.
5937         Reuse the original memory for hentries.  Save 100k.
5938         * alloc.c (PDUMP_READ): new macro.
5939         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
5940         * alloc.c: No need to #ifndef before #undef.
5941
5942         * print.c: Allow debug_print() to print readably by modifying
5943         debug_print_readably.  Use consistent variable names.
5944
5945         * .dbxrc: Try to get things to work even if stopped in a function
5946         without source available by explicitly specifying source files.
5947 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5948
5949         * unexnt.c (_start): Removed bogus code which caused loading heap
5950         from differrent executable file.
5951         Removed bogus assignment to _fmode, which caused inconsistencies.
5952
5953 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5954
5955         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
5956         Have spawnve encapsulation regard DONT_ENCAPSULATE.
5957         Do not preliminary `#define signal sigset'.
5958
5959         * systime.h: Do not prototype environ on windows nt and cygwin,
5960         this conflicts with system header.
5961
5962         * syssignal.h: Use correct define for WINDOWSNT
5963
5964         * sysdep.h: Do not prototype environ on windows nt, this conflicts
5965         with system header.
5966
5967         * sysdep.c (near start of file): Fixed commentary and rearranged
5968         ifdefs in readable order.
5969         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
5970         (start_of_text):
5971         (end_of_text):
5972         (end_of_data): Do not compile in if using PDUMP.
5973
5974         * symsinit.h: Protptyped vars_of_nt().
5975
5976         * ntproc.c (windows9x_p): Added, instead of os_subtype.
5977         (find_child_console): Use it.
5978         (sys_kill): Use it.
5979
5980         * ntheap.h: Do not extern os_subtype.
5981
5982         * ntheap.c (cache_system_info): Do not cache unneeded:
5983         nt_major_version, nt_minor_version and os_subtype.
5984         (recreate_heap): Do not compile in when PDUMPing.
5985
5986         * nt.c (geteuid and friends): Use the new varibale
5987         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
5988         (init_user_info): Removed the above mentioned hackery.
5989         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
5990         stat has been fixed in the C runtime.
5991         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
5992
5993         * file-coding.c (struct file_coding_dump): Do not define
5994         ucs_to_mule_table in the struct if not MULE.
5995         (struct struct lrecord_description fcd_description_1): Do not dump
5996         the above.
5997
5998         * emacs.c (main_1): Call vars_of_nt().
5999         (right before Fdump_emacs_data): Don't need lastfile if using both
6000         portabe dumper and system malloc.
6001
6002         * alloc.c (Fmemory_limit): Conditionalized out.
6003         (pdump): Use OPEN_BINARY for the portable dump file.
6004         (pdump_load): Ditto.
6005
6006 2000-02-02  Mike Alexander  <mta@arbortext.com>
6007
6008         * nt.c (convert_time): Set tm_isdst before calling mktime and
6009         avoid calling it at all if the compiler supports 64 bit integers.
6010         Also initialize utc_base_ft before using it.
6011
6012 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
6013
6014         * frame.c (change_frame_size_1): Take f->internal_border_width
6015         into consideration when calculating the width of the frame.
6016
6017 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6018
6019         * window.c (frame_min_height):
6020         (frame_size_valid_p):
6021         (frame_pixsize_valid_p): Added.
6022         (check_frame_size): Generalized.
6023
6024         * window.h: Prototyped the above.
6025
6026         * lisp.h:
6027         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
6028         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
6029         Deleted Vwin32_* and Vbinary_process_* unused variables.
6030
6031         * device-msw.c (msprinter_init_device): Do not get printer font
6032         list; Added DEVMODE functions.
6033
6034         * frame-msw.c: Added lots of printer code.
6035
6036         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
6037         general.c.
6038
6039         * console-msw.h: Added more msprinter device private slots.
6040
6041 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6042
6043         * event-msw.c (key_needs_default_processing_p): Added.
6044         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
6045
6046 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6047
6048         * glyphs.c (image_instance_layout): Mark image instance as clean
6049         after layout.
6050         (glyph_dirty_p): Removed redundant function.
6051         (invalidate_glyph_geometry_maybe): Added.
6052         (update_glyph_cachel_data): Call it.
6053
6054         * glyphs.h: Prototyped it.
6055
6056         * redisplay.c (add_glyph_rune): Call it.
6057         (redisplay_window): Reset glyphs cachels when frame faces has
6058         changed, thus forcing recomputation of built-in border glyphs.
6059
6060 2000-01-30  Martin Buchholz  <martin@xemacs.org>
6061
6062         * Makefile.in.in: Make portable dumper and purify play well together.
6063         Add imperfect, but better than nothing, support for pdump.
6064         Remove xemacs.dmp when temacs is re-generated.
6065         Don't ignore errors when dumping xemacs.
6066
6067         * symbols.c (maybe_call_magic_handler): Remove one magic number.
6068
6069 2000-01-28  Andy Piper  <andy@xemacs.org>
6070
6071         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
6072         (setup_normal_frame): ditto.
6073         (setup_frame_without_minibuffer): ditto.
6074         (setup_minibuffer_frame): ditto.
6075         (delete_frame_internal): ditto.
6076         (Fmake_frame_invisible): ditto.
6077         (Ficonify_frame): ditto.
6078
6079         * window.h: change Fset_window_buffer signature.
6080
6081         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
6082         (Fset_window_buffer): allow recording of buffer if the window is
6083         the selected window.
6084         (window_loop): Use new Fset_window signature.
6085
6086 2000-01-23  Daniel Pittman  <daniel@danann.net>
6087
6088         * config.h.in: Added template for `HAVE_ATHENA_3D'
6089
6090 2000-01-29  Andy Piper  <andy@xemacs.org>
6091
6092         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
6093
6094         * gutter.c (output_gutter): Don't output if the window isn't live.
6095
6096 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6097
6098         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
6099         of 01/12/00: Moved SetFocus back here where it belongs.
6100
6101 2000-01-23  Andy Piper  <andy@xemacs.org>
6102
6103         * s/cygwin32.h: declare printer things.
6104
6105 2000-01-26  Andy Piper  <andy@xemacs.org>
6106
6107         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
6108         Alexander.
6109
6110 2000-01-24  Andy Piper  <andy@xemacs.org>
6111
6112         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
6113         (mswindows_button_instantiate): Make sure glyph is a pixmap.
6114
6115         * glyphs-widget.c (widget_instantiate): Avoid shadows.
6116
6117         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
6118
6119         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
6120
6121         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
6122         (mswindows_output_display_block): Avoid local shadows.
6123
6124         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
6125         (mswindows_enqueue_mouse_button_event): ditto.
6126         (mswindows_handle_gui_wm_command): remove declaration.
6127
6128         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
6129         warnings.
6130
6131         * console-msw.h: Avoid shadows.
6132         (mswindows_get_toolbar_button_text):
6133         (emacs_mswindows_create_stream_pair):
6134         (emacs_mswindows_delete_stream_pair):
6135         (mswindows_handle_toolbar_wm_command): declare.
6136
6137         * device-msw.c (build_syscolor_string): Avoid shadows.
6138
6139 2000-01-23  Andy Piper  <andy@xemacs.org>
6140
6141         * glyphs-widget.c (widget_instantiate): reverse the items for
6142         layouts so that children are in the expected order.
6143
6144 2000-01-28  Martin Buchholz  <martin@xemacs.org>
6145
6146         * ralloc.c: safe_bcopy ==> memmove
6147         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
6148         * s/msdos.h: Remove BCOPY macros.
6149         * insdel.c (gap_right): Remove BCOPY conditional code.
6150         * insdel.c (gap_left): Remove BCOPY conditional code.
6151         XEmacs demands a working ANSI C compiler - hence memmove.
6152
6153         * regex.c (regex_compile): Remove accidental use of trigraphs.
6154
6155 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6156
6157         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
6158         event timestamp.
6159
6160 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6161
6162         * event-msw.c (mswindows_drain_windows_queue): Added the
6163         parameter.
6164         (mswindows_need_event): Commented the call to
6165         mswindows_drain_windows_queue().
6166         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
6167         only.
6168
6169         * console-msw.h: Moved a few function prototypes here from
6170         event-msw.c.
6171
6172         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
6173         parameter from unsigned short to unsigned long.
6174         (Fmswindows_shell_execute): Added return value.
6175
6176 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
6177
6178         * sysdep.c (init_system_name):
6179           process-unix.c (unix_canonicalized_host_name):
6180         Don't call freeaddrinfo() if getaddrinfo() fails.
6181
6182         * process-unix.c (unix_open_unix_network_stream):
6183         Moved the code to get a port # into address loop.
6184
6185 2000-01-27  Martin Buchholz  <martin@xemacs.org>
6186
6187         * buffer.c (reinit_vars_of_buffer):
6188         The right place to initialize conversion_in_dynarr and
6189         conversion_out_dynarr.
6190
6191         * alloc.c (pdump): Use the real open() till sys_open() is functional.
6192
6193         * process-unix.c (unix_canonicalize_host_name): Muleize.
6194         (unix_open_network_stream): Muleize.
6195
6196         * buffer.h: Fix up prototypes for ralloc.c functions.
6197
6198 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
6199         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
6200         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
6201                 instead of gethostbyname()
6202         * process-unix.c: In unix_canonicalize_host_name() and
6203                 unix_open_network_stream(), add code to use getaddrinfo()
6204                 instead of gethostbyname().
6205
6206 2000-01-27  Daniel Pittman <daniel@danann.net>
6207
6208         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
6209         libs when built with flat Athena.
6210
6211 2000-01-27  Martin Buchholz  <martin@xemacs.org>
6212
6213         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
6214         Use coding standards for function prototypes.
6215
6216 2000-01-25  Martin Buchholz  <martin@xemacs.org>
6217
6218         * dialog-msw.c (push_lisp_string_as_unicode):
6219         * doc.c (unparesseuxify_doc_string):
6220         * dired.c (Fuser_name_completion_1):
6221         * dired.c (Fuser_name_all_completions):
6222         * dired.c (free_user_cache):
6223         * dired.c (user_name_completion):
6224         * console-x.c (get_display_arg_connection):
6225         * minibuf.c (clear_echo_area_internal):
6226         * minibuf.c (echo_area_append):
6227         * eldap.c (Fldap_open):
6228         * eldap.c (Fldap_search_internal):
6229         * frame-x.c (x_set_frame_text_value):
6230         * frame-x.c (x_set_frame_properties):
6231         * frame-x.c (x_create_widgets):
6232         * redisplay-tty.c (term_get_fkeys_1):
6233         * objects-x.c (x_parse_nearest_color):
6234         * objects-x.c (x_valid_color_name_p):
6235         * objects-x.c (x_initialize_font_instance):
6236         * objects-x.c (x_list_fonts):
6237         * objects-x.c (x_find_charset_font):
6238         * tooltalk.c (Fadd_tooltalk_message_arg):
6239         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6240         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6241         * process-unix.c (unix_create_process):
6242         * ntproc.c (sys_spawnve):
6243         * sound.c (Fplay_sound_file):
6244         * sound.c (Fplay_sound):
6245         * buffer.c (init_initial_directory):
6246         * buffer.c (init_buffer):
6247         * editfns.c (init_editfns):
6248         * editfns.c (Ftemp_directory):
6249         * editfns.c (Fuser_full_name):
6250         * editfns.c (uncache_home_directory):
6251         * editfns.c (get_home_directory):
6252         * editfns.c (Fuser_home_directory):
6253         * editfns.c (Fformat_time_string):
6254         * editfns.c (Fcurrent_time_string):
6255         * gui-x.c (button_item_to_widget_value):
6256         * database.c (Fopen_database):
6257         * event-Xt.c (x_to_emacs_keysym):
6258         * event-Xt.c (x_event_to_emacs_event):
6259         * event-Xt.c (describe_event_window):
6260         * event-msw.c (mswindows_wnd_proc):
6261         * glyphs-eimage.c (jpeg_instantiate):
6262         * glyphs-eimage.c (gif_instantiate):
6263         * glyphs-eimage.c (png_instantiate):
6264         * glyphs-eimage.c (tiff_instantiate):
6265         * glyphs-x.c (xbm_instantiate_1):
6266         * glyphs-x.c (x_xbm_instantiate):
6267         * glyphs-x.c (x_xface_instantiate):
6268         * glyphs-x.c (autodetect_instantiate):
6269         * glyphs-x.c (cursor_font_instantiate):
6270         * glyphs-x.c (x_widget_instantiate):
6271         * glyphs-x.c (x_widget_set_property):
6272         * glyphs-x.c (x_widget_property):
6273         * glyphs-x.c (BUILD_GLYPH_INST):
6274         * print.c (write_string_to_stdio_stream):
6275         * print.c (output_string):
6276         * print.c (Falternate_debugging_output):
6277         * print.c (Fexternal_debugging_output):
6278         * glyphs-msw.c (extract_xpm_color_names):
6279         * glyphs-msw.c (mswindows_xpm_instantiate):
6280         * glyphs-msw.c (bmp_instantiate):
6281         * glyphs-msw.c (resource_name_to_resource):
6282         * glyphs-msw.c (mswindows_resource_instantiate):
6283         * glyphs-msw.c (xbm_instantiate_1):
6284         * glyphs-msw.c (mswindows_xbm_instantiate):
6285         * glyphs-msw.c (mswindows_xface_instantiate):
6286         * glyphs-msw.c (mswindows_widget_instantiate):
6287         * glyphs-msw.c (add_tree_item):
6288         * glyphs-msw.c (add_tab_item):
6289         * glyphs-msw.c (mswindows_combo_box_instantiate):
6290         * glyphs-msw.c (mswindows_widget_property):
6291         * glyphs-msw.c (mswindows_combo_box_property):
6292         * glyphs-msw.c (mswindows_widget_set_property):
6293         * console.c (stuff_buffered_input):
6294         * objects-msw.c (mswindows_initialize_color_instance):
6295         * objects-msw.c (mswindows_valid_color_name_p):
6296         * objects-msw.c (mswindows_list_fonts):
6297         * objects-msw.c (mswindows_font_instance_truename):
6298         * bytecode.c (optimize_compiled_function):
6299         * select-x.c (symbol_to_x_atom):
6300         * select-x.c (x_atom_to_symbol):
6301         * select-x.c (hack_motif_clipboard_selection):
6302         * select-x.c (selection_data_to_lisp_data):
6303         * select-x.c (lisp_data_to_selection_data):
6304         * select-x.c (Fx_get_cutbuffer_internal):
6305         * select-x.c (Fx_store_cutbuffer_internal):
6306         * buffer.h (TO_EXTERNAL_FORMAT): New function.
6307         * buffer.h (TO_INTERNAL_FORMAT): New function.
6308         * emacs.c (make_arg_list_1):
6309         * emacs.c (make_argc_argv):
6310         * emacs.c (main_1):
6311         * emacs.c (Fdump_emacs):
6312         * emacs.c (split_string_by_emchar_1):
6313         * file-coding.h:
6314         * lisp.h:
6315         * lstream.h:
6316         * symsinit.h:
6317         * device-x.c (x_init_device):
6318         * device-x.c (Fx_valid_keysym_name_p):
6319         * device-x.c (Fx_get_font_path):
6320         * device-x.c (Fx_set_font_path):
6321         * glyphs.c (bitmap_to_lisp_data):
6322         * glyphs.c (pixmap_to_lisp_data):
6323         * alloc.c (make_ext_string): Use coding system arguments.  Update
6324         all callers.
6325         * alloc.c (build_string):
6326         * callproc.c (child_setup):
6327         * callproc.c (init_callproc):
6328         * fileio.c (lisp_strerror):
6329         * fileio.c (directory_file_name):
6330         * fileio.c (Fexpand_file_name):
6331         * fileio.c (Ffile_truename):
6332         * fileio.c (Fsysnetunam):
6333         * fileio.c (Fdo_auto_save):
6334         * sysdep.c (sys_readdir):
6335         * tests.c: New file.  Allow adding C tests.
6336         Replace GET_* macros with a more comprehensible and flexible
6337         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
6338         Modify all calls.
6339         Any coding system can be used to do format conversion.
6340         Eliminate enum external_data_format.
6341         Eliminate convert_to_external_format.
6342         Eliminate convert_to_internal_format.
6343         Make sure file-name, keyboard, terminal, and ctext are always
6344         defined as coding systems or aliases.  Make
6345         file-name-coding-system, terminal-coding-system, and
6346         keyboard-coding-system magical variables that are equivalent to
6347         defining the corresponding coding system aliases.
6348
6349         * file-coding.c (Fcoding_system_canonical_name_p): New function.
6350         * file-coding.c (Fcoding_system_alias_p): New function.
6351         * file-coding.c (Fcoding_system_aliasee): New function.
6352         * file-coding.c (append_suffix_to_symbol): New function.
6353         * file-coding.c (dangling_coding_system_alias_p): New function.
6354         * file-coding.c (Ffind_coding_system):
6355         * file-coding.c (Fcopy_coding_system):
6356         * file-coding.c (encode_coding_no_conversion):
6357         * file-coding.c (syms_of_file_coding):
6358         * file-coding.c (vars_of_file_coding):
6359         Rewrite coding system alias code.
6360         Allow nested aliases, like symbolic links.
6361         Allow redefinition of coding system aliases.
6362         Prevent existence of dangling coding system aliases.
6363
6364         * dired.c (Fuser_name_completion_1):
6365         * dired.c (Fuser_name_all_completions):
6366         A crash would happen if user did QUIT in the middle of building
6367         user_name_cache.  Remove redundant code in mainline and unwind_protect.
6368
6369         * lisp.h:
6370         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
6371
6372         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
6373         an unsigned char *.  Update all callers.
6374
6375 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6376
6377         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
6378
6379 2000-01-25  Martin Buchholz  <martin@xemacs.org>
6380
6381         * elhash.c (hentry_description): Use more portable definition.
6382         (resize_hash_table): Initialize new hentries using
6383         xnew_array_and_zero, thereby simplifying the code.
6384
6385         * mule-charset.c (make_charset): Make sure entire object is
6386         intialized, to avoid Purify warnings.
6387
6388         * alloc.c (resize_string): Fix unlikely crash with big strings.
6389
6390 2000-01-24  Martin Buchholz  <martin@xemacs.org>
6391
6392         * realpath.c (xrealpath):
6393         Don't call getwd().
6394
6395 2000-01-25  Martin Buchholz  <martin@xemacs.org>
6396
6397         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
6398
6399 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
6400
6401         * unexelfsgi.c (unexec): Change the way we decide which segment
6402         should be extended.
6403
6404         Assumption that .bss section should be outside the PT_LOADable
6405         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
6406         it's present) is inside the 'data' segment. This would fail the
6407         test which was used to find a segment to grow and cover new
6408         heap. Instead of this assumption, I created another one - on IRIX
6409         the segment to grow should start below .bss and it's address
6410         should extent above the end of .bss. Once this segment is
6411         identified, it's grown to accommodate the new heap and new
6412         zero-length .bss section is added at the end of .data2.
6413
6414 2000-01-25  Martin Buchholz  <martin@xemacs.org>
6415
6416         * eval.c (Feval): Wrong number of arguments should use original
6417         function, not the indirect_function version of it.
6418
6419 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
6420
6421         * glyphs-x.c (x_button_instantiate): Don't add image if
6422         it is not a pixmap.
6423         (x_locate_pixmap_file): Call Fexpand_file_name when file name
6424         is relative.
6425
6426 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
6427
6428         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
6429         declaration.
6430         (DEFVAR_INT_MAGIC): Ditto.
6431         (DEFVAR_BOOL_MAGIC): Ditto.
6432         * glyphs.h: Reindent backslash.
6433
6434 2000-01-24  Martin Buchholz  <martin@xemacs.org>
6435
6436         * glyphs-widget.c (layout_query_geometry):
6437         (layout_layout): Use correct types for gheight, gwidth.
6438
6439 2000-01-24  Martin Buchholz  <martin@xemacs.org>
6440
6441         * EmacsManager.c (QueryGeometry): Purified.
6442
6443 2000-01-23  Martin Buchholz  <martin@xemacs.org>
6444
6445         * alloc.c (make_float): Make sure entire object is intialized, to
6446         avoid Purify warnings.
6447         (pdump_register_sub): Remove useless assignment.
6448         (pdump): Use xmalloc, not malloc.
6449         (pdump_load): Use xmalloc, not malloc.
6450
6451 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6452
6453         * callproc.c:
6454         * dired-msw.c:
6455         * fileio.c:
6456         * process-nt.c:
6457         * redisplay-msw.c:
6458         * sysdep.c: Removed redundant #include <windows.h>
6459
6460 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6461
6462         * frame.c (delete_frame_internal): Do not delete device when its
6463         implementation so declares.
6464         (delete_frame_internal): Set device selected frame to nil when
6465         last frame goes away.
6466
6467         * device-msw.c (msprinter_device_system_metrics): Implemented.
6468         (mswindows_device_system_metrics): Added 'device-dpi property.
6469
6470         * device.c: (Fdevice_printer_p): Added.
6471         Added 'offset-workspace device metric.
6472
6473         * console.h (device_metrics): Declared DM_offset_workspace.
6474
6475 2000-01-23  Martin Buchholz  <martin@xemacs.org>
6476
6477         * fileio.c (Ffile_truename): Remove pointless and confusing
6478         initialization of elen.
6479
6480         * glyphs-widget.c: Compiler warning fixes.
6481
6482 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6483
6484         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
6485         instead of a Lisp_Object as argument to make it consistent with
6486         the other LIVE_P macros.
6487         (CHECK_LIVE_PROCESS): New macro.
6488
6489         * process.c: Declare Qprocess_live_p.
6490         (Fprocess_live_p): New function.
6491         (create_process): Use PROCESS_LIVE_P.
6492         (read_process_output): Ditto.
6493         (set_process_filter): Ditto.
6494         (Fdelete_process): Ditto.
6495         (kill_buffer_processes): Ditto
6496         (process_send_signal): Use CHECK_LIVE_PROCESS.
6497         (Fprocess_input_coding_system): Check whether process is still
6498         alive (fix PR#1061).
6499         (Fprocess_output_coding_system): Ditto.
6500         (Fprocess_coding_system): Ditto.
6501         (Fset_process_input_coding_system): Ditto.
6502         (Fset_process_output_coding_system): Ditto.
6503
6504 2000-01-23  Andy Piper  <andy@xemacs.org>
6505
6506         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
6507         layout and widget.
6508
6509         * glyphs.c (mark_image_instance): take into account changed
6510         image_instance format.
6511         (image_instance_equal): ditto.
6512         (image_instance_hash): ditto.
6513
6514         * glyphs-widget.c (widget_instantiate): Incorporate layout
6515         instantiation here. Delay layout of the layout until later.
6516         (layout_instantiate): deleted.
6517         (layout_query_geometry): new function. get the geometry of a
6518         layout.
6519         (layout_layout): layout a layout dynamically.
6520         (image_instantiator_widget): New function - splitting up
6521         image_instantiator_format_create_glyphs_widget for netwinder
6522         compilation.
6523         (image_instantiator_buttons):
6524         (image_instantiator_edit_fields):
6525         (image_instantiator_combo_box):
6526         (image_instantiator_scrollbar):
6527         (image_instantiator_progress_guage):
6528         (image_instantiator_tree_view):
6529         (image_instantiator_tab_control):
6530         (image_instantiator_labels):
6531         (image_instantiator_layout): ditto.
6532         (image_instantiator_format_create_glyphs_widget): Call preceeding
6533         functions.
6534
6535 2000-01-22  Martin Buchholz  <martin@xemacs.org>
6536
6537         * process.c (Fset_process_coding_system):
6538         * device-x.c (Fx_keysym_hash_table):
6539         Docstring fixes.
6540
6541         * lstream.c (Lstream_write): Return documented value, not 0.
6542
6543         * fileio.c (directory_file_name):
6544         (Fsubstitute_in_file_name):
6545         (Fsubstitute_insert_file_contents_internal):
6546         (Fwrite_region_internal):
6547         * emacs.c:
6548         * sysdep.c:
6549         * getloadavg.c:
6550         * systty.h:
6551         Remove vestigial APOLLO-conditional code.
6552
6553 2000-01-21  Martin Buchholz  <martin@xemacs.org>
6554
6555         * getpagesize.h: Add guard macros.
6556         * libsst.h: Add guard macros.
6557         * libst.h: Add guard macros.
6558         * line-number.h: Add guard macros.
6559         * ndir.h: Add guard macros.
6560         * sysfloat.h: Add guard macros.
6561         * sysfile.h: Add guard macros.
6562         * sysproc.h: Add guard macros.
6563         * syswait.h: Add guard macros.
6564         * xintrinsic.h: Add guard macros.
6565         * xintrinsicp.h: Add guard macros.
6566         * xmmanager.h: Add guard macros.
6567         * xmmanagerp.h: Add guard macros.
6568         * xmprimitive.h: Add guard macros.
6569         * xmu.h: Add guard macros.
6570         * gpmevent.h: Add copyright statement. Add guard macros.
6571         * miscplay.h: Add guard macros.
6572         * *.h: Use consistent C-standards-approved guard macro names.
6573
6574         * opaque.c (make_opaque): Switch parameter order.
6575         * opaque.h (make_opaque): Switch parameter order.
6576         Update all callers.
6577         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
6578
6579         * config.h.in (type_checking_assert): Added.
6580         (bufpos_checking_assert): Added.
6581
6582 2000-01-21  Martin Buchholz  <martin@xemacs.org>
6583
6584         * alloc.c: Harmless pdump changes.
6585         - Use countof().
6586         - spell alignment correctly.
6587         * sysdep.c: Use countof()
6588
6589 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6590
6591         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
6592         initially_selected_for_input() console method, default to 0.
6593         (semi_canonicalize_console_connection): Try to delegate to
6594         canonicalize_console_connection if no such console method.
6595         (canonicalize_console_connection): Vice versa.
6596         (print_console): Do not print nil connection.
6597
6598         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
6599         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
6600         (XDEVIMPF_FRAMELESS_OK): Added.
6601         (CONSOLE_INHERITS_METHOD): Added.
6602
6603         * console-msw.c (mswindows_canonicalize_console_connection):
6604         Added.
6605         (mswindows_canonicalize_device_connection): Added.
6606
6607         * console-msw.h (struct msprinter_device): Added this struct and
6608         accessor macros.
6609         (mswindows_device): Made fontlist a lisp object.
6610
6611         * device.c (semi_canonicalize_device_connection):  Try to delegate
6612         to canonicalize_device_connection if no such console method.
6613         (canonicalize_device_connection): Vice versa.
6614         (print_device): Do not print nil connection.
6615
6616         * device-msw.c (mswindows_init_device): Call InitCommonControls
6617         when have widgets.
6618         (mswindows_delete_device): Removed fontlist deallocation.
6619         (mswindows_mark_device): Added.
6620
6621         * events.c (event_equal): Added abort() at unreached code.
6622         (event_hash): Ditto.
6623
6624         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
6625         fallback tags of Windows devices.
6626
6627         * general.c (syms_of_general): Initialized Qmsprinter.
6628
6629         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
6630         of fallback tags of Windows devices.
6631
6632         * lisp.h: Declared Qmsprinter.
6633
6634         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
6635         of strings.
6636         (mswindows_list_fonts): Ditto.
6637         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
6638         that it can be used by both mswindows and msprinter devices.
6639         (initialize_font_instance): Added.
6640         (mswindows_initialize_font_instance): Use it.
6641         (msprinter_initialize_font_instance): Added.
6642
6643         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
6644         and implementation flags check.
6645         (redisplay_without_hooks): Changed the call to the above.
6646         (Fredraw_device): Ditto.
6647         (Fredisplay_device): Ditto.
6648
6649         * redisplay-msw.c (get_frame_dc): Implemented.
6650         (get_frame_compdc): Implemented.
6651         (many functions): Use the two functions above to get device
6652         contexts, ether for a window or a printer.
6653
6654 2000-01-21  Olivier Galibert  <galibert@pobox.com>
6655
6656         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
6657         initialization here.
6658         (init_symbols_once_early): Call it.
6659         * emacs.c (main_1): Call it.
6660         * symsinit.h: Declare it.
6661
6662 2000-01-19  Olivier Galibert  <galibert@pobox.com>
6663
6664         * alloc.c: Use a lrecord_header * in the backtrace instead of a
6665         Lisp_Object.
6666         (pdump_backtrace): Ditto.
6667         (pdump_register_object): Ditto.  Cleanup use of the pointers.
6668         (pdump_get_entry): Abort if trying to register a null pointer.
6669         (pdump_dump_data): Cleanup types when relocating.
6670         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
6671         (pdump_dump_rtables): Remove bad casts.
6672         (pdump_load): Cleanup relocation w.r.t union type.  Use a
6673         Lisp_Object instead of a EMACS_INT for the hashtable
6674         reorganization.
6675
6676 2000-01-20  Martin Buchholz  <martin@xemacs.org>
6677
6678         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
6679
6680         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
6681
6682         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
6683
6684         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
6685
6686 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6687
6688         * faces.h (FACE_STRIKETHRU_P): Added.
6689
6690         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
6691         of font variants.
6692
6693         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
6694         (mswindows_set_dc_font): New function, aware of font variants,
6695         separated from mswindows_update_dc.
6696
6697         * objects-msw.h (struct mswindows_font_instance_data): Added
6698         definition.
6699
6700         * objects-msw.c (mswindows_finalize_font_instance): Delete all
6701         cached fonts and the data structure.
6702         (mswindows_initialize_font_instance): Added creation of font data
6703         structure.
6704         (mswindows_print_font_instance): Print at least something.
6705         (mswindows_create_font_variant): Implemented.
6706         (mswindows_get_hfont): Implemented.
6707
6708 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
6709
6710         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
6711         prototyping problem with msvc.
6712
6713         * emacs.c (main_1): added syms_of_gui_mswindows() call
6714
6715         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
6716         syms_of_gui_mswindows() function
6717
6718         * symsinit.h: added the prototype for syms_of_gui_mswindows()
6719
6720 2000-01-18  Martin Buchholz <martin@xemacs.org>
6721
6722         * XEmacs 21.2.27 is released.
6723
6724 2000-01-18  Martin Buchholz  <martin@xemacs.org>
6725
6726         * glyphs-eimage.c (struct tiff_error_struct):
6727         (tiff_error_func):
6728         (tiff_warning_func):
6729         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
6730
6731         * unexmips.c:
6732         * unexhp9k3.c:
6733         * unexfreebsd.c:
6734         * unexec.c: Remove vestigial Lucid C code.
6735         * unexalpha.c:
6736         * unexaix.c:
6737         * termcap.c:
6738         * libsst.c: Ansify.
6739         Remove declarations of errno and strerror().
6740
6741         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
6742
6743         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
6744
6745 2000-01-16  Martin Buchholz  <martin@xemacs.org>
6746
6747         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
6748         Optimize.
6749
6750 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
6751
6752         * md5.c:
6753         * file-coding.c:
6754         * file-coding.h:
6755         Change enum eol_type to eol_type_t.
6756
6757 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
6758
6759         * gui.c (get_gui_callback): Check cons before accessing car.
6760
6761 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
6762
6763         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
6764         (XSETSPECIFIER_TYPE): Ditto.
6765
6766 2000-01-17  Didier Verna  <didier@xemacs.org>
6767
6768         * redisplay.c (generate_fstring_runes): compute string size in
6769         characters, not bytes.
6770
6771 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
6772
6773         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
6774
6775 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
6776
6777         * print.c (print_error_message): Call print_prepare().
6778
6779 2000-01-14  Martin Buchholz  <martin@xemacs.org>
6780
6781         * .dbxrc: Renamed from dbxrc.
6782
6783         * events.c (event_to_character):
6784         Use `assert (foo)' instead of `if (!foo) abort()'
6785
6786         * .gdbinit (xtype): Add documentation.
6787         * .gdbinit (check-temacs): New function.
6788         * .gdbinit (check-xemacs): New function.
6789         * dbxrc (check-xemacs): New function.
6790         * dbxrc (check-xemacs): New function.
6791
6792 2000-01-14  Andy Piper  <andy@xemacs.org>
6793
6794         * glyphs-widget.c (widget_query_geometry): Make sure that we
6795         calculate default dimensions correctly.
6796
6797 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6798
6799         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
6800
6801         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
6802         pdump_wire'd variable.
6803
6804         * emacs.c: (main_1): Conditionalized calls to
6805         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
6806
6807 2000-01-13  Martin Buchholz  <martin@xemacs.org>
6808
6809         * window.c (Fset_window_configuration):
6810         * sysdep.c (_start):
6811         * input-method-motif.c (res):
6812         * event-Xt.c (Xt_process_to_emacs_event):
6813         Simple compiler warning fixes.
6814
6815         * bytecode.c (funcall_compiled_function): Use the original
6816         function symbol on the backtrace list in preference to the
6817         compiled_function object in error messages.
6818
6819 2000-01-13  Andy Piper  <andy@xemacs.org>
6820
6821         * glyphs-x.c (update_widget_face): Make sure we update the widget
6822         background as well as foreground.
6823
6824 2000-01-13  Andy Piper  <andy@xemacs.org>
6825
6826         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
6827         fields to subwindow.
6828         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
6829         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
6830         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
6831         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
6832
6833         * glyphs-widget.c (check_valid_tab_orientation): new function.
6834         (initialize_widget_image_instance): zero orientation and
6835         justification.
6836         (widget_instantiate): pick up orientation.
6837         (tab_control_query_geometry): return appropriate values for
6838         vertical tabs.
6839
6840         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
6841         appropriate creation flags for left, right and bottom tabs.
6842
6843         * s/cygwin32.h: add tab definitions.
6844
6845 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6846
6847         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
6848         frame upon hiding a subwindow.
6849         (mswindows_button_instantiate): Changed the push button style to
6850         BS_PUSHBUTTON.
6851         (mswindows_button_instantiate): Removed button BS_NOTIFY
6852         style.
6853         (mswindows_button_instantiate): Removed redundant check for
6854         a disabled gui item.
6855         (mswindows_button_instantiate): Made use of WS_TABSTOP
6856         consistent: "operable" controls (edit, button, tree, scroll) have
6857         this style, "display-only" ones (static, progress gauge) do
6858         not. This style is currently ignored by XEmacs though. Also,
6859         removed the WS_EX_CONTROLPARENT style - it is not for children,
6860         it is for their parents!
6861         (mswindows_edit_field_instantiate): Ditto.
6862         (mswindows_progress_gauge_instantiate): Ditto.
6863         (mswindows_tree_view_instantiate): Ditto.
6864         (mswindows_tab_control_instantiate): Ditto.
6865         (mswindows_scrollbar_instantiate): Ditto.
6866         (mswindows_combo_box_instantiate): Ditto.
6867         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
6868         style to the "clip" window.
6869         (mswindows_button_instantiate): Removed compilation warning by
6870         equally typing terms of the ?: operator.
6871
6872 2000-01-12  Didier Verna  <didier@xemacs.org>
6873
6874         * redisplay.c (generate_fstring_runes): new parameter holding the
6875         last modeline-format extent.
6876         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
6877         extent, fill the glyph block with it.
6878         (generate_fstring_runes): handle these parameters.
6879         (generate_formatted_string_db): ditto.
6880
6881         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
6882         glyphs'extents in the modeline.
6883
6884 1999-01-11  Mike Woolley  <mike@bulsara.com>
6885
6886         * ntheap.c: Reduced the reserved heap space from 1Gb down to
6887         256Mb, as a workaround for the non-starting problem many people
6888         have experienced.
6889
6890 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
6891
6892         * console-tty.c (Fset_console_tty_output_coding_system):
6893         Force redrawing tty frame.
6894
6895 2000-01-10  Didier Verna  <didier@xemacs.org>
6896
6897         * redisplay.c (generate_fstring_runes): fix size computation bug.
6898
6899 2000-01-09  William M. Perry <wmperry@aventail.com>
6900
6901         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
6902
6903 2000-01-09  Andy Piper  <andy@xemacs.org>
6904
6905         * glyphs-msw.c: index -> i to avoid shadows.
6906         (xbm_create_bitmap_from_data): make static.
6907         (check_valid_string_or_int): deleted.
6908         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
6909
6910         * glyphs-x.c (x_update_subwindow): remove unused args.
6911
6912         * glyphs.c (glyph_image_instance): return the thing. Don't set the
6913         back pointer - this is done in allocate_image_instance.
6914         (query_string_font): return Qnil to make the compiler happy.
6915         (unmap_subwindow): set to ~0 to make the compiler happy.
6916         (glyph_query_geometry): comment out until used.
6917         (glyph_layout): ditto.
6918
6919 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
6920
6921         * insdel.c (signal_after_change): Remove extraneous unbind_to().