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