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