3596a7d82e28128516097c4b06a0c8b5d8fe5ec2
[chise/xemacs-chise.git-] / src / ChangeLog
1 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (Fget_char_attribute): Add new optional argument
4         `default-value'.
5         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
6         (remove_char_ccs): Likewise.
7
8 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
9
10         * text-coding.c (char_encode_shift_jis): New implementation in
11         UTF-2000.
12         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
13         ...)'.
14
15         * mule-charset.c (Vcharset_chinese_big5): New variable in
16         UTF-2000.
17         (Qchinese_big5): New variable in UTF-2000.
18         (BIG5_SAME_ROW): New macro in UTF-2000.
19         (make_builtin_char): Use builtin characters of
20         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
21         characters of `Vcharset_chinese_big5'.
22         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
23         (complex_vars_of_mule_charset): Add new coded-charset
24         `chinese-big5' in UTF-2000.
25
26         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
27         (Vcharset_chinese_big5): New external variable declaration.
28         (Vcharset_japanese_jisx0208_1990): Likewise.
29
30 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
31
32         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
33         function.
34         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
35
36 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
37
38         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
39         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
40         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
41         `mojikyo-pj-*'.
42
43 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
44
45         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
46
47 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
48
49         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
50         to 0.17.
51
52 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
53
54         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
55         for `CHARSET_BY_ATTRIBUTES'.
56         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
57         `CHARSET_BY_ATTRIBUTES'.
58
59         * text-coding.c (struct decoding_stream): Rename member `CH' to
60         `CPOS'.
61         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
62         (decode_coding_sjis): Likewise.
63         (decode_coding_big5): Likewise.
64         (decode_coding_ucs4): Likewise.
65         (decode_coding_utf8): Likewise.
66         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
67         `CHARSET_BY_ATTRIBUTES'.
68         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
69         `str->counter'; decode 3, 4 bytes sets.
70         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
71         sets.
72         (decode_coding_no_conversion): Use `str->cpos' instead of
73         `str->ch'.
74
75         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
76         (Qmojikyo_2022_1): New variable.
77         (make_charset): Don't use `CHARSET_TYPE_*'.
78         (range_charset_code_point): Support coded-charset
79         `mojikyo-2022-1'.
80         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
81         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
82         `CHARSET_BY_ATTRIBUTES'.
83         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
84         `CHARSET_BY_ATTRIBUTES'.
85         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
86         (complex_vars_of_mule_charset): Add new coded-charset
87         `mojikyo-2022-1'.
88
89         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
90         interface; changed to inline function.
91
92         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
93         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
94         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
95         (CHARSET_TYPE_94): Deleted.
96         (CHARSET_TYPE_94X94): Deleted.
97         (CHARSET_TYPE_96): Deleted.
98         (CHARSET_TYPE_96X96): Deleted.
99         (CHARSET_TYPE_128): Deleted.
100         (CHARSET_TYPE_128X128): Deleted.
101         (CHARSET_TYPE_256): Deleted.
102         (CHARSET_TYPE_256X256): Deleted.
103         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
104         to inline function.
105         (DECODE_MOJIKYO_2022): New inline function.
106         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
107         `Vcharset_mojikyo_2022_1'.
108
109 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
110
111         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
112         instead of `EQ'.
113         (put_byte_table): Likewise.
114         (char_id_table_equal): Use `get_byte_table' [new implementation].
115
116 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
117
118         * mule-charset.c: Include <limits.h> in UTF-2000.
119         (BT_UINT8_MIN): New macro in UTF-2000.
120         (BT_UINT8_MAX): New macro in UTF-2000.
121         (BT_UINT8_t): New macro in UTF-2000.
122         (BT_UINT8_nil): New macro in UTF-2000.
123         (BT_UINT8_unbound): New macro in UTF-2000.
124         (INT_UINT8_P): New inline function in UTF-2000.
125         (UINT8_VALUE_P): New inline function in UTF-2000.
126         (UINT8_ENCODE): New inline function in UTF-2000.
127         (UINT8_DECODE): New inline function in UTF-2000.
128         (mark_uint8_byte_table): New function in UTF-2000.
129         (print_uint8_byte_table): New function in UTF-2000.
130         (uint8_byte_table_equal): New function in UTF-2000.
131         (uint8_byte_table_hash): New function in UTF-2000.
132         (make_uint8_byte_table): New function in UTF-2000.
133         (uint8_byte_table_same_value_p): New function in UTF-2000.
134         (BT_UINT16_MIN): New macro in UTF-2000.
135         (BT_UINT16_MAX): New macro in UTF-2000.
136         (BT_UINT16_t): New macro in UTF-2000.
137         (BT_UINT16_nil): New macro in UTF-2000.
138         (BT_UINT16_unbound): New macro in UTF-2000.
139         (INT_UINT16_P): New inline function in UTF-2000.
140         (UINT16_VALUE_P): New inline function in UTF-2000.
141         (UINT16_ENCODE): New inline function in UTF-2000.
142         (UINT16_DECODE): New inline function in UTF-2000.
143         (UINT8_TO_UINT16): New inline function in UTF-2000.
144         (mark_uint16_byte_table): New function in UTF-2000.
145         (print_uint16_byte_table): New function in UTF-2000.
146         (uint16_byte_table_equal): New function in UTF-2000.
147         (uint16_byte_table_hash): New function in UTF-2000.
148         (make_uint16_byte_table): New function in UTF-2000.
149         (uint16_byte_table_same_value_p): New function in UTF-2000.
150         (print_byte_table): New function in UTF-2000.
151         (byte-table): Use `print_byte_table' as printer.
152         (make_byte_table): Delete second argument `older'.
153         (byte_table_same_value_p): New function in UTF-2000.
154         (copy_byte_table): Deleted.
155         (get_byte_table): New function in UTF-2000.
156         (put_byte_table): New function in UTF-2000.
157         (print_char_id_table): New function in UTF-2000.
158         (char-id-table): Use `print_char_id_table' as printer.
159         (make_char_id_table): Delete second argument `older'.
160         (get_char_id_table): Use `get_byte_table [new implementation].
161         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
162         implementation].
163         (Ffind_char_attribute_table): New function in UTF-2000.
164         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
165         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
166         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
167         (syms_of_mule_charset): Add new function
168         `find-char-attribute-table' in UTF-2000.
169
170         * lrecord.h (enum lrecord_type): Add
171         `lrecord_type_uint16_byte_table' and
172         `lrecord_type_uint8_byte_table'.
173
174         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
175         (Lisp_Uint8_Byte_Table): New type.
176         (XUINT8_BYTE_TABLE): New macro.
177         (XSETUINT8_BYTE_TABLE): New macro.
178         (UINT8_BYTE_TABLE_P): New macro.
179         (GC_UINT8_BYTE_TABLE_P): New macro.
180         (struct Lisp_Uint16_Byte_Table): New structure.
181         (Lisp_Uint16_Byte_Table): New type.
182         (XUINT16_BYTE_TABLE): New macro.
183         (XSETUINT16_BYTE_TABLE): New macro.
184         (UINT16_BYTE_TABLE_P): New macro.
185         (GC_UINT16_BYTE_TABLE_P): New macro.
186
187 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
188
189         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
190         (Vcharacter_ideographic_strokes_table): Deleted.
191         (Vcharacter_total_strokes_table): Deleted.
192         (Vcharacter_morohashi_daikanwa_table): Deleted.
193         (Vcharacter_decomposition_table): Deleted.
194         (Qname): Deleted because it is duplicated.
195         (Qideographic_radical): Deleted.
196         (Qideographic_strokes): Deleted.
197         (Qtotal_strokes): Deleted.
198         (Qmorohashi_daikanwa): Deleted.
199         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
200         `ideographic-radical', `ideographic-strokes', `total-strokes',
201         `morohashi-daikanwa' and `->decomposition'.
202         (Fget_char_attribute): Likewise.
203         (Fput_char_attribute): Likewise; use `make-vector' instead of
204         `make_older_vector' for `->decomposition' value.
205         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
206         `ideograph-daikanwa'.
207         (syms_of_mule_charset): Delete builtin symbols `name',
208         `ideographic-radical', `ideographic-strokes', `total-strokes' and
209         `morohashi-daikanwa'.
210         (vars_of_mule_charset): Don't setup
211         `Vcharacter_ideographic_radical_table',
212         `Vcharacter_ideographic_strokes_table',
213         `Vcharacter_total_strokes_table',
214         `Vcharacter_morohashi_daikanwa_table' and
215         `Vcharacter_decomposition_table'.
216
217 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
218
219         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
220         `make_older_vector', `make_vector_newer_1' and
221         `make_vector_newer'.
222
223         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
224         `make_older_vector' and `make_vector_newer'.
225
226         * config.h.in (HAVE_GGC): New macro.
227
228 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
229
230         * mule-charset.c (struct char_attribute_list_closure): New
231         structure in UTF-2000.
232         (add_char_attribute_to_list_mapper): New function in UTF-2000.
233         (Fchar_attribute_list): Likewise.
234         (Fset_charset_mapping_table): Use `make_vector_newer'.
235         (Fdecode_builtin_char): New function in UTF-2000.
236         (syms_of_mule_charset): Add new function `char-attribute-list' and
237         `decode-builtin-char' in UTF-2000.
238
239         * lisp.h (make_vector_newer): New prototype.
240
241         * alloc.c (make_vector_newer_1): New function.
242         (make_vector_newer): New function.
243
244 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
245
246         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
247         50100)'.
248
249 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
250
251         * mule-charset.c (Vchar_attribute_hash_table): New variable.
252         (Vcharacter_attribute_table): Deleted.
253         (Vcharacter_name_table): Deleted.
254         (put_char_attribute): Deleted.
255         (remove_char_attribute): Deleted.
256         (struct char_attribute_alist_closure): New structure.
257         (add_char_attribute_alist_mapper): New function.
258         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
259         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
260         (Fget_char_attribute): Likewise.
261         (Fput_char_attribute): Likewise.
262         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
263         of `remove_char_attribute'.
264         (Fdefine_char): Return character.
265         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
266         and `Vcharacter_name_table'.
267         (complex_vars_of_mule_charset): Likewise
268         `Vchar_attribute_hash_table'.
269
270 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
271
272         * character.h (CHARC_CHARSET): New macro.
273         (CHARC_CHARSET_ID): New macro.
274         (CHARC_CODE_POINT): New macro.
275         (CHARC_COLUMNS): New macro.
276         (CHARC_TO_CHAR): New inline function.
277         (CHARC_EQ): New inline function.
278         (CHARC_ASCII_EQ): New inline function.
279         (CHARC_IS_SPACE): New inline function.
280         (ASCII_TO_CHARC): New inline function.
281
282         * char-ucs.h (encode_char_2): Deleted.
283         (ENCODE_CHAR): Use `encode_char_1' again.
284         (breakup_char_1): Likewise.
285         (CHAR_TO_CHARC): New inline function.
286
287         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
288
289 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
290
291         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
292         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
293         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
294         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
295         (create_string_text_block): Use `CHARC_ASCII_EQ' and
296         `CHARC_IS_SPACE'.
297         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
298
299         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
300         `CHARC_CODE_POINT'.
301         (x_output_display_block): Use `CHARC_CHARSET' and
302         `CHARC_ASCII_EQ'.
303
304         * redisplay-tty.c (tty_output_display_block): Use
305         `CHARC_ASCII_EQ'.
306         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
307
308         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
309
310         * insdel.c (find_charsets_in_charc_string): Use
311         `CHARC_CHARSET_ID'.
312         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
313         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
314         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
315         (convert_charc_string_into_malloced_string): Likewise.
316
317 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
318
319         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
320         instead of <Emchar_dynarr *> for buf; use
321         `convert_bufbyte_string_into_charc_dynarr' instead of
322         `convert_bufbyte_string_into_emchar_dynarr'; use
323         `find_charsets_in_charc_string' instead of
324         `find_charsets_in_emchar_string'.
325
326         * redisplay.h:
327         - Include "character.h".
328         (struct rune): New member `cglyph'; delete member `chr'.
329
330         * redisplay.c (redisplay_text_width_charc_string): New function;
331         delete `redisplay_text_width_emchar_string'.
332         (rtw_charc_dynarr): New variable; renamed from
333         `rtw_emchar_dynarr'.
334         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
335         `rtw_emchar_dynarr'; use
336         `convert_bufbyte_string_into_charc_dynarr' instead of
337         `convert_bufbyte_string_into_emchar_dynarr'; use
338         `redisplay_text_width_charc_string' instead of
339         `redisplay_text_width_emchar_string'.
340         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
341         instead of `rtw_emchar_dynarr'; use
342         `convert_bufbyte_string_into_charc_dynarr' instead of
343         `convert_bufbyte_string_into_emchar_dynarr'.
344         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
345         `redisplay_text_width_charc_string' instead of
346         `redisplay_text_width_emchar_string'.
347         (create_text_block): Modify for <struct rune> change.
348         (generate_formatted_string_db): Likewise.
349         (create_string_text_block): Likewise.
350         (pixel_to_glyph_translation): Likewise.
351
352         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
353         instead of <const Emchar *>.
354         (x_text_width): Likewise.
355         (x_output_display_block): Use <Charc_dynarr *> instead
356         <Emchar_dynarr *>; modify for <structure rune> change.
357         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
358         *>.
359
360         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
361         <const Emchar *>; use `charc_string_displayed_columns' instead of
362         `emchar_string_displayed_columns'.
363         (tty_output_display_block): Use <Charc_dynarr *> instead of
364         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
365         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
366         (tty_output_charc_dynarr_dynarr): New variable; renamed from
367         `tty_output_emchar_dynarr_dynarr'.
368         (tty_output_charc_dynarr): New function; delete
369         `tty_output_charc_dynarr'.
370
371         * redisplay-output.c (compare_runes): Modify for `struct rune'.
372         (redisplay_output_layout): Use <Charc_dynarr *> instead of
373         <Emchar_dynarr *> for buf; use
374         `convert_bufbyte_string_into_charc_dynarr' instead of
375         `convert_bufbyte_string_into_emchar_dynarr'.
376
377         * frame.c (title_string_charc_dynarr): New variable; renamed from
378         `title_string_emchar_dynarr'.
379         (generate_title_string): Use `title_string_charc_dynarr' instead
380         of `title_string_emchar_dynarr'; use
381         `convert_charc_string_into_malloced_string' instead of
382         `convert_emchar_string_into_malloced_string'.
383         (init_frame): Use `title_string_charc_dynarr' instead of
384         `title_string_emchar_dynarr'.
385
386         * console.h:
387         - Include "character.h".
388         (struct console_methods): Use <const Charc *> instead of <const
389         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
390         <Emchar_dynarr *> in output_string_method.
391
392         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
393         <Emchar_dynarr *>.
394
395         * console-stream.c (stream_text_width): Use <const Charc *>
396         instead of <const Emchar *>.
397
398         * character.h (Charc_dynarr): New type.
399
400         * char-ucs.h (structure Charc): New structure; define new type
401         `Charc'.
402
403         * char-lb.h (DECODE_CHAR): New inline function.
404         (encode_char_1): New inline function.
405         (ENCODE_CHAR): New macro.
406         (structure Charc): New structure; define new type `Charc'.
407
408         * char-1byte.h (Vcharset_control_1): New macro.
409         (Vcharset_latin_iso8859_1): New macro.
410         (DECODE_CHAR): New inline function.
411         (encode_char_1): New inline function.
412         (ENCODE_CHAR): New macro.
413         (structure Charc): New structure; define new type `Charc'.
414
415         * insdel.c (find_charsets_in_charc_string): New function; delete
416         `find_charsets_in_emchar_string'.
417         (charc_string_displayed_columns): New function; delete
418         `emchar_string_displayed_columns'.
419         (convert_bufbyte_string_into_charc_dynarr): New function; delete
420         `convert_bufbyte_string_into_emchar_dynarr'.
421         (convert_charc_string_into_bufbyte_dynarr): New function; delete
422         `convert_charc_string_into_bufbyte_dynarr'.
423         (convert_charc_string_into_malloced_string): New function; delete
424         `convert_charc_string_into_malloced_string'.
425
426         * buffer.h (find_charsets_in_charc_string): New prototype; delete
427         `find_charsets_in_emchar_string'.
428         (charc_string_displayed_columns): New prototype; delete
429         `emchar_string_displayed_columns'.
430         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
431         `convert_charc_string_into_bufbyte_dynarr'.
432         (convert_charc_string_into_malloced_string): New prototype; delete
433         `convert_charc_string_into_malloced_string'.
434
435 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
436
437         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
438
439 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
440
441         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
442
443         * char-ucs.h: Use <short> for <Charset_ID>.
444
445         * mule-charset.h, char-1byte.h: Use <unsigned char> for
446         <Charset_ID>.
447
448 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
449
450         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
451         to 0.16.
452
453 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
454
455         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
456         variable.
457         (Qmorohashi_daikanwa): New variable.
458         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
459         for `morohashi-daikanwa' attribute.
460         (Fget_char_attribute): Likewise.
461         (Fput_char_attribute): Likewise.
462         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
463         has the same value of `ideograph-daikanwa'.
464         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
465         (vars_of_mule_charset): Setup
466         `Vcharacter_morohashi_daikanwa_table'.
467
468 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
469
470         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
471         attributes.
472         (add_charset_to_list_mapper): Add `key' instead of
473         `XCHARSET_NAME (value)' to return aliases.
474
475 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
476
477         * mule-charset.c (Vcharacter_ideographic_radical_table): New
478         variable.
479         (Vcharacter_ideographic_strokes_table): New variable.
480         (Qideographic_radical): New variable.
481         (Qideographic_strokes): New variable.
482         (Fchar_attribute_alist): Use
483         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
484         attribute; use `Vcharacter_ideographic_strokes_table' for
485         `ideographic-strokes' attribute.
486         (Fget_char_attribute): Likewise.
487         (Fput_char_attribute): Likewise.
488         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
489         `ideographic-strokes'.
490         (vars_of_mule_charset): Setup
491         `Vcharacter_ideographic_radical_table' and
492         `Vcharacter_ideographic_strokes_table'.
493
494 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
495
496         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
497         (Qtotal_strokes): New variable.
498         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
499         `total-strokes' attribute.
500         (Fget_char_attribute): Likewise.
501         (Fput_char_attribute): Likewise.
502         (syms_of_mule_charset): Add new symbol `total-strokes'.
503         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
504
505 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
506
507         * mule-charset.c (Vcharacter_decomposition_table): New variable.
508         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
509         are found.
510         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
511         `->decomposition' attribute.
512         (Fput_char_attribute): Likewise.
513         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
514
515 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
516
517         * mule-charset.c (decoding_table_check_elements): New function.
518         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
519
520 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
521
522         * mule-charset.c (Fset_charset_mapping_table): Use
523         `put_char_ccs_code_point'.
524
525 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
526
527         * mule-charset.c (decoding_table_put_char): New inline function.
528         (put_char_ccs_code_point): Use `decoding_table_put_char'.
529
530 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
531
532         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
533         (XCHARSET_BYTE_SIZE): New macro.
534         (decoding_table_remove_char): New inline function.
535         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
536         `decoding_table_remove_char'.
537         (remove_char_ccs): Use `decoding_table_remove_char'.
538         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
539
540 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
541
542         * mule-charset.c (Vcharacter_name_table): New variable.
543         (Qname): New variable.
544         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
545         attribute.
546         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
547         `Vcharacter_name_table' for `name' attribute.
548         (Fremove_char_attribute): Use function `remove_char_ccs'.
549         (put_char_ccs_code_point): New function.
550         (remove_char_ccs): New function.
551         (syms_of_mule_charset): Add new symbol `name'.
552         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
553
554 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
555
556         * mule-charset.c (make_byte_table): Add new argument `older'.
557         (make_char_id_table): Likewise.
558         (copy_char_id_table): Comment out because it is not used.
559         (put_char_id_table): Modify for `make_byte_table'.
560         (Fput_char_attribute): Make encoding_table as older object;
561         inherit older bit of `Vcharacter_composition_table'.
562         (mark_charset): Don't mark `cs->encoding_table'.
563         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
564         normal object; make `Vcharacter_composition_table' as an older
565         object; delete staticpro for `Vcharacter_composition_table'; make
566         `Vcharacter_variant_table' as a normal object.
567
568         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
569         (mark_object): Don't check older object in UTF-2000.
570
571         * lrecord.h (struct lrecord_header): Add new member `older' in
572         UTF-2000.
573         (set_lheader_implementation): Setup `SLI_header->older' in
574         UTF-2000.
575         (set_lheader_older_implementation): New macro in UTF-2000.
576         (OLDER_RECORD_P): New macro in UTF-2000.
577         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
578         (alloc_older_lcrecord): New prototype in UTF-2000.
579         (alloc_older_lcrecord_type): New macro in UTF-2000.
580
581 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
582
583         * mule-charset.c (byte_table_description): Use
584         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
585         (char_id_table_description): Delete bogus `, 1'.
586         (Fget_char_attribute): Refer encoding_table of each coded-charset
587         to get value of coded-charset attribute of a character.
588         (Fput_char_attribute): Use `make_older_vector' instead of
589         `make_vector'; use encoding_table of each coded-charset to store
590         value of coded-charset attribute of a character.
591         (Fremove_char_attribute): Use encoding_table of each coded-charset
592         to store value of coded-charset attribute of a character.
593         (mark_charset): Mark `cs->encoding_table'; don't mark
594         `cs->decoding_table'.
595         (charset_description): Add description of new member
596         `encoding_table'.
597         (make_charset): Initialize `encoding_table'.
598
599         * char-ucs.h (struct Lisp_Charset): Add new member
600         `encoding_table'.
601         (CHARSET_ENCODING_TABLE): New macro.
602         (XCHARSET_ENCODING_TABLE): New macro.
603         (charset_code_point): New implementation.
604         (encode_char_1): Likewise.
605
606         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
607         (disksave_object_finalization_1): Call finalizers of
608         `all_older_lcrecords' in UTF-2000.
609         (make_older_vector): New function in UTF-2000.
610         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
611         UTF-2000.
612
613         * lisp.h (make_older_vector): New prototype in UTF-2000.
614
615 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
616
617         * lrecord.h (enum lrecord_type): Rename
618         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
619
620         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
621         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
622         `get_char_code_table'.
623
624         * mule-charset.c (mark_char_id_table): Renamed from
625         `mark_char_code_table'.
626         (char_id_table_equal): Renamed from `char_code_table_equal'.
627         (char_id_table_hash): Renamed from `char_code_table_hash'.
628         (make_char_id_table): Renamed from `make_char_code_table'.
629         (copy_char_id_table): Renamed from `copy_char_code_table'.
630         (get_char_id_table): Renamed from `get_char_code_table'.
631         (put_char_id_table): Renamed from `put_char_code_table'.
632         (to_char_id): Renamed from `to_char_code'.
633
634         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
635         `Lisp_Char_Code_Table'.
636         (char_id_table): Renamed from `char_code_table'.
637         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
638         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
639         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
640         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
641         (get_char_id_table): Renamed from `get_char_code_table'.
642
643 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
644
645         * lrecord.h (enum lrecord_type): Rename
646         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
647
648         * mule-charset.c (mark_byte_table): Renamed from
649         `mark_char_byte_table'.
650         (byte_table_equal): Renamed from `char_byte_table_equal'.
651         (byte_table_hash): Renamed from `byte_table_hash'.
652         (make_byte_table): Renamed from `make_byte_table'.
653         (copy_byte_table): Renamed from `copy_char_byte_table'.
654
655         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
656         `Lisp_Char_Byte_Table'.
657         (byte_table): Renamed from `char_byte_table'.
658         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
659         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
660         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
661         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
662
663 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
664
665         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
666         (dfc_convert_to_internal_format): Likewise.
667         
668         * text-coding.c (Fcoding_system_canonical_name_p): New function.
669         * text-coding.c (Fcoding_system_alias_p): New function.
670         * text-coding.c (Fcoding_system_aliasee): New function.
671         * text-coding.c (append_suffix_to_symbol): New function.
672         * text-coding.c (dangling_coding_system_alias_p): New function.
673         * text-coding.c (Ffind_coding_system):
674         * text-coding.c (Fcopy_coding_system):
675         * text-coding.c (encode_coding_no_conversion):
676         * text-coding.c (syms_of_file_coding):
677         * text-coding.c (vars_of_file_coding):
678         Rewrite coding system alias code.
679         Allow nested aliases, like symbolic links.
680         Allow redefinition of coding system aliases.
681         Prevent existence of dangling coding system aliases.
682         Eliminate convert_to_external_format.
683         Eliminate convert_to_internal_format.
684         
685         * text-coding.c: Change enum eol_type to eol_type_t.
686
687 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
688
689         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
690         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
691
692         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
693         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
694
695 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
696
697         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
698         `ideograph-daikanwa'.
699
700         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
701         (Vcharset_ucs_bmp): Likewise.
702         (Vcharset_mojikyo): Add new extern variable definition.
703         (Vcharset_latin_iso8859_2): Deleted because it is not used.
704         (Vcharset_latin_iso8859_3): Likewise.
705         (Vcharset_latin_iso8859_4): Likewise.
706         (Vcharset_latin_iso8859_9): Likewise.
707         (Vcharset_latin_viscii_lower): Likewise.
708         (Vcharset_latin_viscii_upper): Likewise.
709         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
710         `mojikyo' code-point is used to decode.
711         (encode_char_2): New function [to convert `mojikyo' code-point to
712         Mojikyo font encoding].
713         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
714         (breakup_char_1): Likewise.
715         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
716
717 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
718
719         * text-coding.c (Fmake_coding_system): Add document about
720         `disable-composition' property.
721
722 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
723
724         * text-coding.c (Qdisable_composition): New variable; delete
725         `Qcomposite'.
726         (Fmake_coding_system): Add new property `disable-composite';
727         delete property `composite'.
728         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
729         instead of `!CODING_SYSTEM_COMPOSITE'.
730         (syms_of_file_coding): Add new symbol `disable-composition';
731         delete symbol `composite'.
732
733         * file-coding.h (struct Lisp_Coding_System): Add
734         `disable_composition'; delete `enable_composition'.
735         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
736         `CODING_SYSTEM_COMPOSITE'.
737         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
738         `XCODING_SYSTEM_COMPOSITE'.
739
740 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
741
742         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
743         to 0.15.
744
745 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
746
747         * text-coding.c (Qcomposite): New variable.
748         (Fmake_coding_system): Add new property `composite'.
749         (struct decoding_stream): Add `combined_char_count',
750         `combined_chars' and `combining_table' in UTF-2000.
751         (COMPOSE_FLUSH_CHARS): New macro.
752         (COMPOSE_ADD_CHAR): New macro.
753         (reset_decoding_stream): Reset `str->combined_char_count' and
754         `str->combining_table' in UTF-2000.
755         (decode_coding_iso2022): Modify for character-decomposition.
756         (syms_of_file_coding): Add new symbol `composite'.
757
758 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
759
760         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
761         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
762         of `Vcharacter_composition_table' if `->decomposition' property
763         has only 1 element.
764         (Qlatin_tcvn5712): New variable.
765         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
766         (complex_vars_of_mule_charset): Add new coded-charset
767         `latin-tcvn5712'.
768
769         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
770
771 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
772
773         * file-coding.h (struct Lisp_Coding_System): Add
774         `enable_composition'.
775         (CODING_SYSTEM_COMPOSITE): New macro.
776         (XCODING_SYSTEM_COMPOSITE): New macro.
777
778 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
779
780         * mule-canna.c (c2mu): Fix problem with UTF-2000.
781
782 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
783
784         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
785         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
786
787 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
788
789         * mule-charset.c (Vcharset_mojikyo): New variable.
790         (Fdefine_char): Don't use coded-charset which does not have
791         non-builtin character range to allocate character-id.
792         (Qmojikyo): New variable.
793         (syms_of_mule_charset): Add new symbol `mojikyo'.
794         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
795
796         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
797         (LEADING_BYTE_MOJIKYO): New macro.
798         (MIN_CHAR_MOJIKYO): New macro.
799         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
800         (MAX_CHAR_MOJIKYO): New macro.
801
802 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
803
804         * mule-charset.c (remove_char_attribute): Fixed.
805
806 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
807
808         * mule-charset.c (remove_char_attribute): New function.
809         (Fremove_char_attribute): New function.
810         (encode_builtin_char_1): Comment out builtin-support for
811         greek-iso8859-7 and cyrillic-iso8859-5.
812         (Fdecode_char): Check `code' is an integer.
813         (syms_of_mule_charset): Add `remove-char-attribute'.
814         (MIN_CHAR_GREEK): Deleted.
815         (MAX_CHAR_GREEK): Likewise.
816         (MIN_CHAR_CYRILLIC): Likewise.
817         (MAX_CHAR_CYRILLIC): Likewise.
818         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
819         MAX_CHAR_GREEK for `greek-iso8859-7'.
820
821         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
822         (MAX_CHAR_GREEK): Likewise.
823         (MIN_CHAR_CYRILLIC): Likewise.
824         (MAX_CHAR_CYRILLIC): Likewise.
825
826 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
827
828         * mule-charset.c (Fdefine_char): Fix problem when new code-point
829         format is used without `ucs' property.
830         (Fdecode_char): Fix problem with GR representation.
831         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
832         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
833
834 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
835
836         * mule-charset.c (make_builtin_char): New function.
837         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
838         (Fset_charset_mapping_table): Modify for new representation of
839         code-point.
840         (Fdecode_char): New function.
841         (syms_of_mule_charset): Add new builtin function `decode-char' in
842         UTF-2000.
843
844         * char-ucs.h (make_builtin_char): New prototype.
845         (DECODE_CHAR): New inline function.
846         (MAKE_CHAR): Use `DECODE_CHAR'.
847
848 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
849
850         * text-coding.c (parse_charset_conversion_specs): Use
851         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
852         `XCHARSET_TYPE'.
853         (iso2022_designate): Likewise.
854
855         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
856         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
857
858         * mule-charset.c (Vcharset_ucs): New variable.
859         (print_charset): Change design; use `CHARSET_CHARS' and
860         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
861         (make_charset): Change signature to specify `chars' and
862         `dimension' instead of `type'.
863         (range_charset_code_point): Modify for 256^n-set.
864         (encode_builtin_char_1): Encode as `ucs' in default.
865         (Fmake_charset): Modify for `make_charset'.
866         (Fmake_reverse_direction_charset): Likewise.
867         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
868         UTF-2000.
869         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
870         for `make_charset'.
871
872         * char-ucs.h (Vcharset_ucs): New variable.
873         (LEADING_BYTE_UCS): New macro.
874         (struct Lisp_Charset): Delete `type'; change type of `dimension'
875         and `chars' to `unsigned short' from `unsigned int'.
876         (CHARSET_TYPE): Deleted.
877         (XCHARSET_TYPE): Deleted.
878
879 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
880
881         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
882
883         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
884         (ENCODE_CHAR): New macro.
885
886 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
887
888         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
889         to 0.14 (Kawachi-Katakami).
890
891 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
892
893         * text-coding.c (char_encode_shift_jis): Modify for
894         `charset_code_point'.
895         (char_encode_iso2022): Likewise.
896
897         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
898         (integer) instead of list of <Lisp_Object>s (integers) as the
899         format of code-point of a coded-charset.
900         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
901         (encode_builtin_char_1): New function; delete
902         `split_builtin_char'.
903         (charset_code_point): Return <int> instead of <Lisp_Object>.
904         (Fsplit_char): Don't use `SPLIT_CHAR'.
905
906         * char-ucs.h (encode_builtin_char_1): New prototype; delete
907         prototype for `split_builtin_char'.
908         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
909         (charset_code_point): Likewise.
910         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
911         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
912
913 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
914
915         * mule-charset.c (complex_vars_of_mule_charset): Don't define
916         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
917
918 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
919
920         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
921
922         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
923         (MAX_CHAR_OBS_94x94): Deleted.
924
925 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
926
927         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
928
929         * char-ucs.h (MAX_CHAR_BMP): New macro.
930
931 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
932
933         * text-coding.c: Sync with r21-2-24.
934
935 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
936
937         * file-coding.c: Modify for UTF-2000.
938
939 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
940
941         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
942         to 0.13 (Takaida).
943
944 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
945
946         * mule-charset.c (split_builtin_char): Delete builtin support for
947         `katakana-jisx0201'.
948         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
949         BMP area in builtin representation.
950
951         * char-ucs.h (MAKE_CHAR): Delete builtin support for
952         `Vcharset_katakana_jisx0201'.
953
954 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
955
956         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
957         (Qisolated): New variable.
958         (Qinitial): New variable.
959         (Qmedial): New variable.
960         (Qfinal): New variable.
961         (Qvertical): New variable.
962         (Qsmall): New variable.
963         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
964         `Qvertical' and `Qsmall'.
965         (Qmojikyo_pj_[1 .. 21]): New variable.
966         (syms_of_mule_charset): Add new symbols `isolated', `initial',
967         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
968         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
969         .. 21]'.
970
971 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
972
973         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
974         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
975         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
976
977 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
978
979         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
980         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
981         BMP.
982         (Qjapanese_jisx0208_1990): New variable.
983         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
984         (complex_vars_of_mule_charset): Add new coded-charset
985         `japanese-jisx0208-1990'.
986
987         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
988         (MIN_CHAR_JIS_X0208_1990): New macro.
989         (MAX_CHAR_JIS_X0208_1990): New macro.
990
991 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
992
993         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
994         coded-charset is not found.
995
996 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
997
998         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
999         (Fdefine_char): Use `Fmake_char'.
1000
1001 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1002
1003         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1004         (Vcharset_hiragana_jisx0208): Deleted.
1005         (Vcharset_katakana_jisx0208): Deleted.
1006         (Qideograph_daikanwa): New variable.
1007         (Qhiragana_jisx0208): Deleted.
1008         (Qkatakana_jisx0208): Deleted.
1009         (split_builtin_char): Split `ideograph-daikanwa'.
1010         (Fsplit_char): New implementation for UTF-2000.
1011         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1012         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1013         (complex_vars_of_mule_charset): Add new coded-charset
1014         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1015         `katakana-jisx0208'.
1016
1017         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1018         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1019         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1020         (MIN_CHAR_DAIKANWA): New macro.
1021         (MAX_CHAR_DAIKANWA): New macro.
1022
1023 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1024
1025         * data.c (Fstring_to_number): Don't recognize floating point if
1026         base is not 10.
1027
1028 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1029
1030         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1031
1032 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1033
1034         * mule-charset.c (Qsquare): New variable.
1035         (to_char_code): Add `Qsquare'.
1036         (syms_of_mule_charset): Add new symbol `square'.
1037
1038 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1039
1040         * mule-charset.c (Qcircle): New variable.
1041         (to_char_code): Add `Qcircle'.
1042         (syms_of_mule_charset): Add new symbol `circle'.
1043
1044 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1045
1046         * mule-charset.c (Qfont): New variable.
1047         (to_char_code): Add `Qfont'.
1048         (syms_of_mule_charset): Add new symbol `font'.
1049
1050 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1051
1052         * mule-charset.c (Qsub): New variable.
1053         (to_char_code): Add `Qsub'.
1054         (syms_of_mule_charset): Add new symbol `sub'.
1055
1056 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1057
1058         * mule-charset.c (Fput_char_attribute): Convert each element of
1059         VALUE to GL position if ATTRIBUTE is a GR-set,
1060
1061 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1062
1063         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1064         coded-charset is a GR-set.
1065
1066 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1067
1068         * mule-charset.c (Fput_char_attribute): Check each element of
1069         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1070
1071 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1072
1073         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1074         UTF-2000.
1075         (Qethiopic_ucs): New variable in UTF-2000.
1076         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1077         (complex_vars_of_mule_charset): Add new coded-charset
1078         `ethiopic-ucs' in UTF-2000.
1079
1080         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1081         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1082         9)'.
1083         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1084         10)'.
1085         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1086
1087 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1088
1089         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1090         `ascii'.
1091
1092 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1093
1094         * mule-charset.c (Vcharacter_variant_table): New variable.
1095         (Q_ucs): New variable.
1096         (Fchar_variants): New function.
1097         (Fput_char_attribute): Register `->ucs' value to
1098         `Vcharacter_variant_table'.
1099         (syms_of_mule_charset): Add new function `char-variants' and new
1100         symbol `->ucs'.
1101         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1102
1103 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1104
1105         * mule-charset.c (get_char_code_table): Allow negative character
1106         code.
1107         (put_char_code_table): Likewise.
1108         (Vcharacter_composition_table): New variable.
1109         (Q_decomposition): New variable.
1110         (Qwide): New variable.
1111         (Qnarrow): New variable.
1112         (Qcompat): New variable.
1113         (QnoBreak): New variable.
1114         (Qsuper): New variable.
1115         (Qfraction): New variable.
1116         (to_char_code): New function.
1117         (Fget_composite_char): New function.
1118         (Fput_char_attribute): Register `->decomposition' value to
1119         `Vcharacter_composition_table'.
1120         (syms_of_mule_charset): Add new function `get-composite-char', new
1121         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1122         `super' and `fraction'.
1123         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1124
1125 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1126
1127         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1128         character; copy the return value.
1129
1130 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1131
1132         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1133
1134         * mule-charset.c (range_charset_code_point): Must use make_int.
1135         (split_builtin_char): New function.
1136
1137 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1138
1139         * mule-charset.c (char_byte_table): Change name from
1140         "char-code-table" to "char-byte-table".
1141         (mark_char_code_table): New function.
1142         (char_code_table_equal): New function.
1143         (char_code_table_hash): New function.
1144         (char_code_table_description): New constant.
1145         (char_code_table): New type.
1146         (make_char_code_table): New function.
1147         (copy_char_code_table): New function.
1148         (get_char_code_table): Modify for `char_code_table' type.
1149         (put_char_code_table): Likewise.
1150         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1151         (Kashiwara).
1152
1153         * char-ucs.h (char_code_table): New type.
1154         (XCHAR_CODE_TABLE): New macro.
1155         (XSETCHAR_CODE_TABLE): New macro.
1156         (CHAR_CODE_TABLE_P): New macro.
1157         (GC_CHAR_CODE_TABLE_P): New macro.
1158         (struct Lisp_Char_Code_Table): New structure.
1159
1160 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1161
1162         * mule-charset.c (Fmake_charset): Setup byte_offset for
1163         {94|96}^n-set.
1164
1165 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1166
1167         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
1168         character.
1169
1170 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1171
1172         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
1173         is found.
1174
1175 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1176
1177         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
1178         charset, it is regarded as a charset.
1179         (put_char_attribute): New function in UTF-2000.
1180         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
1181         charset, mapping-table of the charset is modified.
1182         (Fdefine_char): New function in UTF-2000.
1183         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
1184         `Fput_char_attribute'.
1185         (syms_of_mule_charset): Add new function `define-char' and new
1186         symbol `ucs' in UTF-2000.
1187         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
1188
1189 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1190
1191         * mule-charset.c (Fcharset_name): Define `byte_offset' in
1192         non-UTF-2000 configuration.
1193
1194 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1195
1196         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
1197         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
1198
1199         * mule-charset.c (mark_charset): `cs->encoding_table' has been
1200         deleted.
1201         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
1202         (Fset_charset_mapping_table): Likewise.
1203
1204         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
1205         (CHARSET_ENCODING_TABLE): Delete.
1206         (XCHARSET_ENCODING_TABLE): Delete.
1207         (charset_code_point): New interface.
1208
1209 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1210
1211         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
1212         instead of `charset_get_byte1' and `charset_get_byte2'.
1213
1214         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
1215         (charset_get_byte2): Deleted.
1216
1217 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1218
1219         * char-ucs.h (SPLIT_CHAR): New inline function.
1220         (breakup_char_1): Use `SPLIT_CHAR'.
1221
1222         * mule-charset.c (range_charset_code_point): New function.
1223         (charset_code_point): New function.
1224
1225         * char-ucs.h (range_charset_code_point): New interface.
1226         (breakup_char_1): Use `range_charset_code_point'.
1227
1228 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1229
1230         * mule-charset.c (Fmake_charset): Delete unused local variable
1231         `code_offset'.
1232
1233         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
1234         (breakup_char_1): Find a charset and code-point in
1235         `Vcharacter_attribute_table'.
1236
1237 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1238
1239         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1240         to 0.10 (Yao).
1241
1242 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1243
1244         * mule-charset.c (Vcharacter_attribute_table): New variable.
1245         (Fchar_attribute_alist): New function.
1246         (Fget_char_attribute): New function.
1247         (Fput_char_attribute): New function.
1248         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
1249         too.
1250         (syms_of_mule_charset): Add new function `char-attribute-alist',
1251         `get-char-attribute' and `put-char-attribute'.
1252         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
1253
1254 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
1255
1256         * mule-charset.c (Fmake_charset): Just use
1257         `get_unallocated_leading_byte'.
1258
1259         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
1260         sets; don't use final-byte based number for private sets.
1261
1262 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1263
1264         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
1265         integer.
1266
1267 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1268
1269         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1270         to 0.9.
1271
1272 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1273
1274         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
1275         of `CHAR_LEADING_BYTE' in UTF-2000.
1276
1277         * insdel.c (find_charsets_in_bufbyte_string): Use
1278         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1279         (find_charsets_in_emchar_string): Likewise.
1280
1281         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
1282         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1283
1284         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
1285         (CHAR_CHARSET_ID): New macro.
1286
1287 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1288
1289         * chartab.c (get_char_table): Don't use type `Charset_ID' for
1290         charset-id - MIN_LEADING_BYTE.
1291         (put_char_table): Likewise.
1292
1293 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1294
1295         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
1296         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
1297         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
1298         (CHARSET_ID_OFFSET): New macro.
1299         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
1300         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
1301         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
1302         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
1303         4).
1304         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
1305         5).
1306         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
1307         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
1308         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
1309         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
1310         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
1311
1312 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1313
1314         * mule-charset.c (next_allocated_leading_byte): New variable in
1315         UTF-2000.
1316         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
1317         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
1318         (get_unallocated_leading_byte): Simply use
1319         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
1320         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
1321         UTF-2000.
1322
1323         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
1324         (MAX_LEADING_BYTE_PRIVATE): New macro.
1325         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
1326         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
1327
1328 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1329
1330         * mule-charset.c (Fmake_charset): Allocate final-byte based
1331         charset-id for 94-set, 96-set and 94x94-set.
1332
1333 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1334
1335         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
1336         ambiguous `else'.
1337         (Fmake_charset): Likewise.
1338         (complex_vars_of_mule_charset): Modify the font registry of
1339         `ucs-bmp' not to match `Ethiopic-Unicode'.
1340
1341 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1342
1343         * mule-charset.c (complex_vars_of_mule_charset): Add font
1344         registory of `ucs-bmp'.
1345
1346 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1347
1348         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
1349         coded-charsets in `default-coded-charset-priority-list' when
1350         breaking up a character.
1351
1352         * mule-charset.c (Vcharset_latin_viscii): New variable.
1353         (Qlatin_viscii): New variable.
1354         (make_charset): Don't use `decoding_table'.
1355         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
1356         byte_offset.
1357         (Fset_charset_mapping_table): New implementation.
1358         (syms_of_mule_charset): Add new symbol `latin-viscii'.
1359         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
1360         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
1361         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
1362         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
1363         charset `latin_viscii'.
1364
1365         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
1366         (CHARSET_TYPE_94X94): Change to 1 from 2.
1367         (CHARSET_TYPE_96): Change to 2 from 1.
1368         (CHARSET_TYPE_128): New macro.
1369         (CHARSET_TYPE_128X128): Change to 5 from 4.
1370         (CHARSET_TYPE_256): New macro.
1371         (CHARSET_TYPE_256X256): Change to 7 from 5.
1372         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
1373
1374 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1375
1376         * text-coding.c (char_encode_shift_jis): Refer
1377         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
1378         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
1379
1380         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
1381         (char_byte_table_equal): New function in UTF-2000.
1382         (char_byte_table_hash): New function in UTF-2000.
1383         (char_byte_table_description): New constant in UTF-2000.
1384         (char_byte_table): New type in UTF-2000.
1385         (make_char_byte_table): New function in UTF-2000.
1386         (copy_char_byte_table): New function in UTF-2000.
1387         (make_char_code_table): New macro in UTF-2000.
1388         (get_char_code_table): New function in UTF-2000.
1389         (put_char_code_table): New function in UTF-2000.
1390         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1391         (charset_description): Add setting in UTF-2000.
1392         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
1393         `CHARSET_TO_BYTE1_TABLE(cs)'.
1394         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
1395         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
1396         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
1397         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
1398         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
1399         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
1400         `CHARSET_TO_BYTE2_TABLE(cs)'.
1401
1402         * char-ucs.h (char_byte_table): New type.
1403         (XCHAR_BYTE_TABLE): New macro.
1404         (XSETCHAR_BYTE_TABLE): New macro.
1405         (CHAR_BYTE_TABLE_P): New macro.
1406         (GC_CHAR_BYTE_TABLE_P): New macro.
1407         (struct Lisp_Char_Byte_Table): New structure.
1408         (get_char_code_table): New interface.
1409         (Emchar_to_byte_table): Deleted.
1410         (get_byte_from_character_table): Deleted.
1411         (struct Lisp_Charset): Add `encoding_table'; delete
1412         `to_byte1_table' and `to_byte2_table'.
1413         (CHARSET_ENCODING_TABLE): New macro.
1414         (CHARSET_TO_BYTE1_TABLE): Deleted.
1415         (CHARSET_TO_BYTE2_TABLE): Deleted.
1416         (XCHARSET_ENCODING_TABLE): New macro.
1417         (XCHARSET_TO_BYTE1_TABLE): Deleted.
1418         (XCHARSET_TO_BYTE2_TABLE): Deleted.
1419
1420 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1421
1422         * mule-charset.c (syms_of_mule_charset): Delete charset alias
1423         `vietnamese-viscii-*'.
1424
1425 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1426
1427         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
1428         (Qvietnamese_viscii_upper): New variable.
1429         (Fdefine_charset_alias): New function.
1430         (syms_of_mule_charset): Add new function `define-charset-alias'.
1431         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
1432         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
1433         `latin-viscii-*'.
1434
1435 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
1436
1437         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
1438         (MAX_CHAR_OBS_94x94): New macro.
1439         (breakup_char_1): Support obsolete XEmacs-UCS private code space
1440         for 94x94 sets.
1441
1442         * mule-charset.c (put_byte_from_character_table): Change unit size
1443         from 128 to 256.
1444         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
1445         not defined.
1446         (Fmake_reverse_direction_charset): Modify dummy argument of
1447         `make_charset' for non-UTF-2000 environment.
1448
1449 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1450
1451         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
1452
1453         * mule-charset.c (destroy_byte_from_character_table): New macro.
1454         (latin_jisx0201_to_ucs): Deleted.
1455         (latin_iso8859_2_to_ucs): Deleted.
1456         (latin_iso8859_3_to_ucs): Deleted.
1457         (latin_iso8859_4_to_ucs): Deleted.
1458         (latin_iso8859_9_to_ucs): Deleted.
1459         (latin_viscii_lower_to_ucs): Deleted.
1460         (latin_viscii_upper_to_ucs): Deleted.
1461         (mark_charset): Mark `cs->decoding_table'.
1462         (Fcharset_mapping_table): Fix DOC-string.
1463         (Fset_charset_mapping_table): New function.
1464         (syms_of_mule_charset): Add nwe function
1465         `set-charset-mapping-table'.
1466         (complex_vars_of_mule_charset): Don't setup and use
1467         `latin_*_to_ucs'.
1468
1469 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1470
1471         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
1472         charset.
1473
1474 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1475
1476         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
1477         (Vcharset_katakana_jisx0208): New variable.
1478         (Qhiragana_jisx0208): New variable.
1479         (Qkatakana_jisx0208): New variable.
1480         (make_charset): Add new argument `byte_offset'.
1481         (charset_get_byte1): Modify for new coded-charset definition; use
1482         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
1483         `XCHARSET_BYTE_OFFSET'.
1484         (Fmake_charset): Modify for `make_charset'.
1485         (Fmake_reverse_direction_charset): Likewise.
1486         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
1487         `katakana-jisx0208'.
1488         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
1489         `.'  in font registry of charset `katakana-jisx0201',
1490         `latin-jisx0201', `vietnamese-viscii-lower' and
1491         `vietnamese-viscii-upper'; modify DOC-string of charset
1492         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
1493         registry of charset `japanese-jisx0208' not to use font for JIS
1494         X0208:1990; add new charset `hiragana-jisx0208' and
1495         `katakana-jisx0208'.
1496
1497         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
1498         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
1499         (struct Lisp_Charset): Add `byte_offset'.
1500         (CHARSET_BYTE_OFFSET): New macro.
1501         (XCHARSET_UCS_MIN): New macro.
1502         (XCHARSET_UCS_MAX): New macro.
1503         (XCHARSET_CODE_OFFSET): New macro.
1504         (XCHARSET_BYTE_OFFSET): New macro.
1505         (MIN_CHAR_HIRAGANA): New macro.
1506         (MAX_CHAR_HIRAGANA): New macro.
1507         (MIN_CHAR_KATAKANA): New macro.
1508         (MAX_CHAR_KATAKANA): New macro.
1509         (MAKE_CHAR): Modify for new coded-charset definition; use
1510         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
1511         `XCHARSET_BYTE_OFFSET'.
1512
1513 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1514
1515         * mule-charset.c (CHAR96): Deleted.
1516         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
1517         <Lisp_Object>.
1518         (latin_iso8859_2_to_ucs): Likewise.
1519         (latin_iso8859_3_to_ucs): Likewise.
1520         (latin_iso8859_4_to_ucs): Likewise.
1521         (latin_iso8859_9_to_ucs): Likewise.
1522         (latin_viscii_lower_to_ucs): Likewise.
1523         (latin_viscii_upper_to_ucs): Likewise.
1524         (latin_tcvn5712_to_ucs): Commented out.
1525         (make_charset): Change type of argument `decoding_table' from
1526         <Emchar*> to <Lisp_Object> [vector of characters].
1527         (Fmake_charset): Modify for `make_charset'.
1528         (Fmake_reverse_direction_charset): Likewise.
1529         (Fcharset_mapping_table): New function in UTF-2000.
1530         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
1531         UTF-2000.
1532         (complex_vars_of_mule_charset): Modify for type change of
1533         `*_to_ucs'; modify for `make_charset'.
1534
1535         * char-ucs.h (struct Lisp_Charset): Change type of
1536         `decoding_table' from <Emchar*> to <Lisp_Object>.
1537         (MAKE_CHAR): Modify for new specification of `decoding_table'.
1538
1539 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1540
1541         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
1542         error with non-UTF-2000-Mule.
1543
1544 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
1545
1546         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
1547         in lisp again].
1548         (Vcharset_chinese_cns11643_4): Likewise.
1549         (Vcharset_chinese_cns11643_5): Likewise.
1550         (Vcharset_chinese_cns11643_6): Likewise.
1551         (Vcharset_chinese_cns11643_7): Likewise.
1552         (Qchinese_cns11643_3): Likewise.
1553         (Qchinese_cns11643_4): Likewise.
1554         (Qchinese_cns11643_5): Likewise.
1555         (Qchinese_cns11643_6): Likewise.
1556         (Qchinese_cns11643_7): Likewise.
1557         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
1558         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
1559         and `chinese-cns11643-7' to lisp/mule/chinese.el.
1560         (complex_vars_of_mule_charset): Likewise.
1561
1562 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1563
1564         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
1565         96-set.
1566         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
1567         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
1568
1569 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1570
1571         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
1572         0xFF60.
1573         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
1574         (breakup_char_1): Likewise.
1575
1576         * text-coding.c (char_encode_iso2022): Keep designated charsets if
1577         one of them includes the specified character.
1578
1579 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1580
1581         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
1582
1583 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1584
1585         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
1586
1587 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1588
1589         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
1590         definition for non-UTF-2000 Mule.
1591         (latin_iso8859_3_to_ucs): Likewise.
1592         (latin_iso8859_4_to_ucs): Likewise.
1593         (latin_iso8859_9_to_ucs): Likewise.
1594         (latin_jisx0201_to_ucs): Likewise.
1595         (MIN_CHAR_THAI): Likewise.
1596         (MAX_CHAR_THAI): Likewise.
1597         (MIN_CHAR_GREEK): Likewise.
1598         (MAX_CHAR_GREEK): Likewise.
1599         (MIN_CHAR_HEBREW): Likewise.
1600         (MAX_CHAR_HEBREW): Likewise.
1601         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
1602         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
1603         (MIN_CHAR_CYRILLIC): Likewise.
1604         (MAX_CHAR_CYRILLIC): Likewise.
1605
1606 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1607
1608         * char-ucs.h (breakup_char_1): Use
1609         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
1610         thai-tis620 and katakana-jisx0201 area.
1611
1612 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1613
1614         * char-ucs.h (breakup_char_1): Use
1615         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
1616         area.
1617
1618         * text-coding.c (reset_encoding_stream): Fixed.
1619         (char_encode_ucs4): Delete `& 255'.
1620
1621         * char-ucs.h (breakup_char_1): Use
1622         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
1623
1624 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1625
1626         * file-coding.c (Fmake_coding_system): Don't set up
1627         `codesys->fixed.size'.
1628         (encode_coding_no_conversion): Don't refer
1629         `str->codesys->fixed.size'.
1630
1631 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1632
1633         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
1634         (latin_a_char_to_byte1): Deleted.
1635         (latin_a_char_to_byte2): Deleted.
1636
1637 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1638
1639         * mule-charset.c (make_charset): Add new argument `ucs_min',
1640         `ucs_max' and `code_offset'.
1641         (charset_get_byte1): New implementation [delete specific charset
1642         depended implementations].
1643         (Fmake_charset): Modify for `make_charset'.
1644         (Fmake_reverse_direction_charset): Likewise.
1645         (complex_vars_of_mule_charset): Likewise.
1646
1647         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
1648         `code_offset'.
1649         (CHARSET_UCS_MIN): New macro.
1650         (CHARSET_UCS_MAX): New macro.
1651         (CHARSET_CODE_OFFSET): New macro.
1652         (MAKE_CHAR): Delete charset depended definitions [except
1653         katakana-jisx0201].
1654
1655 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1656
1657         * char-ucs.h (breakup_char_1): Use
1658         `Vdefault_coded_charset_priority_list' for C0-Controls,
1659         Basic-Latin, C1-Controls and Latin-1-Supplement area.
1660
1661 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1662
1663         * char-ucs.h (charset_get_byte1): New function.
1664         (XCHARSET_GET_BYTE1): Deleted.
1665         (charset_get_byte2): New function.
1666         (XCHARSET_GET_BYTE2): Deleted.
1667         (Vdefault_coded_charset_priority_list): New external variable.
1668         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
1669         `Vdefault_preferred_coded_charset_list'.
1670
1671         * mule-charset.c (charset_get_byte1): New function.
1672         (charset_get_byte2): New function.
1673         (Vdefault_coded_charset_priority_list): New variable.
1674         (vars_of_mule_charset): Add new variable
1675         `default-coded-charset-priority-list'.
1676
1677 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1678
1679         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
1680         (XCHARSET_GET_BYTE2): New inline function.
1681         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
1682         `XCHARSET_GET_BYTE2'.
1683
1684 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1685
1686         * mule-charset.c (make_charset): Initialize
1687         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
1688         NULL if table is not defined.
1689
1690 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1691
1692         * text-coding.c (char_encode_shift_jis): Use
1693         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
1694         `ucs_to_latin_jisx0201'.
1695
1696         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
1697         (ucs_to_latin_iso8859_2): Deleted.
1698         (ucs_to_latin_iso8859_3): Deleted.
1699         (ucs_to_latin_iso8859_4): Deleted.
1700         (ucs_to_latin_iso8859_9): Deleted.
1701         (ucs_to_latin_viscii_lower): Deleted.
1702         (ucs_to_latin_viscii_upper): Deleted.
1703         (ucs_to_latin_tcvn5712): Deleted.
1704         (make_charset): Add new argument `decoding_table'; set up
1705         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
1706         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
1707         `decoding_table' is defined in UTF-2000.
1708         (Fmake_charset): Modify for `make_charset'.
1709         (Fmake_reverse_direction_charset): Likewise.
1710         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
1711         and `GENERATE_96_SET'.
1712
1713         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
1714         (ucs_to_latin_jisx0201): Deleted.
1715         (latin_iso8859_2_to_ucs): Deleted.
1716         (ucs_to_latin_iso8859_2): Deleted.
1717         (latin_iso8859_3_to_ucs): Deleted.
1718         (ucs_to_latin_iso8859_3): Deleted.
1719         (latin_iso8859_4_to_ucs): Deleted.
1720         (ucs_to_latin_iso8859_4): Deleted.
1721         (latin_iso8859_9_to_ucs): Deleted.
1722         (ucs_to_latin_iso8859_9): Deleted.
1723         (latin_viscii_lower_to_ucs): Deleted.
1724         (ucs_to_latin_viscii_lower): Deleted.
1725         (latin_viscii_upper_to_ucs): Deleted.
1726         (ucs_to_latin_viscii_upper): Deleted.
1727         (struct Lisp_Charset): Renamed `encoding_table' to
1728         `to_byte1_table'; add `to_byte2_table'.
1729         (CHARSET_DECODING_TABLE): New macro.
1730         (CHARSET_TO_BYTE1_TABLE): New macro.
1731         (CHARSET_TO_BYTE2_TABLE): New macro.
1732         (XCHARSET_DECODING_TABLE): New macro.
1733         (XCHARSET_TO_BYTE1_TABLE): New macro.
1734         (XCHARSET_TO_BYTE2_TABLE): New macro.
1735         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
1736         tables.
1737         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
1738         don't use `ucs_to_*' tables.
1739
1740 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1741
1742         * text-coding.c (Fmake_coding_system): Don't set up
1743         `codesys->fixed.size'.
1744         (encode_coding_no_conversion): Use `if' instead of `switch'.
1745
1746         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
1747
1748 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1749
1750         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
1751         (Fmake_charset): Modify for `make_charset'.
1752         (Fmake_reverse_direction_charset): Likewise.
1753         (complex_vars_of_mule_charset): Likewise.
1754
1755 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1756
1757         * text-coding.c (char_encode_shift_jis): Use table
1758         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
1759
1760 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1761
1762         * text-coding.c (text_encode_generic): Use `if' instead of
1763         `switch'.
1764         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
1765         decode JIS-Latin.
1766
1767 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1768
1769         * text-coding.c (encode_coding_sjis): Deleted.
1770         (char_encode_shift_jis): New function.
1771         (char_finish_shift_jis): New function.
1772         (reset_encoding_stream): Set up `encode_char' and `finish' for
1773         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
1774         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
1775         (char_encode_utf8): Treat `eol_type'.
1776
1777 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1778
1779         * file-coding.c (decode_coding_iso2022): Use
1780         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
1781
1782 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1783
1784         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1785         to 0.7 (Hirano).
1786
1787 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1788
1789         * char-lb.h (CHAR_COLUMNS): New macro.
1790
1791 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1792
1793         * text-coding.c (char_encode_ucs4): New function.
1794         (char_finish_ucs4): New function.
1795         (encode_coding_ucs4): Deleted.
1796         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
1797         (text_encode_generic): Delete local variable `charset' and `half'.
1798         (ucs_to_mule_table): Deleted.
1799         (mule_to_ucs_table): Deleted.
1800         (Fset_ucs_char): Deleted.
1801         (ucs_to_char): Deleted.
1802         (Fucs_char): Deleted.
1803         (Fset_char_ucs): Deleted.
1804         (Fchar_ucs): Deleted.
1805         (decode_ucs4): Deleted.
1806         (mule_char_to_ucs4): Deleted.
1807         (encode_ucs4): Deleted.
1808         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
1809         (decode_coding_utf8): Likewise.
1810         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
1811         (char_encode_iso2022): Fixed.
1812         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
1813         `Fset_char_ucs' and `Fchar_ucs'.
1814         (complex_vars_of_file_coding): Don't initialize
1815         `ucs_to_mule_table'.
1816
1817         * objects-tty.c (tty_initialize_font_instance): Don't use
1818         `XCHARSET_COLUMNS'.
1819
1820         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
1821         UTF-2000.
1822
1823         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
1824         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1825
1826         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
1827         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1828         (emchar_string_displayed_columns): Likewise.
1829
1830         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
1831         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1832         (string_column_at_point): Likewise.
1833         (Fmove_to_column): Likewise.
1834
1835         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
1836         `encoding_table' and `decoding_table'.
1837         (CHARSET_REP_BYTES): Deleted.
1838         (XCHARSET_REP_BYTES): Deleted.
1839         (XCHARSET_COLUMNS): Deleted.
1840         (CHAR_COLUMNS): New macro.
1841         (lookup_composite_char): Deleted unconditionally.
1842         (composite_char_string): Likewise.
1843
1844 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1845
1846         * char-ucs.h (Emchar_to_byte_table): New type.
1847         (get_byte_from_character_table): New function interface.
1848         (Vcharset_latin_jisx0201): New variable.
1849         (latin_jisx0201_to_ucs): New variable.
1850         (ucs_to_latin_jisx0201): New variable.
1851         (Vcharset_latin_iso8859_2): New variable.
1852         (latin_iso8859_2_to_ucs): New variable.
1853         (ucs_to_latin_iso8859_2): New variable.
1854         (Vcharset_latin_iso8859_3): New variable.
1855         (latin_iso8859_3_to_ucs): New variable.
1856         (ucs_to_latin_iso8859_3): New variable.
1857         (Vcharset_latin_iso8859_4): New variable.
1858         (latin_iso8859_4_to_ucs): New variable.
1859         (ucs_to_latin_iso8859_4): New variable.
1860         (Vcharset_latin_iso8859_9): New variable.
1861         (latin_iso8859_9_to_ucs): New variable.
1862         (ucs_to_latin_iso8859_9): New variable.
1863         (Vcharset_latin_viscii_lower): New variable.
1864         (latin_viscii_lower_to_ucs): New variable.
1865         (ucs_to_latin_viscii_lower): New variable.
1866         (Vcharset_latin_viscii_upper): New variable.
1867         (latin_viscii_upper_to_ucs): New variable.
1868         (ucs_to_latin_viscii_upper): New variable.
1869         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
1870         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
1871         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
1872         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
1873         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
1874         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
1875         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
1876         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
1877         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
1878         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
1879
1880         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
1881         (Vcharset_latin_viscii_upper): New variable.
1882         (make_byte_from_character_table): New function.
1883         (put_byte_from_character_table): New function.
1884         (get_byte_from_character_table): New function.
1885         (CHAR96): New macro.
1886         (ucs_to_latin_jisx0201): New variable.
1887         (latin_jisx0201_to_ucs): New variable.
1888         (ucs_to_latin_iso8859_2): New variable.
1889         (latin_iso8859_2_to_ucs): New variable.
1890         (ucs_to_latin_iso8859_3): New variable.
1891         (latin_iso8859_3_to_ucs): New variable.
1892         (ucs_to_latin_iso8859_4): New variable.
1893         (latin_iso8859_4_to_ucs): New variable.
1894         (ucs_to_latin_iso8859_9): New variable.
1895         (latin_iso8859_9_to_ucs): New variable.
1896         (ucs_to_latin_viscii_lower): New variable.
1897         (latin_viscii_lower_to_ucs): New variable.
1898         (ucs_to_latin_viscii_upper): New variable.
1899         (latin_viscii_upper_to_ucs): New variable.
1900         (ucs_to_latin_tcvn5712): New variable.
1901         (latin_tcvn5712_to_ucs): New variable.
1902         (Qlatin_viscii_lower): New variable.
1903         (Qlatin_viscii_upper): New variable.
1904         (syms_of_mule_charset): Set up new symbol
1905         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
1906         (complex_vars_of_mule_charset): Set up new charset
1907         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
1908         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
1909         `ucs_to_<CHARSET>' tables.
1910
1911 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1912
1913         * text-coding.c: New file.
1914
1915 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1916
1917         * mule-charset.c (Fmake_char): Fix problem of 256-set.
1918
1919         * char-ucs.h (Vcharset_ucs_bmp): New variable.
1920         (MAKE_CHAR): Modify for `ucs-bmp'.
1921         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
1922         non-MULE characters of BMP.
1923
1924 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
1925
1926         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1927         to 0.6.
1928
1929 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1930
1931         * lstream.h:
1932         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
1933         - Include character.h for `CHAR_ASCII_P'.
1934
1935         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
1936
1937         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
1938         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
1939
1940         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
1941         (BYTE_C0_P): Likewise.
1942         (BYTE_C1_P): Likewise.
1943         (Lstream_get_emchar_1): Likewise.
1944         (Lstream_fput_emchar): Likewise.
1945         (Lstream_funget_emchar): Likewise.
1946         (copy_internal_to_external): Likewise.
1947         (copy_external_to_internal): Likewise.
1948
1949         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
1950         (BYTE_C0_P): Likewise.
1951         (BYTE_C1_P): Likewise.
1952         (Lstream_get_emchar_1): Likewise.
1953         (Lstream_fput_emchar): Likewise.
1954         (Lstream_funget_emchar): Likewise.
1955         (copy_internal_to_external): Likewise.
1956         (copy_external_to_internal): Likewise.
1957
1958         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
1959         (REP_BYTES_BY_FIRST_BYTE): Likewise.
1960
1961         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
1962         (BYTE_ASCII_P): Moved to mb-1byte.h.
1963
1964 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1965
1966         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
1967
1968         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
1969         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
1970         (VALID_CHARPTR_P): Moved to mb-*byte.h.
1971         (VALIDATE_CHARPTR_BACKWARD): Likewise.
1972         (VALIDATE_CHARPTR_FORWARD): Likewise.
1973         (simple_charptr_emchar): Moved to mb-multibyte.h.
1974         (simple_set_charptr_emchar): Likewise.
1975         (simple_charptr_copy_char): Likewise.
1976         (non_ascii_charptr_emchar): Likewise.
1977         (non_ascii_set_charptr_emchar): Likewise.
1978         (non_ascii_charptr_copy_char): Likewise.
1979         (charptr_emchar): Moved to mb-*byte.h.
1980         (set_charptr_emchar): Likewise.
1981         (charptr_copy_char): Likewise.
1982
1983         * mb-1byte.h, mb-multibyte.h: New files.
1984
1985 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1986
1987         * mb-utf-8.h (MULTIBYTE): New macro.
1988         (MAX_EMCHAR_LEN): Moved from buffer.h.
1989         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
1990
1991         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
1992
1993         * mb-lb.h, multibyte.h: New files.
1994
1995         * char-1byte.h (Charset_ID): Moved from buffer.h.
1996         (MIN_LEADING_BYTE): Likewise.
1997         (LEADING_BYTE_ASCII): Likewise.
1998         (NUM_LEADING_BYTES): Likewise.
1999         (CHARSETP): Likewise.
2000         (CHARSET_BY_LEADING_BYTE): Likewise.
2001         (XCHARSET_LEADING_BYTE): Likewise.
2002         (XCHARSET_GRAPHIC): Likewise.
2003         (XCHARSET_COLUMNS): Likewise.
2004         (XCHARSET_DIMENSION): Likewise.
2005         (CHAR_CHARSET): Likewise.
2006         (CHAR_LEADING_BYTE): Likewise.
2007         (BREAKUP_CHAR): Likewise.
2008         (Vcharset_ascii): Likewise.
2009
2010         * buffer.h: Include multibyte.h unconditionally.
2011         (VALID_CHARPTR_P): Moved to multibyte.h.
2012         (ASSERT_VALID_CHARPTR): Likewise.
2013         (REAL_INC_CHARPTR): Likewise.
2014         (REAL_INC_CHARBYTIND): Likewise.
2015         (REAL_DEC_CHARPTR): Likewise.
2016         (INC_CHARPTR): Likewise.
2017         (INC_CHARBYTIND): Likewise.
2018         (DEC_CHARPTR): Likewise.
2019         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2020         (VALIDATE_CHARPTR_FORWARD): Likewise.
2021         (charptr_n_addr): Likewise.
2022         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2023         (simple_charptr_emchar): Moved to multibyte.h.
2024         (simple_set_charptr_emchar): Likewise.
2025         (simple_charptr_copy_char): Likewise.
2026         (non_ascii_charptr_emchar): Likewise.
2027         (non_ascii_set_charptr_emchar): Likewise.
2028         (non_ascii_charptr_copy_char): Likewise.
2029         (charptr_emchar): Likewise.
2030         (set_charptr_emchar): Likewise.
2031         (charptr_copy_char): Likewise.
2032         (charptr_emchar_n): Likewise.
2033         (Charset_ID): Moved to char-1byte.h.
2034         (Vcharset_ascii): Likewise.
2035         (CHAR_CHARSET): Likewise.
2036         (CHAR_LEADING_BYTE): Likewise.
2037         (LEADING_BYTE_ASCII): Likewise.
2038         (NUM_LEADING_BYTES): Likewise.
2039         (MIN_LEADING_BYTE): Likewise.
2040         (CHARSETP): Likewise.
2041         (CHARSET_BY_LEADING_BYTE): Likewise.
2042         (XCHARSET_LEADING_BYTE): Likewise.
2043         (XCHARSET_GRAPHIC): Likewise.
2044         (XCHARSET_COLUMNS): Likewise.
2045         (XCHARSET_DIMENSION): Likewise.
2046         (BREAKUP_CHAR): Likewise.
2047
2048 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2049
2050         * character.h: Add document about interface for characters.
2051
2052         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2053         (MAKE_CHAR): Delete comment about
2054         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2055         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2056         (BREAKUP_CHAR): Modify name of arguments.
2057         (CHAR_CHARSET): Modify name of argument.
2058
2059         * buffer.h: Delete document about Emchar accessors.
2060
2061 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2062
2063         * character.h (CHAR_INTP): Moved from buffer.h
2064         (CHAR_OR_CHAR_INTP): Likewise.
2065         (XCHAR_OR_CHAR_INT): Likewise.
2066         (CHECK_CHAR_COERCE_INT): Likewise.
2067
2068         * buffer.h (CHAR_INTP): Moved to character.h
2069         (CHAR_OR_CHAR_INTP): Likewise.
2070         (XCHAR_OR_CHAR_INT): Likewise.
2071         (CHECK_CHAR_COERCE_INT): Likewise.
2072
2073 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2074
2075         * character.h:
2076         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2077         - Include char-1byte.h, char-lb.h or char-ucs.h.
2078
2079         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2080
2081         * buffer.h: Include character unconditionally.
2082         (valid_char_p): Moved to char-*.h.
2083         (non_ascii_valid_char_p): Moved to char-lb.h.
2084
2085         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2086
2087 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2088
2089         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2090         in UTF-2000 because it is not ported yet and not to use
2091         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2092         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2093         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2094
2095         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2096         (CHAR_ASCII_P): Moved from character.h.
2097
2098         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2099         (CHAR_ASCII_P): Likewise.
2100         (CHAR_FIELD1_MASK): Deleted.
2101         (CHAR_FIELD2_MASK): Deleted.
2102         (CHAR_FIELD3_MASK): Deleted.
2103         (MAX_CHAR_BASIC_LATIN): New macro.
2104         (CHAR_FIELD1): Deleted.
2105         (CHAR_FIELD2_INTERNAL): Deleted.
2106         (CHAR_FIELD3_INTERNAL): Deleted.
2107         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2108         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2109         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2110         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2111         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2112         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2113         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2114         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2115         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2116         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2117         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2118         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2119         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2120         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2121         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2122         (MIN_CHAR_COMPOSITION): Deleted.
2123         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2124         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2125
2126 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2127
2128         * buffer.h: Include mb-utf-8.h in UTF-2000.
2129
2130         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2131
2132         * mb-utf-8.h: New file.
2133
2134 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2135
2136         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2137         instead of `int'.
2138
2139         * mule-charset.h, buffer.h (Charset_ID): New type.
2140
2141 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2142
2143         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2144         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2145         instead of `MULE_CHAR_PRIVATE_OFFSET',
2146         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2147         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2148         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2149
2150         * character.h (Vcharset_japanese_jisx0212): New variable
2151         definition.
2152
2153 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2154
2155         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
2156         (charset_by_attributes): Delete array about direction.
2157         (latin_a_char_to_charset): New variable in UTF-2000.
2158         (latin_a_char_to_byte1): New variable in UTF-2000.
2159         (latin_a_char_to_byte2): New variable in UTF-2000.
2160         (Qucs_bmp): New variable.
2161         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
2162         `Bufbyte'.
2163         (next_allocated_2_byte_leading_byte): Likewise.
2164         (non_ascii_set_charptr_emchar): Likewise.
2165         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
2166         `CHARSET_TYPE_256X256' in UTF-2000; modify for
2167         `charset_by_attributes'.
2168         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
2169         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
2170         and `CHARSET_BY_LEADING_BYTE'.
2171         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
2172         `utf-2000-version' to `vars_of_mule_charset'.
2173         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
2174         define `leading-code-private-11' in UTF-2000; move setting of
2175         `utf-2000-version' from `syms_of_mule_charset'.
2176         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
2177         UTF-2000.
2178
2179         * character.h (Charset_ID): New type.
2180         (LEADING_BYTE_UCS_BMP): New macro.
2181         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
2182         (CHARSET_ID_OFFSET_94): New macro.
2183         (MIN_CHARSET_ID_PRIVATE_94): New macro.
2184         (MAX_CHARSET_ID_PRIVATE_94): New macro.
2185         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
2186         final-byte.
2187         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
2188         (LEADING_BYTE_LATIN_JISX0201): Likewise.
2189         (CHARSET_ID_OFFSET_96): New macro.
2190         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
2191         CHARSET_ID_OFFSET_96 and final-byte.
2192         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
2193         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
2194         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
2195         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
2196         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
2197         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
2198         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
2199         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
2200         (LEADING_BYTE_THAI_TIS620): Likewise.
2201         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
2202         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
2203         (CHARSET_ID_OFFSET_94x94): New macro.
2204         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
2205         CHARSET_ID_OFFSET_94x94 and final-byte.
2206         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
2207         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
2208         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
2209         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
2210         (LEADING_BYTE_CHINESE_GB2312): Likewise.
2211         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
2212         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
2213         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
2214         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
2215         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
2216         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
2217         (CHARSET_TYPE_128X128): New macro.
2218         (CHARSET_TYPE_256X256): New macro.
2219         (XCHARSET_PRIVATE_P): Delete unconditionally.
2220         (charset_by_attributes): Delete array about direction.
2221         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
2222         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
2223         (MIN_CHAR_94): New macro.
2224         (MAX_CHAR_94): New macro.
2225         (MIN_CHAR_96): New macro.
2226         (MAX_CHAR_96): New macro.
2227         (MIN_CHAR_94x94): New macro.
2228         (MAX_CHAR_94x94): New macro.
2229         (MIN_CHAR_96x96): New macro.
2230         (MAX_CHAR_96x96): New macro.
2231         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
2232         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2233         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
2234         - 32)'.
2235         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
2236         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
2237         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
2238         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
2239         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
2240         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
2241         `XCHARSET_LEADING_BYTE' to make code-point.
2242         (latin_a_char_to_charset): New variable.
2243         (latin_a_char_to_byte1): New variable.
2244         (latin_a_char_to_byte2): New variable.
2245         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
2246         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
2247         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
2248
2249         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
2250         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
2251         (find_charsets_in_emchar_string): Likewise.
2252         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
2253
2254         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
2255         `int'.
2256         (decode_coding_iso2022): Likewise.
2257
2258         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
2259         of `unsigned char'.
2260
2261         * redisplay.c (redisplay_text_width_emchar_string): Use
2262         `Charset_ID' instead of `unsigned char'.
2263         (redisplay_frame_text_width_string): Likewise.
2264
2265         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
2266         `unsigned char'.
2267
2268         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
2269         instead of `unsigned char'.
2270         (face_cachel_charset_font_metric_info): Likewise.
2271
2272         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
2273         (get_non_ascii_char_table_value): Likewise.
2274         (get_char_table): Likewise.
2275         (put_char_table): Likewise.
2276         (map_over_other_charset): Likewise.
2277         (map_char_table): Likewise.
2278
2279         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
2280         instead of `unsigned char'.
2281
2282 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
2283
2284         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
2285         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
2286
2287         * mule-charset.c (leading_code_private_11): Don't define in
2288         UTF-2000.
2289
2290         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
2291         in UTF-2000 because it is not ported yet and not to use
2292         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
2293
2294 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
2295
2296         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
2297
2298 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2299
2300         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
2301         in UTF-2000.
2302
2303         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
2304         of unsigned char to store leading-byte.
2305
2306         * chartab.c (get_non_ascii_char_table_value): Don't use
2307         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
2308
2309         * file-coding.c (encode_coding_big5): Delete bogus implementation
2310         in UTF2000.
2311
2312         * character.h (LEADING_BYTE_*): Delete definition for
2313         non-UTF-2000.
2314         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
2315         (LEADING_BYTE_PREFIX_P): Deleted.
2316         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
2317         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
2318         (BUFBYTE_LEADING_BYTE_P): Deleted.
2319         (CHARSET_PRIVATE_P): Deleted unconditionally.
2320         (rep_bytes_by_first_byte): Deleted unconditionally.
2321         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
2322         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
2323         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2324         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
2325         (CHAR_FIELD2): Deleted.
2326         (CHAR_FIELD3): Deleted.
2327         (MAKE_CHAR): Delete definition for non-UTF-2000.
2328         (BREAKUP_CHAR_1_UNSAFE): Deleted.
2329         (breakup_char_1): New implementation.
2330         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
2331         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
2332
2333 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2334
2335         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
2336         condition.
2337
2338 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2339
2340         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
2341         (CHARSET_PRIVATE_P): Likewise.
2342         (XCHARSET_PRIVATE_P): Likewise.
2343         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
2344
2345         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
2346         UTF2000.
2347         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
2348
2349 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2350
2351         * character.h (LEADING_BYTE_*): Changed in UTF2000.
2352         (NUM_LEADING_BYTES): Changed from 128 to 256.
2353         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
2354         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
2355         UTF2000.
2356         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
2357
2358         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
2359         UTF2000.
2360         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
2361         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
2362         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
2363         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
2364         (Qchinese_cns11643_3): New variable in UTF2000.
2365         (Qchinese_cns11643_4): New variable in UTF2000.
2366         (Qchinese_cns11643_5): New variable in UTF2000.
2367         (Qchinese_cns11643_6): New variable in UTF2000.
2368         (Qchinese_cns11643_7): New variable in UTF2000.
2369         (syms_of_mule_charset): Define `chinese-cns11643-3',
2370         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2371         and `chinese-cns11643-7' in UTF2000.
2372         (vars_of_mule_charset): Initialize
2373         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
2374         + 1 in UTF2000.
2375         (complex_vars_of_mule_charset): Setup charset
2376         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
2377         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
2378
2379 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2380
2381         * mule-charset.c: Move setting for `leading-code-private-11' from
2382         `syms_of_mule_charset' to `vars_of_mule_charset'.
2383
2384 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2385
2386         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
2387         and `NUM_LEADING_BYTES' in assert.
2388
2389 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2390
2391         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
2392         instead of 128.
2393         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
2394         `NUM_LEADING_BYTES' instead of 128.
2395
2396 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2397
2398         * mule-charset.h (charset_by_leading_byte): Use
2399         `NUM_LEADING_BYTES' instead of 128.
2400         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
2401
2402         * mule-charset.c (charset_by_leading_byte): Use
2403         `NUM_LEADING_BYTES' instead of 128.
2404         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
2405
2406         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
2407         128.
2408
2409 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2410
2411         * mule-charset.c (syms_of_mule_charset): Update to
2412         0.4 (Shin-Imamiya).
2413
2414 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
2415
2416         * file-coding.c (encode_coding_sjis): New implementation for
2417         UTF2000.  (decode_coding_sjis): Ditto.
2418
2419 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2420
2421         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
2422         Don't define in UTF2000.
2423
2424         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
2425         defined.
2426
2427         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
2428         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
2429         MULE.
2430
2431 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2432
2433         * config.h.in (CHAR_IS_UCS4): New macro.
2434
2435         * mule-charset.c (rep_bytes_by_first_byte): Modify for
2436         conventional MULE representation.
2437         (syms_of_mule_charset): Update to 0.3 (Imamiya).
2438
2439         * mule-charset.h: Reverted to original.
2440
2441         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
2442         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
2443         "mule-charset.h" if CHAR_IS_UCS4 is defined.
2444
2445         * character.h: New file.
2446
2447         * file-coding.c (Fmake_coding_system): Set 1 to
2448         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
2449         defined.
2450         (encode_coding_no_conversion): New implementation for UTF2000.
2451
2452         * file-coding.h (struct Lisp_Coding_System): Add new member
2453         `fixed.size'.
2454
2455 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
2456
2457         * file-coding.c (decode_coding_iso2022): Code-point arguments of
2458         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
2459         (encode_coding_iso2022): New implementation for UTF2000.
2460
2461 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2462
2463         * mule-canna.c (c2mu): New implementation for UTF2000.
2464         (m2c): Likewise.
2465
2466 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2467
2468         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
2469
2470 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2471
2472         * file-coding.c (reset_encoding_stream): Set 0 to
2473         `str->iso2022.current_char_boundary' in UTF2000.
2474         (encode_utf8): Don't define in UTF2000.
2475         (encode_coding_utf8): New implementation for UTF-8 representation
2476         of UTF2000.
2477         (complex_vars_of_file_coding): Define coding-system `utf-8'.
2478
2479 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2480
2481         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
2482
2483         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
2484         UTF2000.
2485         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2486
2487         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
2488
2489         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
2490         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
2491         as UTF-8 in UTF2000.
2492         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
2493         (non_ascii_valid_char_p): Don't define in UTF2000.
2494         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
2495         (Lstream_get_emchar_1): Likewise.
2496         (utf-2000-version): New variable in UTF2000.
2497
2498         * lread.c (read_escape): Add new reader `u'.
2499
2500         * insdel.c (three_to_one_table): Don't define in UTF2000.
2501         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
2502         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
2503         UTF2000.
2504         (bytind_to_bufpos_func): Likewise.
2505         (buffer_mule_signal_inserted_region): Likewise.
2506         (vars_of_insdel): Don't initialize `three_to_one_table'.
2507         (init_buffer_text): Use `buf->text->mule_size' instead of
2508         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
2509         UTF2000.
2510
2511         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
2512         UTF-8 representation in UTF2000.
2513         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
2514         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
2515         (decode_coding_iso2022): Don't define local variable `lb' in
2516         UTF2000; don't use LEADING_BYTE in UTF2000; use
2517         `DECODE_ADD_UCS_CHAR' in UTF2000.
2518         (convert_to_external_format): Decode as UTF-8 in UTF2000.
2519
2520         * config.h.in (UTF2000): New macro.
2521
2522         * buffer.h (struct buffer_text): Add new member `mule_size' and
2523         don't add `mule_shifter' and `mule_three_p' in UTF2000.
2524         (valid_char_p): Return always 1 in UTF2000.
2525         (MAX_EMCHAR_LEN): 6 in UTF2000.
2526         (three_to_one_table): Don't define in UTF2000.
2527         (real_bufpos_to_bytind): Modify for UTF-8 representation in
2528         UTF2000.
2529         (real_bytind_to_bufpos): Likewise.
2530
2531         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
2532
2533 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2534
2535         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
2536         representation change.
2537         (Vutf_2000_version): New variable.
2538         (leading_code_private_11): New variable.
2539         (syms_of_mule_charset): Add new variables `utf-2000-version' and
2540         `leading-code-private-11'.
2541
2542         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
2543         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
2544         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
2545         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
2546         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
2547         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
2548         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
2549         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
2550         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
2551         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
2552         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
2553         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
2554         (MIN_CHAR_GREEK): New macro.
2555         (MAX_CHAR_GREEK): New macro.
2556         (MIN_CHAR_CYRILLIC): New macro.
2557         (MAX_CHAR_CYRILLIC): New macro.
2558         (MIN_CHAR_HEBREW): New macro.
2559         (MAX_CHAR_HEBREW): New macro.
2560         (MIN_CHAR_THAI): New macro.
2561         (MAX_CHAR_THAI): New macro.
2562         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
2563         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
2564         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
2565         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
2566         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
2567         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
2568         (CHAR_FIELD2): New inline function.
2569         (CHAR_FIELD3): New inline function.
2570         (MULE_CHAR_PRIVATE_OFFSET): New macro.
2571         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
2572         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
2573         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
2574         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
2575         (MIN_CHAR_COMPOSITION): Likewise.
2576         (CHAR_LEADING_BYTE): Modified for character representation change.
2577         (MAKE_CHAR): Likewise.
2578
2579         * lisp.h (Vcharset_latin_iso8859_1): New variable.
2580         (Vcharset_greek_iso8859_7): Likewise.
2581         (Vcharset_cyrillic_iso8859_5): Likewise.
2582         (Vcharset_hebrew_iso8859_8): Likewise.
2583         (Vcharset_thai_tis620): Likewise.
2584         (Vcharset_katakana_jisx0201): Likewise.
2585
2586 2000-10-04  Martin Buchholz <martin@xemacs.org>
2587
2588         * XEmacs 21.2.36 is released.
2589
2590 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
2591
2592         * lread.c (locate_file): Check the path element is non-nil.
2593
2594 2000-10-02  Martin Buchholz  <martin@xemacs.org>
2595
2596         * lisp.h: Warning suppression for SCO compilers.
2597
2598         * redisplay-tty.c (reset_tty_modes): Fix crash.
2599         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
2600
2601 2000-09-27  Martin Buchholz  <martin@xemacs.org>
2602
2603         Big signal/process handling overhaul.  Bugs fixed:
2604         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
2605         M-x comint-kill-subjob should work for both values nil and t of
2606         process-connection-type. It was broken on most platforms.
2607         Testing on Irix and Cygwin still needed.  Other plaforms tested.
2608         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
2609         * process-unix.c: Signal/Process handling overhaul.
2610         (pty_name): make 64 bytes, as `expect' does, for paranoia.
2611         (allocate_pty): Use all available modern methods of allocating
2612         ptys, falling back to old style BSD allocation as a last resort.
2613         Use allegedly more secure Unix98 pty allocation by default.
2614         (allocate_pty_the_old_fashioned_way): New. the last resort.
2615         (unix_create_process): Push ptem, ldterm, ttcompat where
2616         available.  Autoconfiscate.
2617         (try_to_initialize_subtty): New.
2618         (unix_kill_child_process): Proper signal handling for ptys on most
2619         platforms, using special knowledge of AIX, BSD, etc...
2620         (unix_create_process): Always disconnect_controlling_terminal() for
2621         subprocesses, whether using ptys or not.
2622         * process.h: Remove old getpt-dependent PTY code.
2623         * process.c (Fprocess_send_signal): New, obvious generic function.
2624         (decode_signal): New.
2625         (Finterrupt_process):
2626         (Fkill_process):
2627         (Fquit_process):
2628         (Fstop_process):
2629         (Fcontinue_process):
2630         (Fsignal_process): Use decode_signal.
2631         (process_send_signal):
2632         Many docstring corrections.
2633         Allow any signal to be sent to a process object.
2634         * config.h.in: Add symbols for big signal/process overhaul.
2635         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
2636         * sysproc.h: Include process-related headers, where available:
2637         sys/stropts.h sys/strtio.h pty.h libutil.h
2638         * s/irix4-0.h:
2639         * s/irix5-0.h:
2640         * s/cygwin32.h:
2641         * s/gnu.h:
2642         * s/linux.h:
2643         * s/hpux.h:
2644         * s/aix3-1.h:
2645         Remove old S&M pty stuff.
2646         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
2647         * systty.h: Simplify cpp hackery, improve comments.
2648         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
2649
2650         * editfns.c (Fformat_time_string):
2651         Be a little more paranoid with the return value of ctime.
2652
2653         * fileio.c (check_executable):
2654         (check_writable):
2655         Use symbolic constants X_OK, W_OK.
2656
2657         * console-x.c (split_up_display_spec): Fix a warning.
2658
2659 2000-10-02  Martin Buchholz  <martin@xemacs.org>
2660
2661         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
2662         * ntproc.c (sys_spawnve): make_string ==> build_string
2663         Small clarity improvements.
2664
2665 2000-09-30  Martin Buchholz  <martin@xemacs.org>
2666
2667         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
2668
2669         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
2670
2671         * config.h.in (HAVE_STRCASECMP): Remove.
2672
2673 2000-09-29  Martin Buchholz  <martin@xemacs.org>
2674
2675         * redisplay-output.c (redisplay_output_pixmap):
2676         Cleaner and possibly more 64-bit correct code.
2677
2678 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
2679
2680         * dumper.c (pdump_load_finish): move restoration of
2681         `noninteractive1' to emacs.c (main_1).
2682         * emacs.c (main_1): protect LISP-visible command-line flags
2683         from pdump_load().
2684
2685 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
2686
2687         * Makefile.in.in (versionclean):  Use EXE_TARGET and
2688         DUMP_TARGET instead of literal program names.
2689
2690 2000-09-20  Martin Buchholz  <martin@xemacs.org>
2691
2692         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
2693
2694 2000-09-19  Martin Buchholz  <martin@xemacs.org>
2695
2696         * *: Spelling mega-patch
2697
2698 2000-09-19  Martin Buchholz  <martin@xemacs.org>
2699
2700         * fns.c (bad_bad_turtle):
2701         Delete "Eek!" comment, since we fixed the bug to which it refers.
2702
2703 2000-09-16  Martin Buchholz  <martin@xemacs.org>
2704
2705         * alloca.c: Replace REGISTER with register.
2706
2707 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
2708
2709         * file-coding.c (ucs_to_char): Use countof.
2710
2711 2000-09-16  Martin Buchholz  <martin@xemacs.org>
2712
2713         * file-coding.c: (ucs_to_char):
2714         (complex_vars_of_file_coding):
2715         Use countof instead of sizeof.
2716         Use CHECK_NATNUM instead of CHECK_INT.
2717
2718         * sysdep.c (strcasecmp): Remove.
2719         * device-x.c (ascii_strcasecmp): New.
2720         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
2721         Avoid using non-standard non-portable strcasecmp.
2722
2723 2000-09-16  Martin Buchholz  <martin@xemacs.org>
2724
2725         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
2726         * font-lock.c: remove reference to emacsfns.h.
2727         * search.c: small doc improvement.
2728         * event-Xt.c: correct file names in comments.
2729         * console-x.h Correct file names in comments.
2730         * frame.c: Correct file names in comments.
2731         * event-stream.c: remove Energize from comments.
2732
2733 2000-09-15  Martin Buchholz  <martin@xemacs.org>
2734
2735         * symeval.h (DEFERROR_STANDARD):
2736         (DEFERROR):
2737         (DEFSYMBOL):
2738         (DEFSYMBOL_NO_DUMP):
2739         (DEFSYMBOL_MULTIWORD_PREDICATE):
2740         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
2741         (DEFKEYWORD):
2742         The construct &##name is not sensible C.
2743         Fixes compilation errors with Unixware native compiler.
2744
2745 2000-09-14  Martin Buchholz  <martin@xemacs.org>
2746
2747         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
2748         (next_frame_internal): Removed.  We now just have next_frame.
2749         (next_frame):
2750         Write a simpler and cleaner one-pass algorithm.
2751         Remove called_from_delete_device arg and #ifdefed-out code.
2752         (previous_frame):
2753         Renamed from prev_frame.  Update callers.
2754         Cleaned up to have an analogous implementation to next_frame.
2755         (other_visible_frames_internal): Remove the
2756         called_from_delete_device bogus arg, and hence, remove this
2757         function.  Just use other_visible_frames().
2758
2759         * window.c (Fnext_window): 
2760         Prettify docstring.
2761         Since next_frame() is guaranteed to return a frame, remove check
2762         for nil inserted in previous patch.
2763         (Fprevious_window): 
2764         Prettify docstring.  
2765         Make code look more like Fnext_window.
2766         (window_loop):
2767         Respect the `console' arg when iterating through windows.
2768         Fixes bug: (get-buffer-window buffer t device) not respecting
2769         the `device' arg.
2770         This function needs more work, as others have pointed out.
2771
2772         * frame.h: Rename prev_frame to previous_frame.
2773         device_matches_console_spec no longer takes a `frame' arg.
2774
2775         * s/gnu.h:
2776         * s/linux.h:
2777         * s/hpux.h:
2778         Use EMACS_BLOCK_SIGNAL instead of sigblock.
2779         From "Golubev I. N." <gin@mo.msk.ru>.
2780
2781         * make-src-depend: Fix typo.
2782
2783 2000-09-13  Martin Buchholz  <martin@xemacs.org>
2784
2785         * window.c (Fnext_window):
2786         next_frame() might return nil, not a frame.
2787         Fixes this crash:
2788         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
2789
2790         * frame.c (next_frame_internal):
2791         We've passed a frame if we've passed its device.
2792         Fixes this crash:
2793         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
2794 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
2795
2796 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
2797
2798         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
2799         Allow option to suppress accelerators in menu/dialog items.
2800         (populate_or_checksum_helper): Pass dialog title through above.
2801
2802 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
2803
2804         * event-msw.c (mswindows_key_to_emacs_keysym):
2805         Add "pause" key, fix "menu" key.
2806
2807 2000-09-09  Martin Buchholz  <martin@xemacs.org>
2808
2809         * eval.c (reinit_vars_of_eval):
2810         Increase max_lisp_eval_depth to 1000,
2811         required for thai-xtis.el to byte-compile under some circumstances.
2812
2813 2000-09-04  Martin Buchholz  <martin@xemacs.org>
2814
2815         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
2816         From Kenichi Handa.
2817
2818 2000-09-01  Martin Buchholz  <martin@xemacs.org>
2819
2820         * make-src-depend: Make the generated Makefiles smaller.
2821
2822         * s/hpux.h (SETUP_SLAVE_PTY):
2823         Provide a %d in the format string for the errno argument.
2824
2825         * editfns.c (Ftemp_directory):
2826         Warning fix.
2827         Avoid buffer overrun on very long file name.
2828
2829         * input-method-xlib.c (XIM_init_device): 
2830         6th parameter of XRegisterIMInstantiateCallback has different
2831         pointer types on different OSes, so simply cast to (void *).
2832
2833         * unexhp9k800.c: Warning fixes.  Fiddly changes.
2834
2835         * sysdll.c (dll_open):
2836         shl_load will hang hard if passed a NULL filename.
2837         Simply return NULL for compatibility with dlopen.
2838         * sysdll.c: Conform to XEmacs coding standards.
2839
2840         * sysdep.c (get_pty_max_bytes): 
2841         Support pty input lines longer than 512 bytes on HP-UX 10.20.
2842
2843 2000-08-31  Martin Buchholz  <martin@xemacs.org>
2844
2845         * tooltalk.c: Add #include <syssignal.h>
2846
2847 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
2848
2849         * s/hpux.h: Don't use undefined function sigunblock().
2850
2851 2000-08-31  Martin Buchholz  <martin@xemacs.org>
2852
2853         * config.h.in: Add HAVE_BALLOON_HELP.
2854         * emacs.c: Use HAVE_BALLOON_HELP.
2855         * Makefile.in.in (x_objs):
2856         Make Balloon Help conditional on finding shape.h.
2857
2858 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
2859
2860         * syntax.c (regex_emacs_buffer_p): New variable.
2861         * syntax.h (regex_emacs_buffer_p): extern.
2862         * search.c (looking_at_1):
2863         (string_match_1):
2864         (fast_string_match):
2865         (search_buffer): Set regex_emacs_buffer_p.
2866         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
2867         when before_dot, at_dot, after_dot.
2868
2869 2000-08-23  Andy Piper  <andy@xemacs.org>
2870
2871         * gui-x.c (popup_selection_callback): Only set action_occurred
2872         when we really have an image instance.
2873         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
2874
2875 2000-08-23  Andy Piper  <andy@xemacs.org>
2876
2877         * gui-msw.c (mswindows_handle_gui_wm_command): set
2878         action_occurred.
2879         * gui-x.c (popup_selection_callback): ditto.
2880
2881         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
2882         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
2883         (struct Lisp_Image_Instance): add action_occurred flag.
2884
2885         * glyphs.c (redisplay_subwindow): use action_occurred flag.
2886         (image_instance_changed): ditto.
2887         (reset_frame_subwindow_instance_cache): only unmap windows - do
2888         not remove them from the cache also.
2889
2890         * glyphs-widget.c (tab_control_update): better debug.
2891         (progress_gauge_update): ditto.
2892         (layout_update): ditto.
2893         (layout_instantiate): ditto.
2894         (tab_control_order_only_changed): cope with null pending items.
2895
2896         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
2897         debug. Force selection of an item when an action occurred. Cope
2898         with null pending_items.
2899         (mswindows_progress_gauge_redisplay): better debug.
2900         * glyphs-x.c (x_tab_control_redisplay): ditto.
2901
2902         * redisplay.c (redisplay_frame): reset the frame cache if the
2903         frame is garbaged.
2904
2905         * window.c (Fset_window_configuration): potentially re-enable
2906         frame cache reset.
2907         (window_unmap_subwindows): need to finalize instances here since
2908         it is only used in mark_window_as_deleted.
2909
2910 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
2911
2912         * nas.c (SndOpenDataForReading):
2913         nas.c (WaveOpenDataForReading):
2914         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
2915         Somehow escaped from the 2000-08-14 patch.
2916
2917 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
2918
2919         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
2920         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
2921
2922 2000-08-21  Andy Piper  <andy@xemacs.org>
2923
2924         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
2925         window if it is not already displayed.
2926
2927         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
2928         it is not already displayed.
2929
2930         * window.c (Fset_window_configuration): don't reset the frame
2931         cache.
2932
2933         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
2934         instances from the frame cache if we are actually finalizing them.
2935         (reset_frame_subwindow_instance_cache): reset frame cache only
2936         after unmapping everything.
2937         (map_subwindow): set displayed flag after mapping.
2938
2939 2000-08-21  Martin Buchholz  <martin@xemacs.org>
2940
2941         * data.c (indirect_function):
2942         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
2943
2944         * eval.c (function_argcount): 
2945         Use original function when signaling errors.
2946
2947 2000-08-18  Andy Piper  <andy@xemacs.org>
2948
2949         * frame.c (delete_frame_internal): use new
2950         free_frame_subwindow_instances name.
2951
2952         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
2953         (add_tab_item): make return type correct.
2954         (mswindows_tab_control_instantiate): assert index of tab.
2955         (mswindows_tab_control_redisplay): Re-code to use
2956         gui_item_equal_sans_selected and gui_item_list_find_selected.
2957
2958         * glyphs-widget.c (tab_control_update): Correct comment.
2959
2960         * window.c (window_unmap_subwindows): use new
2961         unmap_subwindow_instance_cache_mapper.
2962         (window_unmap_subwindows_cache_mapper): deleted.
2963         (Fset_window_configuration): comparisons should now be with
2964         EQ. Preserve the subwindow instance cache across configuration
2965         changes.
2966         (allocate_window): ditto.
2967         (make_dummy_parent): ditto.
2968
2969         * glyphs.c (free_frame_subwindow_instances): rename from
2970         free_frame_subwindow_instance_cache. finalize all instances rather
2971         than just those in the display cache.
2972         (finalize_all_subwindow_instances): walk windows unmapping and
2973         finalizing subwindows.
2974         (unmap_subwindow_instance_cache_mapper): moved from
2975         window.c. Allow finalization as well as unmapping.
2976
2977         * gui.c (gui_item_list_find_selected): new function.
2978
2979         * gui.h (gui_item_list_find_selected): declare.
2980
2981         * glyphs-x.c (x_tab_control_redisplay): pick tab
2982         explicitly. Re-code to use gui_item_equal_sans_selected and
2983         gui_item_list_find_selected.
2984
2985         * glyphs-x.h: add lwlib-utils.h
2986
2987         * buffer.c (Frecord_buffer): undo previous change.
2988
2989 2000-08-09  Vin Shelton  <acs@xemacs.org>
2990
2991         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
2992         possible.  Create temporary files more securely.  The patch was
2993         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
2994         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
2995         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
2996         for details.
2997
2998 2000-08-07  Ben Wing  <ben@xemacs.org>
2999
3000         * getloadavg.c: remove duplicate (and windows-breaking)
3001         includes of fcntl.h and sys/file.h.
3002
3003         * nt.c: remove duplicate getloadavg() definition.
3004
3005         * sysdll.h (Qdll_filename_encoding): add missing stand-in
3006         encodings.
3007
3008 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3009
3010         * eval.c (function_argcount): If function needs to be autoloaded
3011         actually use the loaded definition.
3012         GCPRO function.
3013
3014 2000-08-05  Ben Wing  <ben@xemacs.org>
3015
3016         * getloadavg.c: add prototype for getloadavg().  remove
3017         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
3018         of the code).  remove duplicate header includes.
3019
3020         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
3021         
3022         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
3023         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
3024         useful load average.
3025
3026         * alloc.c (reinit_alloc_once_early): removed references to
3027         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
3028         the lisp vars are the only things referencing the malloc_sbrk_*
3029         vars, and they were already if 0'd out.  these vars only exist
3030         in the older malloc.c, which is basically unused, and they're
3031         only for informational purposes.
3032
3033         * m\*.h: removed useless VIRT_ADDR_VARIES.
3034
3035         * m\powerpc.h: removed stray NO_ARG_ARRAY.
3036
3037 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
3038
3039         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
3040         color if the image is a mono pixmap.
3041
3042 2000-07-30  Ben Wing  <ben@xemacs.org>
3043
3044         * Makefile.in.in (release):
3045         Remove stray @.
3046         
3047         * buffer.c (directory_is_current_directory):
3048         * dired-msw.c (mswindows_get_files):
3049         * dired.c:
3050         * dired.c (Fdirectory_files):
3051         * dired.c (file_name_completion_stat):
3052         * dired.c (Ffile_attributes):
3053         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
3054         preprocessor tricks, to avoid problems on some machines
3055         (e.g. SCO).
3056
3057         * callproc.c (egetenv): GC docs.
3058         
3059         * console-msw.h:
3060         * console-msw.h (struct mswindows_dialog_id):
3061         * lrecord.h (lrecord_type):
3062         New object for use with MSW dialogs.
3063         
3064         * console.h (struct console_methods):
3065         New enable/disable frame methods, for proper modal dialogs.
3066         
3067         * device-msw.c (msprinter_default_printer): Fix to follow
3068         proper Mule conventions.
3069         
3070         * device-msw.c:
3071         * device-msw.c (signal_open_printer_error):
3072         * device-msw.c (msprinter_init_device):
3073         * device-msw.c (ensure_not_printing):
3074         * device-msw.c (plist_get_margin):
3075         * device-msw.c (Fmsprinter_select_settings):
3076         * device-msw.c (finalize_devmode):
3077         * device-msw.c (Fmsprinter_settings_despecialize):
3078         * device-msw.c (signal_enum_priner_error):
3079         * extents.c (decode_extent):
3080         * extents.c (decode_map_extents_flags):
3081         * extents.c (decode_extent_at_flag):
3082         * extents.c (Fextent_at):
3083         * extents.c (Fextents_at):
3084         * extents.c (symbol_to_glyph_layout):
3085         [[[[2]]]] Use structured errors.
3086         
3087         * dialog-msw.c:
3088         * dialog-msw.c (mswindows_is_dialog_msg):
3089         * dialog-msw.c (mark_mswindows_dialog_id):
3090         * dialog-msw.c (dialog_proc):
3091         * dialog-msw.c (handle_question_dialog_box):
3092         * dialog-msw.c (syms_of_dialog_mswindows):
3093         Define new object to clean up marking; use it as a dialog identifier.
3094         Call new delete-dialog-box-hook.
3095         
3096         * dialog-x.c (dbox_selection_callback):
3097         * dialog-x.c (dbox_descriptor_to_widget_value):
3098         * dialog-x.c (x_make_dialog_box_internal):
3099         Call new delete-dialog-box-hook.
3100         Return an id.
3101
3102         * dialog.c:
3103         * dialog.c (syms_of_dialog):
3104         * dialog.c (vars_of_dialog):
3105         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
3106         
3107         * eval.c:
3108         * eval.c (signal_call_debugger):
3109         when noninteractive, output stack traces on the console instead
3110         of in a (never-seen) buffer.
3111         
3112         * eval.c (signal_type_error):
3113         * eval.c (invalid_argument_2):
3114         * lisp.h:
3115         new funs for use w/structured errors.
3116         
3117         * event-Xt.c:
3118         * event-Xt.c (x_to_emacs_keysym):
3119         * event-Xt.c (describe_event):
3120         * event-Xt.c (emacs_Xt_event_handler):
3121         * event-Xt.c (vars_of_event_Xt):
3122         * event-msw.c:
3123         * event-msw.c (mswindows_wnd_proc):
3124         * event-msw.c (vars_of_event_mswindows):
3125         rename {x,mswindows}-debug-events to debug-{}-events for
3126         consistency with other debug-foo variables.
3127         
3128         * event-stream.c:
3129         document next-event more clearly.
3130         
3131         * fileio.c (Ffile_name_directory):
3132         * fileio.c (Ffile_name_nondirectory):
3133         * fileio.c (Funhandled_file_name_directory):
3134         * fileio.c (file_name_as_directory):
3135         * fileio.c (Ffile_name_as_directory):
3136         * fileio.c (directory_file_name):
3137         * fileio.c (Fdirectory_file_name):
3138         * fileio.c (Fmake_temp_name):
3139         * fileio.c (Ffile_truename):
3140         * fileio.c (Fsubstitute_in_file_name):
3141         * fileio.c (expand_and_dir_to_file):
3142         * fileio.c (barf_or_query_if_file_exists):
3143         * fileio.c (check_executable):
3144         * fileio.c (Ffile_exists_p):
3145         * fileio.c (Ffile_writable_p):
3146         * fileio.c (Ffile_directory_p):
3147         * fileio.c (Ffile_regular_p):
3148         * fileio.c (Ffile_modes):
3149         * fileio.c (Ffile_newer_than_file_p):
3150         * fileio.c (Fverify_visited_file_modtime):
3151         * fileio.c (Fset_visited_file_modtime):
3152         * fileio.c (auto_save_1):
3153         (1). (2).
3154         fix up gcpro's.
3155         
3156         * frame-msw.c:
3157         * frame-msw.c (mswindows_init_frame_1):
3158         * frame-msw.c (mswindows_enable_frame):
3159         * frame-msw.c (error_frame_unsizable):
3160         * frame-msw.c (msprinter_init_frame_1):
3161         * frame-msw.c (msprinter_init_frame_3):
3162         * frame-msw.c (console_type_create_frame_mswindows):
3163         (2).
3164         implement new enable/disable frame methods.
3165         
3166         * frame-x.c:
3167         * frame-x.c (x_enable_frame):
3168         * frame-x.c (console_type_create_frame_x):
3169         implement new enable/disable frame methods.
3170         
3171         * frame.c:
3172         * frame.c (Fdisable_frame):
3173         * frame.c (syms_of_frame):
3174         * frame.h (struct frame):
3175         implement new enable/disable frame methods/functions.
3176         
3177         * general-slots.h:
3178         add initial-focus.
3179         
3180         * glyphs-msw.c (mswindows_widget_instantiate):
3181         comment that initial-focus should be implemented.
3182         
3183         * glyphs-widget.c:
3184         * glyphs-widget.c (check_valid_instantiator):
3185         * glyphs-widget.c (check_valid_orientation):
3186         * glyphs-widget.c (check_valid_tab_orientation):
3187         * glyphs-widget.c (check_valid_justification):
3188         * glyphs-widget.c (check_valid_border):
3189         * glyphs-widget.c (check_valid_callback):
3190         * glyphs-widget.c (check_valid_int_or_function):
3191         * glyphs-widget.c (check_valid_string_or_vector):
3192         * glyphs-widget.c (check_valid_item_list_1):
3193         * glyphs-widget.c (widget_validate):
3194         * glyphs-widget.c (combo_box_validate):
3195         * glyphs-widget.c (widget_instantiate):
3196         * glyphs-widget.c (syms_of_glyphs_widget):
3197         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
3198         * glyphs-widget.c (image_instantiator_combo_box):
3199         * glyphs-widget.c (image_instantiator_scrollbar):
3200         * glyphs-widget.c (image_instantiator_tab_control):
3201         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
3202         (2).
3203         support (unimplemented) keyword initial-focus.
3204         reindent long macros.
3205         
3206         * glyphs-x.c (x_redisplay_widget):
3207         * glyphs-x.c (x_button_instantiate):
3208         * glyphs-x.c (x_button_redisplay):
3209         * glyphs-x.c (x_progress_gauge_instantiate):
3210         * glyphs-x.c (x_edit_field_instantiate):
3211         * glyphs-x.c (x_combo_box_instantiate):
3212         * glyphs-x.c (x_tab_control_instantiate):
3213         * glyphs-x.c (x_label_instantiate):
3214         * gui-x.c:
3215         * gui-x.c (button_item_to_widget_value):
3216         * gui-x.c (gui_items_to_widget_values_1):
3217         * gui-x.c (gui_item_children_to_widget_values):
3218         * gui-x.c (gui_items_to_widget_values):
3219         * gui-x.h:
3220         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
3221         add new flag to gui-parsing routines to indicate whether
3222         accelerator specs should be supported.
3223         
3224         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
3225         
3226         * glyphs.h (struct Lisp_Image_Instance):
3227         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
3228         add initial-focus flag.
3229         
3230         * gui.c:
3231         * gui.c (syms_of_gui):
3232         * gui.c (vars_of_gui):
3233         clean up menu-no-selection-hook.
3234         
3235         * gui.h:
3236         support delete-dialog-box-hook.
3237         
3238         * lread.c (Fload_internal):
3239         * lread.c (locate_file_in_directory_mapper):
3240         (1).
3241         
3242         * lrecord.h:
3243         * lrecord.h (struct toolbar_button):
3244         * lrecord.h (syms_of_toolbar):
3245         document how to create a new object.
3246         
3247         * menubar-msw.c (mswindows_char_is_accelerator):
3248         may be called on frames w/o menus.
3249
3250         * menubar.c (vars_of_menubar):
3251         clean up :filter docs.
3252         
3253         * nt.c (readdir):
3254         * ntproc.c:
3255         (1).
3256         
3257         * process-nt.c:
3258         * process-nt.c (validate_signal_number):
3259         * process-nt.c (signal_cannot_launch):
3260         * process-nt.c (nt_create_process):
3261         * process-nt.c (nt_send_process):
3262         * process-nt.c (nt_kill_child_process):
3263         * process-nt.c (nt_open_network_stream):
3264         * process-nt.c (syms_of_process_nt):
3265         (2).
3266         delete quote-handling.  call new lisp code that does it better.
3267         
3268         * process-unix.c (connect_to_file_descriptor):
3269         * process-unix.c (allocate_pty):
3270         * process-unix.c (unix_send_process):
3271         * process-unix.c (unix_kill_child_process):
3272         * process-unix.c (unix_open_network_stream):
3273         * process-unix.c (unix_open_multicast_group):
3274         (1). (2).
3275         
3276         * process.c:
3277         * process.c (Fstart_process_internal):
3278         (2).  need to canonicalize process path even if absolute.
3279         
3280         * select-msw.c (symbol_to_ms_cf):
3281         * select-msw.c (ms_cf_to_symbol):
3282         * select-msw.c (cf_is_autofreed):
3283         * select-msw.c (mswindows_destroy_selection):
3284         * select.c:
3285         * select.c (syms_of_select):
3286         * select.h:
3287         support dibv5, fix bugs. (from Mike Alexander)
3288         
3289         * select.c (Fget_selection_internal):
3290         * select.c (select_convert_out):
3291         
3292         * sysdep.c:
3293         * sysdep.c (xemacs_stat):
3294         renamed.
3295         
3296         * sysdep.c (mkdir):
3297         * sysdep.c (rmdir):
3298         but keep original stat() here because we provide encapsulation
3299         around these funs.
3300         
3301         * sysfile.h:
3302         * sysfile.h (fstat):
3303         remove stat garbage.
3304         
3305         * syswindows.h:
3306         fix X/MSW conflict.
3307         don't include tchar.h.  it's inappropriate because it makes
3308         compile-time distinctions when we want runtime distinctions.
3309         (we provide our own tchar replacements)
3310         
3311         * toolbar.c:
3312         use default object printer for toolbar-button.
3313         
3314         * unexcw.c:
3315         make sure we don't encapsulate.
3316         
3317         * window.c (vars_of_window):
3318         emphasize that temp-buffer-show-hook is obsolete.
3319
3320 2000-08-05  Martin Buchholz  <martin@xemacs.org>
3321
3322         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
3323         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
3324
3325         * events.c (Fevent_timestamp_lessp): 
3326         Not 64-bit clean.  Use EMACS_INT, not int.
3327
3328 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
3329
3330         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
3331         unsigned int and changed the last enum to
3332         lrecord_type_last_built_in_type. 
3333         (lrecord_implementations_table): changed prototype to know how
3334         long the array is supposed to be. 
3335         (lrecord_type_count): new unsigned int to keep track of the
3336         current number of lisp lrecord types.
3337         (DEFINE_EXTERNAL_LRECORD):
3338         (DECLARE_EXTERNAL_LRECORD): Added these two for external
3339         dynamic-modules to declare new lisp types. They are the same
3340         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
3341         int for each new type, and increment lrecord_type_count by 1.
3342
3343         * alloc.c (lrecord_implementations_table): Changed to reference
3344         lrecord_type_last_built_in_type for the size of the array.
3345         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
3346
3347 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
3348
3349         * glyphs.h (check_valid_item_list): Renamed from
3350         check_valid_item_list_1.
3351
3352 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
3353
3354         * select.c (Qselect_coerce): New.
3355         * select.c (Vselection_coercion_alist): New.
3356         * select.c (syms_of_select): Declare.
3357         * select.c (get-selection-internal): Use it.
3358         Use the new select-coerce functionality.
3359
3360         * select.c (select_coerce): New.
3361         * select.h (select_coerce): Declare.
3362         New function to coerce one type of data into another.
3363
3364 2000-08-03  Martin Buchholz  <martin@xemacs.org>
3365
3366         * callproc.c (Fcall_process_internal): 
3367         (Fcall_process_internal): 
3368         * process-unix.c (unix_create_process):
3369         Save and restore the value of errno, so that error messages are accurate.
3370
3371 2000-08-01  Martin Buchholz  <martin@xemacs.org>
3372
3373         * elhash.c (print_hash_table): 
3374         Fix printing of hash tables to also use `key-and-value' instead of `t'.
3375         Prettify docstrings and indentation.
3376
3377 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
3378
3379         * window.c (Fwindow_pixel_edges): Subtract frame border and
3380         gutter size.
3381
3382 2000-07-31  Andy Piper  <andy@xemacs.org>
3383
3384         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
3385         will acknowledge the change.
3386
3387         * glyphs.h: declare tab_control_order_only_changed.
3388
3389         * glyphs-x.c (x_tab_control_redisplay): use
3390         tab_control_order_only_changed.
3391
3392         * glyphs-widget.c (tab_control_order_only_changed): new function.
3393
3394         * glyphs-msw.c (mswindows_tab_control_redisplay): use
3395         tab_control_order_only_changed.
3396
3397         * gui.c (gui_item_equal_sans_selected): new function.
3398         (gui_item_equal): use it.
3399
3400         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
3401         :properties in favor of :items..
3402
3403         * glyphs-widget.c (check_valid_item_list): rename from
3404         check_valid_item_list_1.
3405         (check_valid_item_list_1): renamed.
3406         (combo_box_validate): deprecate :properties in favor of :items.
3407         (widget_instantiate): ditto.
3408         (tab_control_update): ditto.
3409         (image_instantiator_combo_box): ditto.
3410         (image_instantiator_tree_view): ditto.
3411         (image_instantiator_tab_control): ditto.
3412         (layout_post_instantiate): remove dead code.
3413
3414         * print.c (debug_print_no_newline): only write to debugger if in
3415         WIN32_NATIVE.
3416
3417         * elhash.c (Fmake_hash_table): update doc string.
3418
3419         * event-msw.c (mswindows_wnd_proc): don't allow processing of
3420         messages whilst in GC. This at least stops XEmacs crashing but has
3421         the potential for wierd behaviour.
3422
3423 2000-07-31  Martin Buchholz  <martin@xemacs.org>
3424
3425         * config.h.in:
3426         Make existence of s&m files optional.
3427         
3428         * s/bsd386.h: Remove HAVE_GETLOADAVG.
3429         * s/freebsd.h: Remove HAVE_GETLOADAVG.
3430         * s/gnu.h: Remove HAVE_GETLOADAVG.
3431         * s/netbsd.h: Remove HAVE_GETLOADAVG.
3432         * s/sol2.h: Remove HAVE_GETLOADAVG.
3433         * lisp.h: Remove getloadavg() declaration.
3434         * fns.c:
3435         Include <sys/loadavg.h> if available.
3436         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
3437         * config.h.in:  Group together getloadavg()-related macros.
3438         Use only configure-time tests to detect getloadavg().
3439
3440 2000-07-30  Martin Buchholz  <martin@xemacs.org>
3441
3442         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
3443
3444 2000-07-25  Andy Piper  <andy@xemacs.org>
3445
3446         * syswindows.h: add tchar.h for native builds.
3447
3448         * frame.c (syms_of_frame): remove set-glyph-image.
3449
3450         * general-slots.h: add Qset_glyph_image.
3451
3452         * glyphs-widget.c (layout_update): add domain arg to
3453         set-glyph-image.
3454         (syms_of_glyphs_widget): remove set-glyph-image.
3455
3456 2000-07-23  Ben Wing  <ben@xemacs.org>
3457
3458         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
3459         Vpopup_frame_list.
3460
3461 2000-07-22  Andy Piper  <andy@xemacs.org>
3462
3463         * symsinit.h: add syms_of_win32().
3464
3465         * gui-msw.c (syms_of_gui_mswindows): remove
3466         Fmswindows_shell_execute.
3467         (Fmswindows_shell_execute): moved to win32.c.
3468
3469         * emacs.c (main_1): add syms_of_win32 ().
3470
3471         * win32.c (init_potentially_nonexistent_functions): rewrite in
3472         compiler-friendly terms.
3473         (Fmswindows_shell_execute): move here from gui-msw.c.
3474         (syms_of_win32): new.
3475
3476         * device-msw.c (Fmswindows_printer_list): clean up args to
3477         EnumPrinters.
3478         Don't include tchar under cygwin or mingw.
3479         (msprinter_default_printer): make cygwin-friendly.
3480
3481 2000-07-21  Andy Piper  <andy@xemacs.org>
3482
3483         * glyphs-widget.c (image_instantiator_tree_view): use tab
3484         control's update function.
3485         (layout_property): new function. Retrieve items.
3486
3487         * glyphs-msw.c (mswindows_tree_view_redisplay): new
3488         function. Re-populate the tree view from the pending items.
3489
3490         * glyphs.c (instantiate_image_instantiator): Make sure the domain
3491         is designated the parent if the domain is an image instance. This
3492         is needed so that dirtiness can be cascade up the hierarchy and
3493         thus for layout children to be redisplayed correctly.
3494         (allocate_image_instance): rename glyph -> parent.
3495
3496         * redisplay.h: change redisplay_output_layout signature.
3497
3498         * redisplay-msw.c (mswindows_output_display_block): use domain
3499         arg.
3500
3501         * redisplay-x.c (x_output_display_block): use domain arg.
3502
3503 2000-07-10  Andy Piper  <andy@xemacs.org>
3504
3505         * window.c (Fset_window_configuration): add comment.
3506
3507         * redisplay-output.c (compare_runes): 
3508         (redisplay_output_subwindow): redisplay rather than update subwindow.
3509         (redisplay_output_layout): ditto.
3510
3511         * redisplay-msw.c (mswindows_frame_output_end):
3512         (mswindows_frame_output_end): make defer window pos optional.
3513
3514         * lisp.h: add Flast.
3515
3516         * glyphs.h (struct image_instantiator_methods): add dest_mask top
3517         normalize method. Change update method to be for changed
3518         instantiators. Add redisplay method. Change signature of layout
3519         method.
3520         (struct Lisp_Image_Instance): add instantiator.
3521         (IMAGE_INSTANCE_INSTANTIATOR): new.
3522         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
3523         (XIMAGE_INSTANCE_INSTANTIATOR): new.
3524         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
3525
3526         * glyphs.c:
3527         (find_instantiator_differences): new function.
3528         (Fset_instantiator_property): new convenience function.
3529         (check_image_instance_structure): strictly check for vector
3530         instantiators.
3531         (normalize_image_instantiator): make non-static.
3532         (instantiate_image_instantiator): pass on dest_mask and use new
3533         signatures for image_instance_layout and friends.
3534         (mark_image_instance): mark the instantiator. Mark the subwindow
3535         face not the widget face.
3536         (image_instance_equal): add instantiator.
3537         (image_instance_hash): ditto.
3538         (allocate_image_instance): ditto.
3539         (Fset_image_instance_property): removed.
3540         (Fimage_instance_file_name): ditto.
3541         (Fcolorize_image_instance): ditto.
3542         (image_instance_layout): add offsets to be set.
3543         (update_image_instance): new function. update an image instance
3544         from its changed instantiator.
3545         (inherit_normalize): add dest_mask.
3546         (xbm_normalize): ditto.
3547         (xface_normalize): ditto.
3548         (xpm_normalize): ditto.
3549         (text_update): set_property -> update.
3550         (image_instantiate): use the glyph identity as a hash key, not the
3551         instantiator.
3552         (glyph_width): use new image_instance_layout signature.
3553         (glyph_ascent): ditto.
3554         (glyph_descent): ditto.
3555         (glyph_height): ditto.
3556         (glyph_query_geometry): ressurrect.
3557         (glyph_layout): ditto.
3558         (redisplay_subwindow): update -> redisplay.
3559         (syms_of_glyphs): add Fset_instantiator_property.
3560         (image_instantiator_format_create): set_property -> update.
3561
3562         * glyphs-x.c:
3563         (autodetect_normalize): add dest_maks to signature.
3564         (x_redisplay_subwindow): update -> redisplay.
3565         (x_redisplay_widget): ditto.
3566         (x_button_redisplay): ditto.
3567         (x_progress_gauge_redisplay): ditto.
3568         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
3569         stacking order.
3570         (console_type_create_glyphs_x): update -> redisplay.
3571         (image_instantiator_format_create_glyphs_x): ditto.
3572
3573         * glyphs-widget.c:
3574         (check_valid_instantiator): disallow glyphs in the instantiator,
3575         they must now be vectors.
3576         (check_valid_instantiator_list): ditto.
3577         (glyph_instantiator_to_glyph): use internal symbol rather than
3578         intern.
3579         (widget_update): renamed from widget_set_property. Call cascaded
3580         update methods.
3581         (redisplay_widget): renamed from update_widget.
3582         (widget_layout): image_instance_layout now takes position as well
3583         as size.
3584         (widget_normalize): ditto.
3585         (widget_instantiate): ditto.
3586         (tab_control_query_geometry) ditto.:
3587         (tab_control_update): renamed from tab_control_set_property.
3588         (progress_gauge_update): set_property -> update.
3589         (layout_normalize): rewrite so that child instantiators are
3590         normalized also.
3591         (layout_update): new function. Create glyphs from the normalized
3592         children and cope with any other layout keywords. We do not
3593         instantiate children here that will be take care of by
3594         redisplay_output_layout.
3595         (layout_instantiate): call layout_update and not much else.
3596         (layout_post_instantiate): not sure whether this is needed
3597         anymore.
3598         (layout_query_geometry): query glyph geometry rather than
3599         image_instance geometry.
3600         (layout_layout): set offsets from pass in parameters. Use glyph
3601         geometry and layout functions rather than image instance ones.
3602         (native_layout_layout): ditto.
3603         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
3604         (image_instantiator_widget): set_property -> update.
3605         (image_instantiator_buttons): ditto.
3606         (image_instantiator_progress_guage): ditto.
3607         (image_instantiator_tab_control): ditto.
3608         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
3609         (image_instantiator_layout): add update method.
3610
3611         * glyphs-msw.c (bmp_normalize):
3612         (mswindows_resource_normalize): add dest_mask so that it can be
3613         proprogated by layout_normalize.
3614         (begin_defer_window_pos): make optional because it may not be the
3615         right thing to do and it introduces differences with X.
3616         (mswindows_unmap_subwindow): ditto.
3617         (mswindows_map_subwindow): ditto.
3618         (mswindows_redisplay_subwindow): renamed from
3619         mswindows_update_subwindow.
3620         (mswindows_redisplay_widget): ditto.
3621         (mswindows_button_redisplay): renamed from
3622         mswindows_button_update. Update is now what the instantiation
3623         function does for a changed instantiator.
3624         (mswindows_progress_gauge_instantiate): set the progress value
3625         here if appropriate.
3626         (mswindows_tab_control_redisplay): cope with re-ordering of the
3627         members of the tab widget by simply selecting the new top
3628         widget. This makes things appear ok if you click on a tab.
3629         (mswindows_combo_box_instantiate): image_instance_layout now takes
3630         position as well as size.
3631         (mswindows_progress_gauge_redisplay): renamed from
3632         mswindows_progress_gauge_update.
3633         (console_type_create_glyphs_mswindows): fix update -> redisplay.
3634         (image_instantiator_format_create_glyphs_mswindows): ditto.
3635
3636         * glyphs-eimage.c (jpeg_normalize):
3637         (gif_normalize):
3638         (png_normalize):
3639         (tiff_normalize): add dest_mask so that it can be proprogated by
3640         layout_normalize.
3641
3642         * elhash.c:
3643         (print_hash_table):
3644         (hash_table_weakness_validate):
3645         (decode_hash_table_weakness):
3646         (Fhash_table_weakness):
3647         (Fhash_table_type):
3648         (syms_of_elhash): use Ben's naming scheme for hashtable types..
3649
3650         * console.h (struct console_methods): move update_* to
3651         redisplay_*.
3652
3653 2000-07-20  Ben Wing  <ben@xemacs.org>
3654
3655         * *.[ch] (XSETOBJ): remove unused middle argument.
3656         lisp-disunion.h: correct wrap_object() to one argument.
3657         
3658 2000-07-15  Ben Wing  <ben@xemacs.org>
3659
3660         * s/cygwin32.h:
3661         * s/cygwin32.h (CYGWIN_CONV_PATH):
3662         Add missing logb prototype for v1.1.
3663         Use post-b20 names and alias to pre-b20 names when pre-b20.
3664
3665         * s/windowsnt.h: [5].
3666
3667 2000-07-15  Ben Wing  <ben@xemacs.org>
3668
3669         * Makefile.in.in (x_objs):
3670         * Makefile.in.in (sheap_objs):
3671         * Makefile.in.in (objs):
3672         added win32.o, cosmetic cleanups.
3673         
3674         * alloc.c (Fmake_byte_code):
3675         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
3676         etc. macros which declare their own args now.
3677
3678         * alloc.c (syms_of_alloc):
3679         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
3680
3681         * buffer.c:
3682         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
3683
3684         * buffer.c (Fget_file_buffer):
3685         Fixed GCPRO problem.
3686
3687         * buffer.c (get_truename_buffer):
3688         Fixed comment about GC checking.
3689
3690         * buffer.c (syms_of_buffer):
3691         Undeclared those dedicated frame funs.
3692         [2].
3693
3694         * buffer.h:
3695         Define convenience macros for internal/external conversions.
3696         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
3697         and Qenvironment_variable_encoding for cleaner code.
3698
3699         * bufslots.h:
3700         Remove dedicated-frame; in lisp.
3701
3702         * bytecode.c (funcall_compiled_function):
3703         [1].
3704
3705         * bytecode.c (syms_of_bytecode):
3706         [2].
3707
3708         * console-msw.c:
3709         * console-msw.c (mswindows_show_console): Rewrote.
3710
3711         * console-msw.c (Fmswindows_debugging_output): New.
3712         Sends to OutputDebugString (special MSWin debugger interface).
3713
3714         * console-msw.c (Fmswindows_message_box):
3715         Fixed stupid bugs so it works when called from kill-emacs.
3716
3717         * console-msw.c (syms_of_console_mswindows):
3718         Declare Fmswindows_debugging_output.
3719
3720         * console-msw.h:
3721         New MSWin prototypes.
3722
3723         * console-msw.h (struct mswindows_frame):
3724         New entry last-click-mods for improved button-modifier support.
3725
3726         * console-msw.h (FRAME_MSWINDOWS_POPUP):
3727         New struct entry `popup' with corresponding accessor.
3728
3729         * console-x.c:
3730         * console-x.c (split_up_display_spec):
3731         * console-x.c (get_display_arg_connection):
3732         * console-x.c (x_semi_canonicalize_console_connection):
3733         * console-x.c (x_canonicalize_device_connection):
3734         [[[6]]]: Change char to more specific type.
3735         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
3736
3737         * console-x.c (x_semi_canonicalize_console_connection):
3738         * console-x.c (x_canonicalize_device_connection):
3739         [[[9]]]: Fix up error signalling to use new structured error system.
3740
3741         * console-x.h:
3742         [[[4]]]: Define codesys aliases:
3743         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
3744         Qx_color_name_encoding, Qx_display_name_encoding.
3745
3746         * console.h (struct console_methods):
3747         New method make_dialog_box_internal supersedes older
3748         popup_dialog_box method.
3749
3750         * data.c:
3751         Define many new errors, part of new structured errors.
3752
3753         * data.c (init_errors_once_early):
3754         * data.c (syms_of_data):
3755         [2].
3756
3757         * device-msw.c (mswindows_init_device):
3758         [[[5]]]: Cleanup to support NT 3.51.
3759
3760         * device-msw.c (decode_devmode): Cleanup.
3761
3762         * device-msw.c (mswindows_handle_print_setup_dialog_box):
3763         * device-msw.c (mswindows_handle_print_dialog_box):
3764         * device-msw.c (mswindows_handle_page_setup_dialog_box):
3765         * device-msw.c (syms_of_device_mswindows):
3766         Delete the dialog box primitives recently introduced by Kirill and
3767         instead interface to general dialog box interface.
3768
3769         * device-x.c:
3770         * device-x.c (compute_x_app_name):
3771         * device-x.c (x_init_device):
3772         * device-x.c (Fx_valid_keysym_name_p):
3773         * device-x.c (Fx_set_font_path):
3774         [6].
3775         [7].
3776
3777         * device.h (wrap_device): New.
3778         First of its kind; meant to replace XSETDEVICE.
3779
3780         * dialog-msw.c: Many file-dialog symbols.
3781
3782         * dialog-msw.c (mswindows_register_popup_frame): New.
3783         * dialog-msw.c (mswindows_is_dialog_msg): New.
3784         For supporting kbd traversal in dialog boxes.
3785
3786         * dialog-msw.c (dialog_proc):
3787         Support hitting ESC in dialogs.
3788
3789         * dialog-msw.c (struct):
3790         Common dialog box errors.
3791
3792         * dialog-msw.c (handle_file_dialog_box): New.
3793         Add file dialog code.
3794
3795         * dialog-msw.c (handle_question_dialog_box):
3796         Redo existing code to support new question dialog syntax.
3797
3798         * dialog-msw.c (console_type_create_dialog_mswindows):
3799         We support new dialog console method.
3800
3801         * dialog-msw.c (syms_of_dialog_mswindows):
3802         * dialog-msw.c (vars_of_dialog_mswindows):
3803         New file dialog symbols, vars.
3804
3805         * dialog-x.c:
3806         * dialog-x.c (maybe_run_dbox_text_callback):
3807         * dialog-x.c (dbox_descriptor_to_widget_value):
3808         * dialog-x.c (x_make_dialog_box_internal):
3809         * dialog-x.c (console_type_create_dialog_x):
3810         Mule-ize entire file.
3811         Redo to support question dialog syntax.
3812         [6].
3813
3814         * dialog.c:
3815         * dialog.c (Fmake_dialog_box_internal):
3816         * dialog.c (syms_of_dialog):
3817         Kill old popup-dialog-box, replace with new primitive.
3818         Just call device method or signal error.
3819
3820         * eldap.c (Fldap_open):
3821         * eldap.c (Fldap_search_basic):
3822         * eldap.c (Fldap_add):
3823         * eldap.c (Fldap_modify):
3824         [1].
3825         [7].
3826
3827         * emacs.c:
3828         * emacs.c (make_arg_list_1):
3829         * emacs.c (make_arg_list):
3830         Mule-ize call to dll_init().
3831         [6].
3832         [8].
3833
3834         * emacs.c (make_argc_argv):
3835         * emacs.c (free_argc_argv):
3836         * emacs.c (init_cmdargs):
3837         * emacs.c (main_1):
3838         * emacs.c (Fkill_emacs):
3839         * emacs.c (Fdump_emacs):
3840         Update comments about what can be used in syms_* etc.
3841         Call init_win32() when necessary.
3842         Fix up MS Win dialog box in kill-buffer to actually work right.
3843         [7].
3844
3845         * eval.c:
3846         * eval.c (For):
3847         * eval.c (Fand):
3848         * eval.c (Fprogn):
3849         * eval.c (Fprog1):
3850         * eval.c (Fprog2):
3851         * eval.c (FletX):
3852         * eval.c (Flet):
3853         * eval.c (condition_case_3):
3854         * eval.c (Feval):
3855         * eval.c (function_argcount):
3856         * eval.c (funcall_lambda):
3857         [1].
3858
3859         * eval.c (type_error): New.
3860         * eval.c (maybe_type_error): New.
3861         * eval.c (continuable_type_error): New.
3862         * eval.c (maybe_continuable_type_error): New.
3863         * eval.c (type_error_with_frob): New.
3864         * eval.c (maybe_type_error_with_frob): New.
3865         * eval.c (continuable_type_error_with_frob): New.
3866         * eval.c (maybe_continuable_type_error_with_frob): New.
3867         New functions for use with structured errors.
3868
3869         * event-Xt.c:
3870         * event-Xt.c (x_event_to_emacs_event):
3871         Buttons are now modifiers too.
3872
3873         * event-Xt.c (emacs_Xt_current_event_timestamp):
3874         Implement new event method.
3875         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
3876
3877         * event-msw.c:
3878         * event-msw.c (ntpipe_shove_writer): [5].
3879         * event-msw.c (mswindows_enqueue_mouse_button_event):
3880         * event-msw.c (mswindows_drain_windows_queue):
3881         * event-msw.c (mswindows_wnd_proc): [7].
3882         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
3883         * event-msw.c (mswindows_modifier_state):
3884         Throughout: support new button modifiers.
3885
3886         * event-msw.c (emacs_mswindows_current_event_timestamp):
3887         Implement new event method.
3888         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
3889
3890         * event-stream.c:
3891         * event-stream.c (event_stream_current_event_timestamp): New.
3892         * event-stream.c (maybe_kbd_translate): New functionality.
3893         * event-stream.c (vars_of_event_stream):
3894         Document new kbd-translate-table functionality.
3895
3896         * event-stream.c (Fcurrent_event_timestamp): New.
3897         New primitive for use in fabricated events.
3898         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
3899
3900         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
3901
3902         * events.c:
3903         * events.c (Fmake_event):
3904         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
3905         [1].
3906         [9].
3907
3908         * events.c (format_event_object): fix gcc warnings.
3909
3910         * events.c (Fevent_timestamp): Document new primitives.
3911
3912         * events.c (TIMESTAMP_HALFSPACE): New.
3913
3914         * events.c (Fevent_timestamp_lessp): New.  New primitive for
3915         comparing timestamps correctly (half-space algorithm).
3916
3917         * events.c (Fevent_modifier_bits): Doc fix.
3918
3919         * events.c (Fevent_modifiers): Major doc addition.
3920         * events.c (event_x_y_pixel_internal): Typo fix.
3921         * events.c (syms_of_events): Declare new primitives.
3922
3923         * events.h:
3924         Update long comment for button modifiers, timestamps.
3925
3926         * events.h (struct event_stream):
3927         New current_event_timestamp method.
3928
3929         * extents.c:
3930         * extents.c (extent_in_region_p):
3931         * extents.c (decode_extent):
3932         * extents.c (Fset_extent_parent):
3933         * extents.c (decode_map_extents_flags):
3934         Fix gcc warnings.
3935         [9].
3936
3937         * extents.c (struct extent_at_arg):
3938         * extents.c (decode_extent_at_flag):
3939         * extents.c (extent_at_mapper):
3940         * extents.c (extent_at_bytind):
3941         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
3942         * extents.c (Fextents_at): New primitive. [9].
3943         * extents.c (symbol_to_glyph_layout): [9].
3944         Support new primitive `extents-at'.
3945
3946
3947         * extents.c (get_text_property_bytind):
3948         extent_at_bytind has another arg.
3949         [9].
3950
3951         * extents.c (syms_of_extents): New primitive.
3952
3953         * file-coding.c (Fmake_coding_system): [1].
3954         * file-coding.c (subsidiary_coding_system): fix gcc warning
3955         * file-coding.c (syms_of_file_coding): [2].
3956
3957         * fileio.c (Fexpand_file_name):
3958         * fileio.c (Fsysnetunam):
3959         * fileio.c (Ffile_exists_p):
3960         * fileio.c (Ffile_executable_p):
3961         * fileio.c (Fverify_visited_file_modtime):
3962         Clean up GCPROing.
3963
3964         * fileio.c (syms_of_fileio): [2].
3965
3966         * filelock.c (lock_file_1):
3967         * filelock.c (current_lock_owner):
3968         * filelock.c (lock_if_free):
3969         * filelock.c (lock_file):
3970         * filelock.c (unlock_file):
3971         Clean up GCPROing.
3972
3973         * fns.c (concat): Fix gcc warning.
3974
3975         * fns.c (Fmember):
3976         * fns.c (Fold_member):
3977         * fns.c (Fmemq):
3978         * fns.c (Fold_memq):
3979         * fns.c (memq_no_quit):
3980         * fns.c (Fassoc):
3981         * fns.c (Fold_assoc):
3982         * fns.c (Fassq):
3983         * fns.c (Fold_assq):
3984         * fns.c (assq_no_quit):
3985         * fns.c (Frassoc):
3986         * fns.c (Fold_rassoc):
3987         * fns.c (Frassq):
3988         * fns.c (Fold_rassq):
3989         * fns.c (rassq_no_quit):
3990         * fns.c (Fdelete):
3991         * fns.c (Fold_delete):
3992         * fns.c (Fdelq):
3993         * fns.c (Fold_delq):
3994         * fns.c (delq_no_quit):
3995         * fns.c (Fremassoc):
3996         * fns.c (Fremassq):
3997         * fns.c (remassq_no_quit):
3998         * fns.c (Fremrassoc):
3999         * fns.c (Fremrassq):
4000         * fns.c (remrassq_no_quit):
4001         * fns.c (Freverse):
4002         * fns.c (mapcar1):
4003         [1].
4004
4005         * frame-msw.c (mswindows_init_frame_1):
4006         * frame-msw.c (mswindows_delete_frame):
4007         Register popups with dialog code so keyboard traversing works.
4008
4009         * frame-tty.c (tty_raise_frame_no_select): [1].
4010
4011         * frame-x.c:
4012         * frame-x.c (x_set_frame_text_value):
4013         * frame-x.c (x_set_frame_properties):
4014         * frame-x.c (x_create_widgets):
4015         [7].
4016
4017         * frame.c:
4018         * frame.c (Fmouse_pixel_position): Minor doc fixes.
4019
4020         * frame.h (wrap_frame): New.
4021         Macro like wrap_device.
4022
4023         * general.c:
4024         * general.c (SYMBOL):
4025         * general.c (syms_of_general):
4026         Major reorg.  This is now just a wrapper and symbols themselves
4027         are listed in general-slots.h.
4028
4029         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
4030         * glyphs-msw.c (mswindows_resource_instantiate): [5].
4031
4032         * glyphs-msw.c (mswindows_native_layout_instantiate):
4033         Add DS_CONTROL so keyboard traversal will work.
4034
4035         * glyphs-widget.c:
4036         * glyphs-widget.c (syms_of_glyphs_widget):
4037         Move some symbols to general-slots.h.
4038
4039         * glyphs-x.c:
4040         * glyphs-x.c (xbm_instantiate_1):
4041         * glyphs-x.c (x_xbm_instantiate):
4042         * glyphs-x.c (x_xface_instantiate):
4043         * glyphs-x.c (autodetect_instantiate):
4044         * glyphs-x.c (cursor_font_instantiate):
4045         * glyphs-x.c (x_update_widget):
4046         * glyphs-x.c (x_widget_instantiate):
4047         * glyphs.c (bitmap_to_lisp_data):
4048         * glyphs.c (pixmap_to_lisp_data):
4049         [7].
4050
4051         * glyphs.c (syms_of_glyphs):
4052         [2].
4053
4054         * gui-x.c:
4055         * gui-x.c (print_widget_value):
4056         * gui-x.c (menu_separator_style_and_to_external):
4057         * gui-x.c (add_accel_and_to_external):
4058         * gui-x.c (button_item_to_widget_value):
4059         * gui-x.c (gui_items_to_widget_values_1):
4060         * gui-x.c (gui_items_to_widget_values):
4061         * gui-x.c (syms_of_gui_x):
4062         * gui-x.c (vars_of_gui_x):
4063         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
4064         [9].
4065
4066         * gui-x.h:
4067         Muleize, prototype changes matching gui-x.c.
4068
4069         * gui.c:
4070         * gui.c (separator_string_p):
4071         * gui.c (gui_item_add_keyval_pair):
4072         * gui.c (make_gui_item_from_keywords_internal):
4073         * gui.c (signal_too_long_error):
4074         * gui.c (parse_gui_item_tree_item):
4075         * gui.c (syms_of_gui):
4076         * gui.c (vars_of_gui):
4077         * gui.h:
4078         menu-no-selection-hook moved here (used by MSWin).
4079         Move some symbols to general-slots.h.
4080         [6].
4081         [9].
4082
4083         * insdel.c (get_buffer_pos_char):
4084         * insdel.c (get_buffer_range_char):
4085         Add GC comments.
4086
4087         * keymap.c (keymap_lookup_directly):
4088         * keymap.c (keymap_store):
4089         * keymap.c (ensure_meta_prefix_char_keymapp):
4090         * keymap.c (describe_map):
4091         * keymap.h:
4092         Support new button modifiers.
4093
4094         * lisp-disunion.h (wrap_object):
4095         * lisp-disunion.h (XSETOBJ):
4096         Rename make_obj to wrap_object.
4097
4098         * lisp-union.h:
4099         * lisp-union.h (make_int):
4100         * lisp-union.h (make_char):
4101         Support wrap_object.
4102
4103         * lisp.h:
4104         * lisp.h (LIST_LOOP):
4105         * lisp.h (EXTERNAL_LIST_LOOP):
4106         * lisp.h (LIST_LOOP_2):
4107         * lisp.h (EXTERNAL_LIST_LOOP_1):
4108         * lisp.h (EXTERNAL_LIST_LOOP_2):
4109         * lisp.h (EXTERNAL_LIST_LOOP_3):
4110         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
4111         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4112         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
4113         * lisp.h (EXTERNAL_ALIST_LOOP_5):
4114         * lisp.h (EXTERNAL_ALIST_LOOP_6):
4115         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
4116         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
4117         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
4118         * lisp.h (struct Lisp_Symbol):
4119         * lisp.h (maybe_continuable_error_with_frob):
4120         Fix up section comments.
4121         Add new types for char to indicate usage.
4122         Delete symbols auto-generated from general-slots.h.
4123         Add prototypes for structured error functions.
4124         Add long comments describing looping macros and change interface
4125         so that lvalues are automatically declared.
4126         Add NO_DECLARE macro in case callers want to declare lvalues
4127         themselves.
4128
4129         * lread.c (read_syntax_error):
4130         * lread.c (continuable_read_syntax_error):
4131         * lread.c (read_structure):
4132         * lread.c (sequence_reader):
4133         * lread.c (read_list_conser):
4134         * lread.c (read_compiled_function):
4135         Rename syntax_error and continuable_syntax_error to avoid clash
4136         with same-named structured error functions.
4137
4138         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
4139         * menubar-msw.c (populate_menu_add_item):
4140         * menubar-msw.c (populate_or_checksum_helper):
4141         [5].
4142         [9].
4143
4144         * menubar-x.c:
4145         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4146         Mule-ize whole file.
4147
4148         * menubar.c (Fnormalize_menu_item_name): Add optimization.
4149
4150         * mule-charset.c (Fmake_charset):
4151         * mule-wnnfns.c (Fwnn_set_param):
4152         [1].
4153
4154         * ntproc.c (create_child):
4155         * ntproc.c (Fwin32_set_current_locale):
4156         Add comments portending doom.
4157
4158         * objects-msw.c:
4159         * objects-msw.c (old_font_enum_callback_2):
4160         * objects-msw.c (font_enum_callback_1):
4161         * objects-msw.c (mswindows_enumerate_fonts):
4162         [5].
4163
4164         * objects-x.c:
4165         * objects-x.c (allocate_nearest_color):
4166         * objects-x.c (x_parse_nearest_color):
4167         * objects-x.c (x_initialize_color_instance):
4168         * objects-x.c (x_print_color_instance):
4169         * objects-x.c (x_finalize_color_instance):
4170         * objects-x.c (x_valid_color_name_p):
4171         * objects-x.c (x_initialize_font_instance):
4172         * objects-x.c (x_print_font_instance):
4173         * objects-x.c (valid_x_font_name_p):
4174         * objects-x.c (truename_via_FONT_prop):
4175         * objects-x.c (truename_via_random_props):
4176         * objects-x.c (truename_via_XListFonts):
4177         * objects-x.c (x_font_truename):
4178         * objects-x.c (x_font_instance_truename):
4179         * objects-x.c (x_font_instance_properties):
4180         * objects-x.c (x_list_fonts):
4181         * objects-x.c (x_find_charset_font):
4182         Mule-ize entire file.
4183         [7].
4184
4185         * objects-x.h:
4186         Mule-verify.
4187
4188         * print.c:
4189         * print.c (std_handle_out_external):
4190         * print.c (debug_print_no_newline):
4191         * print.c (syms_of_print):
4192         Output to all debugger kinds in debug-print.
4193         Fix console-output code under MSWin to actually work.
4194
4195         * process-nt.c (send_signal):
4196         * process-nt.c (nt_create_process):
4197         Use newer Unicode macros.
4198
4199         * process-unix.c (unix_create_process):
4200         * process-unix.c (unix_canonicalize_host_name):
4201         * process-unix.c (unix_open_network_stream):
4202         [7].
4203
4204         * scrollbar-x.c:
4205         Mule-verify.
4206
4207         * search.c (syms_of_search):
4208         [2].
4209
4210         * select-msw.c (mswindows_destroy_selection):
4211         Use LIST_LOOP_2.
4212
4213         * select-x.c (symbol_to_x_atom):
4214         [7].
4215
4216         * select.c (syms_of_select):
4217         [2].
4218
4219         * sound.c (Fplay_sound_file):
4220         [7].
4221
4222         * specifier.c:
4223         * specifier.c (decode_specifier_type):
4224         * specifier.c (Fvalid_specifier_locale_type_p):
4225         * specifier.c (check_valid_locale_or_locale_type):
4226         * specifier.c (decode_locale):
4227         * specifier.c (decode_locale_type):
4228         * specifier.c (decode_locale_list):
4229         * specifier.c (check_valid_domain):
4230         * specifier.c (decode_specifier_tag_set):
4231         * specifier.c (Fcanonicalize_tag_set):
4232         * specifier.c (Fdefine_specifier_tag):
4233         * specifier.c (Fspecifier_tag_predicate):
4234         * specifier.c (check_valid_inst_list):
4235         * specifier.c (check_valid_spec_list):
4236         * specifier.c (decode_how_to_add_specification):
4237         * specifier.c (check_modifiable_specifier):
4238         * specifier.c (specifier_add_spec):
4239         * specifier.c (boolean_validate):
4240         * specifier.c (display_table_validate):
4241         [9].
4242
4243         * specifier.c (syms_of_specifier):
4244         Move some symbols to general-slots.h.
4245         [2].
4246
4247         * symbols.c:
4248         * symbols.c (Fmapatoms):
4249         * symbols.c (Fapropos_internal):
4250         Add GCPROs.
4251
4252         * symbols.c (set_default_buffer_slot_variable):
4253         * symbols.c (set_default_console_slot_variable):
4254         [1].
4255
4256         * symbols.c (defsymbol_massage_name_1):
4257         * symbols.c (defkeyword_massage_name):
4258         * symbols.c (deferror_1):
4259         * symbols.c (deferror):
4260         * symbols.c (deferror_massage_name_and_message):
4261         * symeval.h:
4262         * symeval.h (DEFSYMBOL):
4263         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
4264
4265         * symbols.c (syms_of_symbols):
4266         [2].
4267
4268         * symsinit.h:
4269         * symsinit.h (init_win32): New.
4270         Also new is syms_of_dialog_mswindows.
4271
4272         * syswindows.h:
4273         Add new Unicode macros, missing Cygwin wide-char functions,
4274         convenience conversion macros for Qmswindows_tstr, macros for
4275         encapsulating required MSWin <-> Cygwin filename conversions,
4276         prototype for dynamically-extracted (not in NT 3.51) functions.
4277
4278         * toolbar-x.c:
4279         Mule-verify.
4280
4281         * tooltalk.c (Fadd_tooltalk_message_arg):
4282         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
4283         * tooltalk.c (Fadd_tooltalk_pattern_arg):
4284         [7].
4285
4286         * tooltalk.c (syms_of_tooltalk):
4287         [2].
4288
4289         * unexnt.c:
4290         * unexnt.c (unexec):
4291         Fix up headers, declaration of unexec() to be more standard.
4292
4293 2000-07-20  Martin Buchholz  <martin@xemacs.org>
4294
4295         * offix.h: Revert change to guard macros - they're used in offix.c!
4296
4297 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4298
4299         * lisp.h: Defsubred Fdelete.
4300
4301         * console-msw.h:  (msprinter_default_printer): Added.
4302
4303         * console-msw.c (msprinter_canonicalize_console_connection):
4304         (msprinter_canonicalize_device_connection): Added.
4305
4306         * device-msw.c (msprinter_default_printer):
4307         (Fmswingows_get_default_printer): 
4308         (signal_enum_priner_error): 
4309         (Fmswingows_printer_list): Added.
4310
4311 2000-07-19  Martin Buchholz <martin@xemacs.org>
4312
4313         * XEmacs 21.2.35 is released.
4314
4315 2000-07-19  Martin Buchholz  <martin@xemacs.org>
4316
4317         * select-x.c (x_handle_selection_request): 
4318         Text selected in xemacs and pasted into xterm failed to appear.
4319         Spelling fixes and cosmetic changes.
4320
4321 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4322
4323         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
4324         XEmacs frame (fix for doubling chars in dialog boxes).
4325
4326 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
4327
4328         * select.c (select_convert_in, select_convert_out):
4329         Don't call intern() every time.
4330
4331         * select.c (Qselect_convert_in, Qselect_convert_out): New.
4332         * select.c (vars_of_select): Initialise them.
4333
4334 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
4335
4336         * select.c (selection-coercible-types): New.
4337
4338         * select.c (own-selection-internal):
4339         * select.c (get-selection-internal):
4340         MULE bug fix - these should default to COMPOUND_TEXT and not
4341         STRING for MULE. I think.
4342
4343         * select.c (select_convert_out): Use selection-coercible-types
4344         to find types that we can attempt to perform coercions on.
4345
4346 2000-07-18  Martin Buchholz  <martin@xemacs.org>
4347
4348         * mule-wnnfns.c:
4349         * mule-canna.c:
4350         Add coding: cookie to identify encoding.
4351
4352         * mule-canna.c (CANNA_mode_keys): make static.
4353         Use proper prototypes, even for functions of no arguments.
4354         Remove external prototype for Fding().
4355
4356         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
4357
4358         * select.c (syms_of_select): Add missing DEFSUBR.
4359
4360 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
4361
4362         * select.c (get_selection_internal, own_selection_internal):
4363         Make the type default to STRING, rather than placing a nil type
4364         into Vselection_alist.
4365
4366 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
4367
4368         * gpmevent.c (tty_selection_exists_p):
4369         * gpmevent.c (tty_own_selection):
4370         Updated parameter lists.
4371
4372 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
4373
4374         * select.h (selection-alist): Removed declaration.
4375
4376         * select.h (get_local_selection):
4377         * select.c (get_local_selection):
4378         Made static.
4379
4380         * select.h (convert_selection): Removed declaration.
4381         * select.c (convert_selection): Removed.
4382         This function belongs in Lisp.
4383
4384         * select.h (select_convert_in): Declare.
4385         * select.h (select_convert_out): Declare.
4386         * select.c (select_convert_in): New.
4387         * select.c (select_convert_out): New.
4388         New conversion functions for other files to call.
4389
4390         * select.h (select_notify_buffer_kill): Declare.
4391         * select.c (select_notify_buffer_kill): New.
4392         New functions that get called from kill-buffer.
4393
4394         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
4395         X-specific lisp code.
4396
4397         * select.h: Declare some of the lisp-visible functions for
4398         external use.
4399
4400         * select.c (clean_local_selection_data): Removed. This was
4401         a disgusting function, and previously should have been in
4402         select-x.c in any case. The functionality is now provided
4403         in select-convert-from-integer (select.el).
4404
4405         * select.c (available-selection-types): Fixed stupidity where
4406         INTEGER and ATOM got added twice. Also add STRING when we see an
4407         extent.
4408
4409         * select.c (get-selection-internal): Removed symbol stripping. No
4410         longer causes conversion when data comes from the internal cache.
4411
4412         * select.c (syms_of_select): Added new functions.
4413
4414         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
4415         error checking - previously this called abort!
4416         
4417         * select-x.c (x_own_selection): Changed comment.
4418         
4419         * select-x.c (x_handle_selection_request): Use select_convert_out.
4420         Don't mess with selection-alist; it's an internal variable of select.c.
4421         
4422         * select-x.c (x_get_foreign_selection): Use select_convert_in.
4423         
4424         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
4425         rather than messing with selection-alist.
4426         
4427         * select-msw.c (mswindows_get_foreign_selection):
4428         Use TO_INTERNAL_FORMAT rather than hacking.
4429
4430 2000-07-14  Martin Buchholz  <martin@xemacs.org>
4431
4432         * process-unix.c (unix_open_multicast_group):
4433         (unix_open_multicast_group): Remove useless casts.
4434
4435 2000-07-13  Martin Buchholz  <martin@xemacs.org>
4436
4437         * sound.c (Fplay_sound): Fix `unused variable' warning.
4438
4439         * emacs.c (main): Use correct type for _environ on SCO5.
4440
4441 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
4442
4443         * console.h (own_selection_method):
4444         * console.h (selection_exists_p_method):
4445         * console.h (available_selection_types_method): New.
4446         * console.h (register_selection_data_type_method): New.
4447         * console.h (selection_data_type_name): New.
4448         
4449         * console-msw.h (mswindows_destroy_selection): Declare it.  New
4450         function & alist to track GlobalAlloc()'d handles that need
4451         releasing when the clipboard data gets replaced or emptied.
4452
4453         * event-msw.c (mswindows_wnd_proc): Call it.
4454
4455         * lisp.h, general.c (Qappend): New symbol representing a
4456         `how-to-add' mode.
4457         
4458         * select.c (own-selection-internal):
4459         * select.c (selection-exists-p):
4460         * select.c (available-selection-types): New.
4461         * select.c (register-selection-data-type): New.
4462         * select.c (selection-data-type-name): New.  New functions to deal
4463         with device-specific selection data formats.
4464         * select.c (selection-converter-out-alist): Renamed.
4465         * select.c (selection-converter-in-alist): New.
4466         * select.c (selection-appender-alist): New.  Added new alists.
4467         * select.c (syms_of_select, vars_of_select): Added new symbols &
4468         variables.
4469         * select.c (get_local_selection): Split.
4470         * select.c: Removed spurious type checking - selections may now be
4471         of any type, not just strings.
4472         * select.c (own-selection-internal):
4473
4474         * select.h, select.c (convert_selection): New. Created
4475         convert_selection() function based on get_local_selection().
4476         * select.h, select.c (QCF_*): New symbols representing mswindows
4477         clipboard formats.
4478         * select.h, select.c (Qreplace_all, Qreplace_existing): New
4479         symbols representing `how-to-add' modes.
4480
4481         * select-msw.c (x_sym_p): New.
4482         * select-msw.c (symbol_to_ms_cf): New.
4483         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
4484         symbols & clipboard formats. Can also handle string names.
4485         * select-msw.c (mswindows_own_selection):
4486         * select-msw.c (mswindows_selection_exists_p):
4487         Added `data-type' parameter. Use it.
4488         * select-msw.c (mswindows_available_selection_types): New.
4489         * select-msw.c (mswindows_register_selection_data_type): New.
4490         * select-msw.c (mswindows_selection_data_type_name): New.
4491         * select-msw.c (mswindows_own_selection):
4492         * select-msw.c (mswindows_get_foreign_selection):
4493         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
4494         * select-msw.c (console_create_select_mswindows): Added new methods.
4495         * select-msw.c (mswindows_destroy_selection): New.
4496         * select-msw.c (Vhandle_alist): New list.
4497         * select-msw.c (mswindows_own_selection):
4498
4499         * select-x.c (x_own_selection):
4500         * select-x.c (x_selection_exists_p):
4501         * select-x.c: Added some comments about maybe using new
4502         functionality.
4503         * select-x.c (x_own_selection):
4504
4505         * specifier.c: Remove definition of Qappend (now in general.c)
4506         * specifier.c (syms_of_specifier): Remove Qappend.
4507
4508 2000-07-12  Martin Buchholz  <martin@xemacs.org>
4509
4510         * config.h.in: Add socklen_t.
4511
4512         * s/decosf4-0.h: No special compiler flags needed or desired.
4513         In particular, undefine _BSD for DEC OSF 4.0.
4514
4515 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4516
4517         * redisplay-msw.c (msprinter_frame_output_end): Added.
4518         (console_type_create_redisplay_mswindows): Referred the above.
4519
4520         * frame.c (setup_frame_without_minibuffer): Do not create a
4521         default minibuffer frame on a printer device.
4522
4523         * frame-msw.c (apply_dc_geometry): Added.
4524         (msprinter_start_page): 
4525         (msprinter_init_frame_3): 
4526         (msprinter_eject_page): Use it.
4527
4528         * console-msw.h (struct msprinter_frame): Added pix_left and top,
4529         and removed residual duplex and orientation properties.
4530
4531 2000-07-11  Martin Buchholz  <martin@xemacs.org>
4532
4533         * eval.c (function_argcount): Work around a DEC CC compiler bug.
4534
4535         * unexalpha.c: Remove system prototypes from C sources!
4536
4537 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
4538
4539         * eval.c: Remove references to M-x edit-options in DEFUNs for
4540         `defvar' and `defconst'.
4541
4542 2000-07-09  Martin Buchholz  <martin@xemacs.org>
4543
4544         * config.h.in: Remove SMART_INCLUDE hackery.
4545         
4546         PostgreSQL hacking:
4547         * config.h.in: Don't use SMART_INCLUDE.
4548
4549         * postgresql.h: Include libpq-fe.h here.  Fix typo.
4550         * inline.c: Simply #include "postgresql.h"
4551         * postgresql.c:
4552         - Don't use SMART_INCLUDE
4553         - Use simply "const".
4554         - Use standard doc string conventions.
4555         - Use correct type for result of PQstatus.
4556
4557 2000-07-09  Martin Buchholz  <martin@xemacs.org>
4558
4559         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
4560
4561         C++ compilation changes.
4562         * config.h.in (EXTERN_C): Define.
4563         * config.h.in (not): This is also a C++ keyword.
4564         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
4565         * cm.c: Use EXTERN_C.
4566         * redisplay-tty.c: Use EXTERN_C.
4567         * sysdep.c: Use EXTERN_C.  Remove Gould support.
4568
4569 2000-07-09  Martin Buchholz  <martin@xemacs.org>
4570
4571         * general.c: Remove duplicate definition for Qfunction.
4572
4573 2000-07-08  Ben Wing  <ben@xemacs.org>
4574
4575         * device-msw.c (msprinter_init_device):
4576         * device-msw.c (sync_printer_with_devmode):
4577         * device-msw.c (handle_devmode_changes):
4578         * device-msw.c (print_dialog_worker):
4579         * device-msw.c (Fmsprinter_apply_settings):
4580         * device-msw.c (hash_devmode):
4581         * device-msw.c (Fmsprinter_settings_despecialize):
4582         use Qmswindows_tstr, not Qctext.
4583         
4584         * vm-limit.c (check_memory_limits):
4585         avoid infinite loop printing warning messages.
4586
4587 2000-07-05  Craig Lanning  <lanning@scra.org>
4588
4589         * Makefile.in.in: Add support for including the Windows resources
4590         when building with the cygwin and mingw targets.
4591
4592         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
4593         not set or not correct.
4594         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
4595         (init_initial_directory): Don't try to use $PWD on the
4596         WIN32_NATIVE target.
4597
4598         * s\cygwin32.h:
4599         [[Add -mwindows to eliminate console window.]] not required --ben
4600         (HAVE_NATIVE_SOUND): removed; now handled by configure.
4601         (MAIL_USE_POP): removed; now handled by configure.
4602
4603         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
4604         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
4605         (HAVE_NATIVE_SOUND): removed; now handled by configure.
4606         (MAIL_USE_POP): removed; now handled by configure.
4607         (ENCAPSULATE_STAT): from Dan Holmsand, added.
4608         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
4609         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
4610         constant string.
4611         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
4612         up from <winsock.h> via systime.h.
4613         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
4614         (getpagesize): from Dan Holmsand, added.
4615         Added #endif which was left dangling by Ben's mega patch; added
4616         comment to help prevent this in the future.
4617
4618         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
4619
4620 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4621
4622         * console-msw.h (struct mswindows_device): Removed unnecessary
4623         cached device geometry values.
4624         Added update_tick and an accessor macro.
4625         (Lisp_Devmode): Added lrecord declaration. 
4626         (struct msprinter_device): Contain devmode as a Lisp object.
4627         Added mswindows_get_selected_frame_hwnd();
4628
4629         * console.h (struct console_methods): Indentation nitpicking.
4630
4631         * device-msw.c (mswindows_init_device): Do not initialize geometry
4632         cache. Initialize update tick.
4633         (mswindows_device_system_metrics): Ask the device for its geometry.
4634         (global_free_2_maybe): 
4635         (devmode_to_hglobal): 
4636         (handle_printer_changes): 
4637         (ensure_not_printing): 
4638         (print_dialog_worker): 
4639         (Fmsprinter_print_setup_dialog): 
4640         (Fmsprinter_print_dialog): 
4641         (plist_get_margin): 
4642         (plist_set_margin): 
4643         (Fmsprinter_page_setup_dialog): Added functions.
4644         (sync_printer_with_devmode): 
4645         (handle_devmode_changes): 
4646         (Fmsprinter_get_settings): 
4647         (Fmsprinter_select_settings): 
4648         (Fmsprinter_apply_settings):
4649         (allocate_devmode): 
4650         (Fmsprinter_settings_copy): 
4651         (Fmsprinter_settings_despecialize): 
4652         (print_devmode): 
4653         (finalize_devmode): 
4654         (equal_devmode): 
4655         (hash_devmode): Added functions
4656         (syms_of_device_mswindows): Init devmode lrecord class.
4657
4658         * device.h: Added an exfun for find-device.
4659
4660         * event-msw.c (mswindows_wnd_proc): Do not update the cached
4661         geometry; although, recreate the device compatible DC.
4662
4663         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
4664         (msprinter_init_frame_3):
4665         (msprinter_frame_property): 
4666         (msprinter_internal_frame_property_p):
4667         (msprinter_frame_properties): 
4668         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
4669         print job properties (will move to device settings).
4670
4671         * lisp.h: Added symbols.
4672
4673         * general.c (syms_of_general): Declared them.
4674
4675         * hash.c (string_hash): Added.
4676
4677         * lrecord.h (lrecord_type): Added devmode lrecord type.
4678
4679 2000-07-02  Mike Sperber <mike@xemacs.org>
4680
4681         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
4682         FreeBSD 4.0.
4683
4684 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4685
4686         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4687         integer.
4688
4689 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4690
4691         * data.c (Fstring_to_number): Don't recognize floating point if
4692         base is not 10.
4693
4694 2000-06-22  Martin Buchholz  <martin@xemacs.org>
4695
4696         * glyphs-widget.c (tab_control_query_geometry):
4697         (widget_query_geometry):
4698         (button_query_geometry):
4699         * glyphs.c (text_query_geometry):
4700         Enforce type correctness.
4701
4702 2000-06-18  Martin Buchholz  <martin@xemacs.org>
4703
4704         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
4705         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
4706
4707 2000-06-17  Martin Buchholz  <martin@xemacs.org>
4708
4709         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
4710         conflicts with gcc's fixincluded version of FOO.h.
4711
4712         * glyphs.h (image_instance_geometry): Remove trailing `,'
4713
4714 2000-06-08  Mike Alexander  <mta@arbortext.com>
4715
4716         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
4717         (shove_thread): Don't write the same output twice
4718         (make_ntpipe_output_stream): Increase priority of shove thread
4719         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
4720         chance to run
4721         (ntpipe_shove_closer): Don't delete the pipe until we're done with
4722         it.
4723
4724 2000-06-12  Ben Wing  <ben@xemacs.org>
4725
4726         * s\mingw32.h (sigset):
4727         * s\windowsnt.h (sigset):
4728         rename msw_ to mswindows_ for consistency with general convention.
4729
4730 2000-06-12  Ben Wing  <ben@xemacs.org>
4731
4732         * console-msw.c:
4733         * console-msw.c (mswindows_get_console_hwnd):
4734         * console-msw.c (mswindows_ensure_console_allocated):
4735         * console-msw.c (mswindows_hide_console):
4736         * console-msw.c (mswindows_show_console):
4737         * console-msw.c (mswindows_ensure_console_buffered):
4738         * console-msw.c (mswindows_output_console_string):
4739         * console-msw.c (mswindows_windows9x_p):
4740         * console-msw.h:
4741         * device-msw.c (mswindows_get_workspace_coords):
4742         * device-msw.c (mswindows_device_system_metrics):
4743         * dialog-msw.c (mswindows_popup_dialog_box):
4744         * event-msw.c (mswindows_wnd_proc):
4745         * frame-msw.c (mswindows_size_frame_internal):
4746         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
4747         * menubar-msw.c (displayable_menu_item):
4748         * menubar-msw.c (mswindows_char_is_accelerator):
4749         * nt.c:
4750         * nt.c (mswindows_sigset):
4751         * nt.c (mswindows_sigrelse):
4752         * nt.c (mswindows_sigpause):
4753         * nt.c (mswindows_raise):
4754         * nt.c (timer_proc):
4755         * ntproc.c:
4756         * ntproc.c (find_child_console):
4757         * ntproc.c (sys_kill):
4758         * print.c:
4759         * print.c (std_handle_out_external):
4760         * process-nt.c (find_child_console):
4761         * process-nt.c (send_signal_the_95_way):
4762         * process-nt.c (ensure_console_window_exists):
4763         * process-nt.c (nt_create_process):
4764         * syssignal.h:
4765         rename msw_ to mswindows_ for consistency with general convention.
4766
4767         * emacs.c:
4768         * dumper.c:
4769         include nt.h, not syswindows.h.
4770
4771         * nt.c (mswindows_fstat):
4772         * nt.c (mswindows_stat):
4773         prefix mswindows_ instead of attempting to directly override the
4774         library functions.  fix declarations.
4775         
4776         * nt.h:
4777         include syswindows.h.  move some sysdep.h stuff here.
4778         
4779         * ntheap.h:
4780         include syswindows.h, not <windows.h>.
4781
4782         * ntplay.c:
4783         clean up headers.
4784         
4785         * sysdep.c:
4786         clean up headers.
4787         
4788         * sysdep.c (sys_fstat):
4789         * sysdep.c (sys_stat):
4790         call mswindows versions when appropriate.
4791         
4792         * sysdep.h:
4793         move mswin decls to nt.h.
4794         
4795         * syswindows.h:
4796         add long comment describing appropriate use of the various windows
4797         headers.
4798
4799 2000-06-11  Ben Wing  <ben@xemacs.org>
4800
4801         * device-x.c: Correct doc string for sixth arg of x-get-resource.
4802
4803 2000-06-10  Ben Wing  <ben@xemacs.org>
4804
4805         * Makefile.in.in (release):
4806         Correction to make sure xemacs.exe always dumped when correct.
4807         
4808         * alloca.c:
4809         * balloon_help.c:
4810         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
4811         
4812         * buffer.c (set_buffer_internal):
4813         [[[[2]]]]: Remove HAVE_FEP code.
4814
4815         * buffer.c (init_initial_directory):
4816         [3].
4817         
4818         * bytecode.c:
4819         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
4820         individual files.
4821         
4822         * callproc.c:
4823         * callproc.c (call_process_cleanup):
4824         * callproc.c (Fold_call_process_internal):
4825         * callproc.c (child_setup):
4826         * callproc.c (getenv_internal):
4827         * callproc.c (init_callproc):
4828         * callproc.c (vars_of_callproc):
4829         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
4830         __CYGWIN32__ -> CYGWIN.
4831         DOS_NT -> WIN32_NATIVE.
4832         Remove MSDOS support/references, converting to WIN32_NATIVE
4833           where correct.
4834         __MINGW32__ -> MINGW.
4835         Fix windows.h includes.
4836         Remove bogus HAVE_NTGUI.
4837
4838         * config.h.in:
4839         [2].
4840         
4841         * console-msw.c:
4842         mswindows_message_outputted added for use in allowing startup
4843         errors on the console to be seen.
4844         
4845         * console-msw.c (msw_ensure_console_allocated):
4846         * console-msw.c (msw_output_console_string):
4847         * console-msw.c (DHEADER):
4848         * console-msw.c (DOPAQUE_DATA):
4849         * console-msw.c (DEVENT):
4850         * console-msw.c (DCONS):
4851         * console-msw.c (DCONSCDR):
4852         * console-msw.c (DSTRING):
4853         * console-msw.c (DVECTOR):
4854         * console-msw.c (DSYMBOL):
4855         * console-msw.c (DSYMNAME):
4856         Fix warnings.
4857         
4858         * console-stream.c (stream_init_console):
4859         Fix text/binary problems.
4860         
4861         * device-msw.c:
4862         * device-msw.c (mswindows_finish_init_device):
4863         * device-msw.c (mswindows_delete_device):
4864         [1].
4865         
4866         * device.c (handle_asynch_device_change):
4867         [3].
4868         
4869         * dgif_lib.c:
4870         * dgif_lib.c (DGifOpenFileName):
4871         * dgif_lib.c (DGifOpenFileHandle):
4872         * dgif_lib.c (DGifGetLine):
4873         * dgif_lib.c (DGifGetPixel):
4874         Added config.h/lisp.h, fix up includes.
4875         [1].
4876         
4877         * dired-msw.c:
4878         [4].
4879         
4880         * dired.c:
4881         * dired.c (file_name_completion):
4882         * dired.c (Ffile_attributes):
4883         * dired.c (syms_of_dired):
4884         [1].
4885         
4886         * dumper.c:
4887         * dumper.c (pdump_file_unmap):
4888         * dumper.c (pdump_load):
4889         [1].
4890         
4891         * editfns.c:
4892         * editfns.c (Ftemp_directory):
4893         * editfns.c (user_login_name):
4894         * editfns.c (Fuser_real_login_name):
4895         * editfns.c (get_home_directory):
4896         [1].
4897         
4898         * elhash.c (finish_marking_weak_hash_tables):
4899         [[[[5]]]]: Fix GCC warnings.
4900         
4901         * emacs.c:
4902         * emacs.c (mswindows_handle_hardware_exceptions):
4903         * emacs.c (make_arg_list_1):
4904         * emacs.c (main_1):
4905         * emacs.c (Fkill_emacs):
4906         * emacs.c (Fdump_emacs):
4907         [1].
4908         Fix problems with nested crashes, add long comment.
4909         
4910         * event-Xt.c (init_event_Xt_late):
4911         [1].
4912         
4913         * event-msw.c:
4914         * event-msw.c (mswindows_dde_callback):
4915         * event-msw.c (mswindows_handle_sticky_modifiers):
4916         * event-msw.c (mswindows_wnd_proc):
4917         [1].
4918         [5].
4919         
4920         * events.c (character_to_event):
4921         [1].
4922         
4923         * fileio.c:
4924         * fileio.c (Ffile_name_directory):
4925         * fileio.c (Ffile_name_nondirectory):
4926         * fileio.c (directory_file_name):
4927         * fileio.c (Fexpand_file_name):
4928         * fileio.c (Fsubstitute_in_file_name):
4929         * fileio.c (Ffile_name_absolute_p):
4930         * fileio.c (check_executable):
4931         * fileio.c (Ffile_readable_p):
4932         * fileio.c (Ffile_accessible_directory_p):
4933         * fileio.c (Ffile_modes):
4934         * fileio.c (Funix_sync):
4935         * fileio.c (vars_of_fileio):
4936         [1]. [4].
4937
4938         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
4939         
4940         Expand getdefdir defn.
4941         Fix bogus rename() comment.
4942
4943         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
4944         to use standard XEmacs include files, e.g. sysfile.h, rather
4945         than system-specific includes.
4946         
4947         * fns.c:
4948         * fns.c (Fsubseq):
4949         [5]. [6].
4950         
4951         * frame.c (vars_of_frame):
4952         [1].
4953         
4954         * getloadavg.c:
4955         * getloadavg.c (getloadavg):
4956         [1]. [6].
4957         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
4958         (We don't use it elsewhere in the code; just add a comment.)
4959         
4960         * gif_io.c:
4961         [6].
4962         Add config.h.
4963         
4964         * glyphs-msw.c:
4965         * glyphs-msw.c (mswindows_resource_instantiate):
4966         [1].
4967         
4968         * glyphs-x.c (x_native_layout_instantiate):
4969         [5].
4970         
4971         * gui-msw.c (Fmswindows_shell_execute):
4972         [1].
4973         
4974         * insdel.c:
4975         [4].
4976         
4977         * lisp.h:
4978         [4]. [5].
4979         
4980         * lread.c (locate_file_in_directory_mapper):
4981         [1].
4982         
4983         * lstream.c:
4984         [4].
4985         
4986         * mem-limits.h:
4987         * mem-limits.h (get_lim_data):
4988         [1].
4989         
4990         * menubar-msw.c:
4991         [4].
4992         
4993         * ndir.h:
4994         [1].
4995         
4996         * nt.c:
4997         * nt.c (getwd):
4998         * nt.c (closedir):
4999         * nt.c (rva_to_section):
5000         * nt.c (mswindows_executable_type):
5001         [1]. [6].
5002         Fix closedir() defn.
5003         
5004         * nt.h:
5005         [[[[8]]]]: *_OK defs moved to sysfile.h.
5006         
5007         * ntproc.c:
5008         [6]. [7].
5009         
5010         * objects-x.c:
5011         [4].
5012         
5013         * print.c:
5014         * print.c (std_handle_out_external):
5015         [1]. [4].
5016         
5017         * process-nt.c:
5018         * process-nt.c (nt_create_process):
5019         [6].
5020         try to fix process quoting somewhat.
5021         
5022         * process-unix.c (unix_create_process):
5023         [1].
5024         
5025         * process.c:
5026         * process.c (vars_of_process):
5027         Add Vnull_device.
5028         
5029         * process.h:
5030         [1].
5031         
5032         * realpath.c:
5033         * realpath.c (xrealpath):
5034         [1].
5035         
5036         * redisplay-tty.c (init_tty_for_redisplay):
5037         [3].
5038         
5039         * redisplay.c:
5040         [4]. [6].
5041         
5042         * scrollbar-msw.c:
5043         [4].
5044         
5045         * sheap.c:
5046         * sheap.c (more_static_core):
5047         * sheap.c (report_sheap_usage):
5048         [5]. [6].
5049         
5050         * signal.c:
5051         * signal.c (alarm_signal):
5052         [1]. [6]. 
5053         
5054         * sound.c:
5055         [6].
5056         
5057         * strftime.c:
5058         * strftime.c (zone_name):
5059         [1]. [5].
5060         
5061         * symsinit.h (init_sunpro):
5062         [1].
5063         
5064         * syscommctrl.h:
5065         commctrl.h not in Cygwin b20.1.
5066         
5067         * sysdep.c:
5068         * sysdep.c (endif):
5069         * sysdep.c (sys_subshell):
5070         * sysdep.c (init_baud_rate):
5071         * sysdep.c (emacs_get_tty):
5072         * sysdep.c (emacs_set_tty):
5073         * sysdep.c (tty_init_sys_modes_on_device):
5074         * sysdep.c (init_system_name):
5075         * sysdep.c (sys_open):
5076         * sysdep.c (interruptible_open):
5077         * sysdep.c (sys_fopen):
5078         * sysdep.c (sys_mkdir):
5079         * sysdep.c (sys_rename):
5080         * sysdep.c (get_process_times_1):
5081         [1]. [6].
5082         
5083         * sysdep.h:
5084         [1].
5085         
5086         * sysdir.h:
5087         * sysdir.h (DIRENTRY_NONEMPTY):
5088         [1]. [6].
5089         
5090         * sysdll.c (dll_init):
5091         * sysdll.h:
5092         [1].
5093                 
5094         * sysfile.h:
5095         [1]. [6]. [8].
5096         added text/binary defs.
5097         
5098         * sysfloat.h:
5099         [1].
5100         
5101         * sysproc.h:
5102         * sysproc.h (EDESTADDRREQ):
5103         * sysproc.h (poll_fds_for_input):
5104         [1]. [6].
5105         
5106         * syspwd.h:
5107         [6].
5108         
5109         * syssignal.h:
5110         [1].
5111         
5112         * systime.h:
5113         [1]. [6].
5114         
5115         * systty.h:
5116         [1].
5117         
5118         * syswindows.h:
5119         [1].
5120         Always define WIN32_LEAN_AND_MEAN.
5121         
5122         * unexcw.c (unexec):
5123         [5].
5124         
5125         * unexec.c:
5126         * unexec.c (copy_text_and_data):
5127         * unexec.c (adjust_lnnoptrs):
5128         [1].
5129         
5130         * unexnt.c:
5131         * unexnt.c (_start):
5132         [1].
5133         
5134 2000-06-07  Ben Wing  <ben@xemacs.org>
5135
5136         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
5137         was used only as a model.  We've long since extracted any useful
5138         logic or code out of this. (I just did an exhaustive search.)
5139
5140         * s\msdos.h: Removed.
5141
5142         * s\windows95.h: Removed.
5143
5144 2000-06-10  Ben Wing  <ben@xemacs.org>
5145
5146         * s\cygwin32.h:
5147         [1]. [5].
5148         Don't use extern with fun defs.
5149         
5150         * s\mingw32.h:
5151         [1]. [7].
5152         Remove nt\inc include.
5153         Remove getdisk, getdefdir. (The former is unused, the latter
5154         expanded in fileio.h.)
5155         
5156         * s\windowsnt.h:
5157         * s\windowsnt.h (WIN32_NATIVE):
5158         * s\windowsnt.h (HAVE_STRCASECMP):
5159         [1]. [7].
5160         Add long comment about preprocessor changes.
5161         Remove getdisk, getdefdir. (The former is unused, the latter
5162         expanded in fileio.h.)
5163
5164 2000-06-10  Ben Wing  <ben@xemacs.org>
5165
5166         * m\arm.h:
5167         * m\delta.h:
5168         * m\intel386.h:
5169         * m\sequent.h:
5170         * m\template.h:
5171         * m\windowsnt.h:
5172         [1].
5173         Remove bogus/unused NO_SOCK_SIGIO.
5174         
5175 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
5176
5177         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
5178         not an Emchar.
5179
5180 2000-06-04  Mike Sperber <mike@xemacs.org>
5181
5182         * casetab.c (set_case_table): For `set-standard-case-table',
5183         actually deposit the new case tables where the rest of XEmacs can
5184         see them.
5185
5186 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
5187
5188         * data.c (Faset): Don't cast XCHAR() to unsigned char.
5189
5190 2000-06-05  Ben Wing  <ben@xemacs.org>
5191
5192         * callproc.c (child_setup): Don't do close_load_descs() under
5193         MS Windows.  Put in a comment explaining why.
5194
5195 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
5196
5197         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
5198         Toolkit shell" which breaks `kill-compilation' on Windows NT
5199         native, retaining STDERR handling improvements.
5200
5201 2000-06-01  Andreas Jaeger  <aj@suse.de>
5202
5203         * s/s390.h: Support for S390, based on a patch by Martin
5204         Schwidefsky <schwidefsky@de.ibm.com>.
5205
5206 2000-05-30  Andy Piper  <andy@xemacs.org>
5207
5208         * window.c (allocate_window): 
5209         (make_dummy_parent): 
5210         (Fset_window_configuration): use new hashtable type.
5211
5212         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY): 
5213         (struct image_instantiator_methods): 
5214         (struct Lisp_Image_Instance): make instance geometry signed.
5215
5216         * glyphs.c (instantiate_image_instantiator): 
5217         (image_instance_query_geometry): 
5218         (image_instance_layout): 
5219         (image_instance_layout): 
5220         (query_string_geometry): 
5221         (text_query_geometry): 
5222         (image_instantiate): 
5223         (image_instantiate): 
5224         (cache_subwindow_instance_in_frame_maybe): 
5225         (subwindow_query_geometry): make instance geometry signed.
5226
5227         * glyphs-widget.c (widget_query_geometry): 
5228         (widget_layout): 
5229         (button_query_geometry): 
5230         (tree_view_query_geometry): 
5231         (tab_control_query_geometry): 
5232         (layout_query_geometry): 
5233         (layout_layout): 
5234         (native_layout_layout): make instance geometry signed.
5235
5236 2000-05-29  Olivier Galibert  <galibert@pobox.com>
5237
5238         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
5239         constant.
5240
5241         * general.c (syms_of_general): Add Qfull_assoc symbol.
5242
5243         * data.c (finish_marking_weak_lists): Mark full-assoc lists
5244         correctly.
5245         (decode_weak_list_type): Decode full-assoc type.
5246         (encode_weak_list_type): Encode full-assoc type.
5247         (Fmake_weak_list): Update doc string.
5248
5249 2000-05-30  Andy Piper  <andy@xemacs.org>
5250
5251         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
5252
5253         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
5254         (decode_hash_table_weakness): ditto.
5255         (Fhash_table_weakness): ditto.
5256         (Fhash_table_type): ditto.
5257         (finish_marking_weak_hash_tables): ditto.
5258         (hash_table_weakness_validate): ditto.
5259         (syms_of_elhash): ditto.
5260
5261 2000-05-28  Martin Buchholz <martin@xemacs.org>
5262
5263         * XEmacs 21.2.34 is released.
5264
5265 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
5266
5267         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
5268         start cache.
5269         (updating_line_start_cache): Gone.
5270         (regenerate_window): Replace resetting of VERTICAL_CLIP by
5271         generic code to force a minimum of 1 line laid out in the
5272         CMOTION_DISP case.
5273
5274 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
5275
5276         * glyphs.c (instantiate_image_instantiator): Check for initialized
5277         height & width no longer special cases IMAGE_NOTHING.
5278         (nothing_instantiate): Set height and width of instance.
5279
5280 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
5281
5282         * unexelf.c (unexec): Search for ".data" section.
5283         Initialize new_data2_offset from old_data_index.
5284         Remove redundant check for ElfW.
5285
5286 2000-05-23  Andy Piper  <andy@xemacs.org>
5287
5288         * glyphs.c (get_image_instantiator_governing_domain): allow more
5289         specific domains as the governing domain rather than expecting an
5290         exact match. This fixes problems with layouts.
5291
5292 2000-05-22  Andy Piper  <andy@xemacs.org>
5293
5294         * redisplay-output.c (compare_runes): check for non-images
5295
5296         * glyphs.c (set_glyph_dirty_p): ditto.
5297         (update_glyph_cachel_data): ditto.
5298
5299         * glyphs-widget.c (layout_post_instantiate): ditto.
5300         (layout_post_instantiate): ditto.
5301
5302         * event-msw.c (mswindows_wnd_proc): warning removal.
5303
5304 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
5305
5306         * s\mingw32.h: Added #undef for CLASH_DETECTION.
5307
5308         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
5309
5310         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
5311
5312         * nt.c (rva_to_section): mingw32 needs rva_to_section.
5313         (mswindows_executable_type): mingw32 now has enough headers for
5314         this to work.
5315
5316 2000-05-20  Andy Piper  <andy@xemacs.org>
5317
5318         * console-msw.c (mswindows_output_last_error): ; -> ,
5319
5320 2000-05-12  Andy Piper  <andy@xemacs.org>
5321
5322         * console-msw.c (FROB): compare ints with ints.
5323
5324 2000-05-11  Andy Piper  <andy@xemacs.org>
5325
5326         * glyphs-x.c (x_finalize_image_instance): make minimal build
5327         happy.
5328
5329 2000-05-20  Ben Wing  <ben@xemacs.org>
5330
5331         * event-Xt.c:
5332         * event-Xt.c (vars_of_event_Xt):
5333         move modifier-keys-are-sticky to event-stream.c.
5334         
5335         * event-msw.c:
5336         * event-msw.c (mswindows_enqueue_mouse_button_event):
5337         * event-msw.c (key_needs_default_processing_p):
5338         * event-msw.c (XEMSW_LCONTROL):
5339         * event-msw.c (mswindows_handle_sticky_modifiers):
5340         * event-msw.c (FROB):
5341         * event-msw.c (clear_sticky_modifiers):
5342         * event-msw.c (output_modifier_keyboard_state):
5343         * event-msw.c (output_alt_keyboard_state):
5344         * event-msw.c (mswindows_wnd_proc):
5345         * event-msw.c (mswindows_modifier_state):
5346         * event-msw.c (emacs_mswindows_handle_magic_event):
5347         implement sticky modifiers.
5348         
5349         * event-stream.c:
5350         * event-stream.c (vars_of_event_stream):
5351         move modifier-keys-are-sticky here.
5352
5353         * lisp.h:
5354         add CHECK_FUNCTION.
5355         
5356         * rangetab.c:
5357         implement map-range-table.
5358
5359
5360 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
5361
5362         * redisplay-tty.c (reset_tty_modes):
5363         (tty_redisplay_shutdown): Adjust argument type to
5364         tty_frame_output_end.
5365
5366 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
5367
5368         * eval.c (Fbacktrace): Don't output a line with only right
5369         parenthesis.
5370
5371 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
5372
5373         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
5374         (Fpq_reset_poll): Ditto.
5375
5376 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
5377
5378         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
5379
5380 2000-05-16  Ben Wing  <ben@xemacs.org>
5381
5382         * buffer.c:
5383         * buffer.c (dfc_convert_to/from_internal_format):
5384         * buffer.c (reinit_vars_of_buffer):
5385         Fix conversion functions to allow reentrancy.
5386         
5387         * console-msw.c:
5388         * console-msw.c (mswindows_output_last_error):
5389         New fun, generally useful -- output a human-readable
5390         version of GetLastError() on the console.
5391         
5392         * console-msw.h:
5393         * console-msw.h (struct mswindows_frame):
5394         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
5395         
5396         * console-stream.c (stream_output_begin):
5397         * console-stream.c (stream_output_end):
5398         * console-stream.c (stream_output_vertical_divider):
5399         * console-stream.c (stream_clear_region):
5400         * console-stream.c (stream_flash):
5401         * console-stream.c (console_type_create_stream):
5402         Delete blank stream methods, not needed.
5403         
5404         * console.h (struct console_methods):
5405         Split begin/end methods into window and frame.
5406         
5407         * event-msw.c:
5408         * event-msw.c (mswindows_handle_paint):
5409         * event-msw.c (output_alt_keyboard_state):
5410         * event-msw.c (mswindows_wnd_proc):
5411         * event-msw.c (vars_of_event_mswindows):
5412         Comment about problems with ignored-expose.
5413         Define mswindows-debug-events; not really implemented.
5414         
5415         * frame-msw.c (mswindows_init_frame_1):
5416         random cleanups.
5417         
5418         * glyphs-msw.c:
5419         * glyphs-msw.c (begin_defer_window_pos):
5420         * glyphs-msw.c (mswindows_unmap_subwindow):
5421         * glyphs-msw.c (mswindows_map_subwindow):
5422         * glyphs-msw.c (mswindows_resize_subwindow):
5423         Use DeferWindowPos to reduce flashing when mapping/unmapping.
5424         
5425         * glyphs.c (make_image_instance_1):
5426         Fix crash.
5427         
5428         * gutter.c (Fredisplay_gutter_area):
5429         Use new begin/end methods.
5430         
5431         * lisp.h (Dynarr_new2):
5432         New creation fun.
5433         
5434         * redisplay-msw.c:
5435         * redisplay-msw.c (mswindows_frame_output_begin):
5436         * redisplay-msw.c (mswindows_frame_output_end):
5437         * redisplay-msw.c (console_type_create_redisplay_mswindows):
5438         New begin/end methods -- handle DeferWindowPos.
5439         
5440         * redisplay-output.c (redisplay_move_cursor):
5441         * redisplay-output.c (redraw_cursor_in_window):
5442         * redisplay-output.c (redisplay_update_line):
5443         * redisplay-output.c (redisplay_output_window):
5444         New begin/end methods.
5445
5446         * redisplay-tty.c:
5447         * redisplay-tty.c (tty_frame_output_begin):
5448         * redisplay-tty.c (tty_frame_output_end):
5449         * redisplay-tty.c (console_type_create_redisplay_tty):
5450         New begin/end methods.
5451
5452         * redisplay-x.c:
5453         * redisplay-x.c (x_window_output_begin):
5454         * redisplay-x.c (x_window_output_end):
5455         * redisplay-x.c (console_type_create_redisplay_x):
5456         New begin/end methods.
5457
5458         * redisplay.c (redisplay_frame):
5459         * redisplay.c (Fredisplay_echo_area):
5460         New begin/end methods.
5461         use MAYBE_DEVMETH for clear_frame; it may not exist.
5462
5463         * window.h (WINDOW_XFRAME):
5464         WINDOW_XFOO macros -- get locale and decode struct pointer.
5465
5466
5467 2000-05-12  Ben Wing  <ben@xemacs.org>
5468
5469         * emacs.c:
5470         * emacs.c (ensure_no_quitting_from_now_on):
5471         * emacs.c (fatal_error_signal):
5472         * emacs.c (mswindows_handle_hardware_exceptions):
5473         * emacs.c (main):
5474         * emacs.c (Fkill_emacs):
5475         * emacs.c (shut_down_emacs):
5476         * emacs.c (assert_failed):
5477         various improvements in fatal error handling.
5478         
5479         * eval.c:
5480         move preparing_for_armageddon to emacs.c.
5481         
5482         * lisp.h:
5483         declare fatal_error_in_progress.
5484         
5485         * print.c:
5486         * print.c (std_handle_out_external):
5487         * print.c (std_handle_out_va):
5488         * print.c (stderr_out):
5489         * print.c (stdout_out):
5490         use console under mswin when no standard output.
5491         don't do code conversion during fatal error.
5492         
5493         * scrollbar.c (Fscrollbar_page_up):
5494         * scrollbar.c (Fscrollbar_page_down):
5495         fix missing else.  reindent.
5496
5497 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
5498
5499         Emergency fix.  
5500         
5501         * glyphs.h (GLYPH_CACHEL_DESCENT): 
5502         (GLYPH_CACHEL_DESCENT): 
5503         (GLYPH_CACHEL_DESCENT): 
5504         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
5505         used in case these are inline functions.
5506         Use more absurd values to error check.
5507
5508         include window.h for error check functions.
5509
5510 2000-05-11  Ben Wing  <ben@xemacs.org>
5511
5512         * cmdloop.c (Freally_early_error_handler):
5513         Display message box under windows; otherwise, message will disappear
5514         before it can be viewed.
5515
5516         * console-msw.c:
5517         * console-msw.c (Fmswindows_message_box):
5518         * console-msw.c (FROB):
5519         * console-msw.c (syms_of_console_mswindows):
5520         Define new fun `mswindows-message-box'.
5521         #### I will merge this into `popup-dialog-box'; just give me
5522         a bit of time.
5523         
5524         * general.c:
5525         * general.c (syms_of_general):
5526         Some new symbols used in `mswindows-message-box'.
5527         
5528         * glyphs.c:
5529         * glyphs.c (Fset_image_instance_property):
5530         put warning in this fun.
5531         
5532         * glyphs.h:
5533         * glyphs.h (GLYPH_CACHEL_WIDTH):
5534         * glyphs.h (GLYPH_CACHEL_ASCENT):
5535         * glyphs.h (GLYPH_CACHEL):
5536         * glyphs.h (GLYPH_CACHEL_GLYPH):
5537         define error-checking versions to try to catch a bug i've seen --
5538         redisplay gets in an infinite loop because the glyph width of the
5539         continuation glyph is 65535.
5540         
5541         * lisp.h:
5542         Extern message-box stuff.
5543
5544         * window.c (allocate_window):
5545         * window.c (make_dummy_parent):
5546         * window.c (Fset_window_configuration):
5547         Use EQUAL not EQ for subwindow caches to make them work a bit
5548         better. (Something is still very broken.)
5549         
5550
5551 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
5552
5553         * glyphs.c (image_instantiate): Suppress gcc warnings.
5554         (Fmake_image_instance): Fix doc string.
5555         * specifier.c (Fmake_specifier): Ditto.
5556
5557 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
5558
5559         * paths.h.in (PATH_LOCK): Removed.
5560         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
5561         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
5562
5563 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
5564
5565         * fns.c (Ffeaturep): Update e-mail address in doc-string.
5566         Document (featurep '(and xemacs 21.02)).
5567
5568 2000-05-09  Ben Wing  <ben@xemacs.org>
5569
5570         * buffer.c (complex_vars_of_buffer):
5571         update modeline-format doc.
5572         
5573         * device.h:
5574         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
5575         
5576         * emacs.c:
5577         timeline of all released versions of Emacs, for use in creating
5578         authorship comments and in synching up.
5579         
5580         * glyphs-widget.c (image_instantiator_buttons):
5581         * glyphs-widget.c (image_instantiator_edit_fields):
5582         * glyphs-widget.c (image_instantiator_combo_box):
5583         * glyphs-widget.c (image_instantiator_scrollbar):
5584         * glyphs-widget.c (image_instantiator_progress_guage):
5585         * glyphs-widget.c (image_instantiator_tree_view):
5586         * glyphs-widget.c (image_instantiator_tab_control):
5587         * glyphs-widget.c (image_instantiator_labels):
5588         * glyphs-widget.c (image_instantiator_layout):
5589         * glyphs-widget.c (image_instantiator_native_layout):
5590         rename decode_domain method to governing_domain.
5591         
5592         * glyphs.c:
5593         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
5594         * glyphs.c (add_entry_to_device_ii_format_list):
5595         make sure we don't put an entry more than once into the list.
5596         * glyphs.c (check_instance_cache_mapper):
5597         *************************************************************
5598         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
5599         HAVE BEEN GETTING.
5600         *************************************************************
5601         * glyphs.c (get_image_instantiator_governing_domain):
5602         clean up, expand on new concept of governing domain.
5603         * glyphs.c (instantiate_image_instantiator):
5604         * glyphs.c (allocate_image_instance):
5605         use governing_domain instead of cache_domain in naming.
5606         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
5607         * glyphs.c (make_image_instance_1):
5608         * glyphs.c (Fmake_image_instance):
5609         allow for any domain (not just device), and process the
5610         governing domain correctly.  very big doc fix.
5611         * glyphs.c (Fimage_instance_domain):
5612         new primitive, to retrieve the governing domain of an image instance.
5613         * glyphs.c (image_instantiate):
5614         use new governing_domain stuff.  this fixes a crash you could get
5615         by instantiating certain widget glyphs in frame locales. (should
5616         signal an error instead of crashing.)
5617         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
5618         * glyphs.c (Fglyphp): clean up doc.
5619         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
5620         * glyphs.c (syms_of_glyphs):
5621         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
5622         * glyphs.c (image_instantiator_format_create): add some comments about
5623         bogus code.
5624         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
5625         for current-display-table. (Apparently Hrjove implemented in 1998 a
5626         design I wrote up in 1996, but didn't update the doc string.)
5627         
5628         * glyphs.h: clean up a doc string.
5629         * glyphs.h (governing_domain):
5630         * glyphs.h (struct image_instantiator_methods):
5631         changes for governing_domain stuff.
5632         
5633         * gutter.c:
5634         * gutter.c (Fgutter_specifier_p):
5635         * gutter.c (Fgutter_size_specifier_p):
5636         * gutter.c (Fgutter_visible_specifier_p):
5637         * objects.c:
5638         * objects.c (Fcolor_specifier_p):
5639         * objects.c (Ffont_specifier_p):
5640         * objects.c (Fface_boolean_specifier_p):
5641         doc strings moved to make-*-specifier.
5642         
5643         * redisplay.c (add_disp_table_entry_runes_1):
5644         * redisplay.c (generate_fstring_runes):
5645         * redisplay.c (screen):
5646         add random comments and doc strings.
5647         
5648         * specifier.c:
5649         * specifier.c (Fmake_specifier):
5650         major overhaul of this doc string.
5651         
5652         * specifier.c (Fvalid_specifier_domain_p):
5653         comment about the bogosity of image instances being domains.
5654         * specifier.c (decode_domain):
5655         now non-static, used in glyphs.c.
5656         * specifier.c (specifier_instance):
5657         comment about the bogosity of image instances being domains.
5658         * specifier.c (Fgeneric_specifier_p):
5659         move doc string to make-generic-specifier.
5660         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
5661         rebackslashify.
5662         
5663         * specifier.h:
5664         * specifier.h (DOMAIN_FRAME):
5665         * specifier.h (DOMAIN_LIVE_P):
5666         * specifier.h (DOMAIN_XDEVICE):
5667         rebackslashify.
5668         add comments about problems with these macros.
5669         prototype for decode_domain.
5670         
5671         * toolbar.c:
5672         * toolbar.c (Ftoolbar_specifier_p):
5673         move doc string to `make-toolbar-specifier'.
5674         
5675         * window.c (window_unmap_subwindows_cache_mapper):
5676         *************************************************************
5677         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
5678         HAVE BEEN GETTING.
5679         *************************************************************
5680
5681 2000-05-09  Andy Piper  <andy@xemacs.org>
5682
5683         * glyphs.h: declare reset_frame_subwindow_instance_cache.
5684
5685         * window.c (Fset_window_configuration): reset the frame subwindow
5686         cache and re-initialize the window subwindow caches.
5687
5688         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
5689
5690 2000-05-09  Ben Wing  <ben@xemacs.org>
5691
5692         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
5693         DWORD.
5694
5695 2000-04-26  Mike Woolley  <mike@bulsara.com>
5696
5697         * ntheap.c: Changed recreate_heap to limit the amount reserved
5698         for the heap to that which is actually available. Also now
5699         displays a message box (with some dignostics) in the event that
5700         it still can't start.
5701
5702 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
5703
5704         * callproc.c (Fold_call_process_internal): GCPRO path
5705
5706 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
5707
5708         Patch by Bill Perry.
5709         
5710         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call 
5711         back data instead of #ifdef.
5712         (Fscrollbar_page_down): ditto.
5713
5714 2000-05-07  Ben Wing  <ben@xemacs.org>
5715
5716         * buffer.h:
5717         Kludge for defining Qmswindows_tstr.
5718         
5719         * nt.c:
5720         * nt.c (open_input_file):
5721         * nt.c (open_output_file):
5722         * nt.c (rva_to_section):
5723         * nt.c (mswindows_executable_type):
5724         Move all memory-mapped-file routines here (some were in unexnt.c,
5725         which is bad because they are used by process-nt.c, and unexnt
5726         won't be around when portable dumping).  Synched the above routines
5727         with FSF 20.6.
5728         
5729         * nt.h:
5730         Removed ifdef'd out bogus code.
5731         Fixed some prototypes.
5732         
5733         * nt.h (file_data):
5734         * nt.h (OFFSET_TO_RVA):
5735         * nt.h (RVA_TO_OFFSET):
5736         * nt.h (RVA_TO_PTR):
5737         Moved the memory-mapped-file structures, macros and prototypes
5738         here, to parallel nt.c.  ntheap.h should really be removed
5739         entirely, and it's a non-portable-dumper specific file.
5740         
5741         * ntheap.h (round_to_next):
5742         Moved the memory-mapped-file structures, macros and prototypes
5743         to nt.h.
5744
5745         * ntproc.c (compare_env):
5746         Moved rva_to_section and mswindows_executable_type to nt.c.
5747         Moved compare_env to process-nt.c.
5748         ntproc.c will die, one day.
5749
5750         * ntproc.c (sys_spawnve):
5751         Account for win32_ -> mswindows_.
5752
5753         * process-nt.c:
5754         * process-nt.c (struct nt_process_data):
5755         * process-nt.c (ensure_console_window_exists):
5756         * process-nt.c (compare_env):
5757         * process-nt.c (nt_create_process):
5758         * process-nt.c (nt_kill_process_by_pid):
5759         * process-nt.c (syms_of_process_nt):
5760         * process-nt.c (vars_of_process_nt):
5761         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
5762         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
5763         changes).  Eliminate our old `nt-quote-process-args' mechanism.
5764         Synch up nt_create_process with FSF 20.6 sys_spawnve.
5765         Move compare_env here from ntproc.c.
5766         
5767         * process.c (Fprocess_send_region):
5768         Takes an optional fourth argument, BUFFER, which should fix some
5769         problems with call-process.
5770         
5771         * syscommctrl.h:
5772         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
5773         
5774         * syswindows.h:
5775         Move ICC_BAR_CLASSES to syscommctrl.h.
5776         Add preliminary macros for MSWindows/Mule.  More to come.
5777
5778         * unexnt.c:
5779         * unexnt.c (unexec):
5780         open_output_file moved to nt.c.
5781
5782
5783 2000-05-05  Andy Piper  <andy@xemacs.org>
5784
5785         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
5786         instance from the frame cache also since GC may catch up too late
5787         to make frame deletion sane.
5788
5789 2000-05-04  Andy Piper  <andy@xemacs.org>
5790
5791         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
5792         (x_finalize_image_instance): ungcpro on deletion.
5793
5794         * glyphs.c (image_instantiator_format_create): give pointers a
5795         query geometry method so that the geometry is at least set.
5796
5797         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
5798         initialize layouts if using widgets.
5799
5800 2000-05-03  Andy Piper  <andy@xemacs.org>
5801
5802         * nt.c: remove bogus reference to sysmmsystem.h
5803
5804         * gui-x.c (popup_selection_callback): fix no selection abort.
5805
5806 2000-05-02  Andy Piper  <andy@xemacs.org>
5807
5808         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
5809         (mswindows_widget_instantiate): ditto.
5810
5811         * glyphs-widget.c (initialize_widget_image_instance): initialize
5812         children correctly.
5813         (widget_instantiate): cope with children and items in the same
5814         instance.
5815
5816         * glyphs.c (mark_image_instance): cope with children as a first
5817         class member.
5818         (image_instance_equal): ditto.
5819         (image_instance_hash): ditto.
5820         (image_instance_changed): ditto.
5821
5822 2000-04-30  Andy Piper  <andy@xemacs.org>
5823
5824         * glyphs.c (subwindow_query_geometry): new function. Return some
5825         defaults.
5826         (subwindow_instantiate): don't assign dimensions if none have been
5827         given.
5828         (image_instantiator_format_create): add subwindow_query_geometry.
5829         (print_image_instance): cope with layouts as widgets.
5830
5831 2000-04-29  Andy Piper  <andy@xemacs.org>
5832
5833         * frame.c (delete_frame_internal): call
5834         free_frame_subwindow_instance_cache so that all subwindows are
5835         finalized before their parent.
5836         (mark_frame): remove subwindow_cachels.
5837         (Fmake_frame): remove subwindow_cachel manipulation.
5838         (allocate_frame_core): subwindow_instance_cache is a weak list.
5839         (delete_frame_internal): set subwindow_instance_cache to nil.
5840
5841         * glyphs-msw.c (mswindows_finalize_image_instance): make double
5842         finalization safe.
5843         (mswindows_finalize_image_instance): use the device
5844         not the domain as the domain may have died already.
5845
5846         * glyphs-x.c (x_finalize_image_instance): ditto.
5847         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
5848         HEIGHT.
5849
5850         * redisplay-output.c (redisplay_unmap_subwindows): update for
5851         subwindow instance cache as a weak list.
5852         (redisplay_unmap_subwindows_maybe): ditto.
5853         (redisplay_unmap_subwindows_except_us): ditto.
5854
5855         * glyphs.c (unmap_subwindow): error checking will check the domain
5856         so don't deal with it here. Don't use cachels anymore.
5857         (map_subwindow): ditto.
5858         (update_subwindow_cachel_data): remove old accessor names.
5859         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
5860         (Fresize_subwindow): don't update cachel.
5861         (mark_subwindow_cachels):
5862         (update_subwindow_cachel_data):
5863         (add_subwindow_cachel):
5864         (get_subwindow_cachel_index):
5865         (update_subwindow_cachel):
5866         (reset_subwindow_cachels):
5867         (mark_subwindow_cachels_as_not_updated): deleted.
5868         (cache_subwindow_instance_in_frame_maybe): new function. Add a
5869         subwindow instance to the frame cache.
5870         (find_matching_subwindow): update for subwindow instance cache as
5871         a weak list.
5872         (update_widget_instances): ditto.
5873         (image_instance_type_to_mask):inlined.
5874         (free_frame_subwindow_instance_cache): new function. finalize all
5875         subwindows that are instantiated.
5876
5877         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
5878         of cachel information.
5879         (IMAGE_INSTANCE_DISPLAY_X):
5880         (IMAGE_INSTANCE_DISPLAY_Y):
5881         (IMAGE_INSTANCE_DISPLAY_WIDTH):
5882         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
5883         (XIMAGE_INSTANCE_DISPLAY_X):
5884         (XIMAGE_INSTANCE_DISPLAY_Y):
5885         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
5886         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.  
5887         remove subwindow_cachel structure and function references.
5888         (image_instance_type_to_mask): inline from glyphs.c
5889
5890         * redisplay.c (redisplay_frame): remove subwindow_cachel
5891         references.
5892
5893         * frame.h (struct frame): remove subwindow_cachels.
5894         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
5895
5896         * frameslots.h: add subwindow_instance_cache.
5897
5898         * window.c (replace_window): check subwindow cache of replacement.
5899         (window_unmap_subwindows_cache_mapper):
5900         (window_unmap_subwindows): new functions. Unmap all subwindows
5901         cached on this window.
5902         (mark_window_as_deleted): unmap all subwindows.
5903
5904 2000-04-27  Andy Piper  <andy@xemacs.org>
5905
5906         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
5907
5908         * glyphs-widget.c (widget_layout): return something.
5909         (layout_layout): return something. Fail if not initialized.
5910         (layout_query_geometry): ditto.
5911         (image_instantiator_native_layout): new function. Initialized the
5912         native layout type.
5913         (widget_instantiate): don't do layout stuff here.
5914
5915         * glyphs.c (instantiate_image_instantiator): reorded calling or
5916         instantiate and post_instantiate with layout in between.
5917         (image_instance_layout): be more selective about deciding whether
5918         the layout has been done or not.
5919
5920         * glyphs.h (struct image_instantiator_methods): return a value
5921         from layout_method.
5922
5923 2000-04-26  Andy Piper  <andy@xemacs.org>
5924
5925         * glyphs.c (allocate_image_instance): make initial width and
5926         height unspecified. Set initialized to 0.
5927
5928         * syscommctrl.h new file. Encapsulates commctrl.h.
5929
5930         * syswindows.h new file. Encapsulates windows.h.
5931
5932         * ntplay.c: use new syswindows.h and syscommctrl.h header.
5933         * nt.c: ditto.
5934         * console-msw.h: ditto.
5935         
5936         * redisplay-tty.c (tty_output_display_block): remove layout references.
5937
5938         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
5939         window handle rather than just the frame.
5940
5941         * glyphs.c (mark_image_instance): remove layout references.
5942         (print_image_instance): ditto.
5943         (image_instance_equal): ditto.
5944         (image_instance_hash): ditto.
5945         (decode_image_instance_type): ditto.
5946         (encode_image_instance_type): ditto.
5947         (image_instantiate): ditto.
5948         (allocate_glyph): ditto.
5949         (Fimage_instance_height): ditto.
5950         (Fimage_instance_width): ditto.
5951         (update_subwindow): ditto.
5952
5953         * redisplay-x.c (x_output_display_block): recode for layouts as
5954         widgets.
5955
5956         * redisplay-output.c (redisplay_output_layout): recode for layouts
5957         as widgets.
5958         (compare_runes): remove layout references.
5959
5960         * redisplay-msw.c (mswindows_output_display_block): recode for
5961         layouts as widgets.
5962
5963         * glyphs-widget.c (image_instantiator_layout): remove
5964         layout_possible_dest_types.
5965         (layout_possible_dest_types): deleted.
5966
5967         * glyphs.h (image_instance_type): remove layout references.
5968         (struct Lisp_Image_Instance): ditto. Add initialized flag.
5969         (IMAGE_INSTANCE_INITIALIZED): new accessor.
5970         (XIMAGE_INSTANCE_INITIALIZED): ditto.
5971         
5972 2000-04-25  Andy Piper  <andy@xemacs.org>
5973
5974         * glyphs-widget.c (image_instantiator_buttons):
5975         (image_instantiator_edit_fields):
5976         (image_instantiator_combo_box):
5977         (image_instantiator_scrollbar):
5978         (image_instantiator_progress_guage):
5979         (image_instantiator_tree_view):
5980         (image_instantiator_tab_control):
5981         (image_instantiator_labels):
5982         (image_instantiator_layout): call default post_instantiate method.
5983         (widget_post_instantiate): new function. Simply lays out the
5984         widgets.
5985
5986         * glyphs.h (struct image_instantiator_methods): add
5987         post_instantiate method.
5988
5989         * glyphs.c (instantiate_image_instantiator): add post_instantiate
5990         method calls.
5991
5992 2000-04-23  Andy Piper  <andy@xemacs.org>
5993
5994         * glyphs.h (struct image_instantiator_methods): add
5995         decode_domain_method.
5996         (struct Lisp_Image_Instance): remove subwindow frame - it can be
5997         derived from the domain.
5998         (IMAGE_INSTANCE_FRAME): new accessor.
5999         (XIMAGE_INSTANCE_FRAME): ditto.
6000
6001         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
6002         instead of _SUBWINDOW_FRAME.
6003         (finalize_image_instance): ditto.
6004         (Fimage_instance_foreground): ditto.
6005         (Fimage_instance_background): ditto.
6006         (image_instantiate): ditto.
6007         (update_subwindow_cachel): ditto.
6008         (update_subwindow): ditto.
6009         (unmap_subwindow): ditto.
6010         (map_subwindow): ditto
6011         (subwindow_instantiate): ditto.
6012         * glyphs-msw.c (mswindows_update_widget): ditto.
6013         (mswindows_progress_gauge_instantiate): ditto.
6014         (mswindows_tab_control_update): ditto.
6015         * glyphs-x.c (x_update_widget): ditto.
6016         (x_widget_instantiate): ditto.
6017         (x_tab_control_instantiate): ditto.
6018         (x_tab_control_update): ditto.
6019         * event-msw.c (mswindows_wnd_proc): ditto
6020
6021         * glyphs-widget.c (image_instantiator_layout): use
6022         subwindow_decode_domain.
6023         (image_instantiator_buttons): ditto.
6024         (image_instantiator_edit_fields): ditto.
6025         (image_instantiator_combo_box): ditto.
6026         (image_instantiator_scrollbar): ditto.
6027         (image_instantiator_progress_guage): ditto.
6028         (image_instantiator_tree_view): ditto.
6029         (image_instantiator_tab_control): ditto.
6030         (image_instantiator_labels): ditto.
6031         (image_instantiator_layout): ditto.
6032
6033         * glyphs.c: add instance error checking to many functions.
6034         (instantiate_image_instantiator): decode device from cache_domain.
6035         (image_instantiate): partially rewrite by using
6036         decode_image_instantiator_domain to determine what domain the
6037         instance needs to be cached in.
6038         (decode_image_instantiator_domain): new function. Determine what
6039         domain the image needs to be cached in.
6040         (check_window_subwindow_cache): new error checking function.
6041         (check_instance_cache_mapper): ditto.
6042         (check_image_instance_structure): ditto.
6043         (subwindow_decode_domain): new function. Encodes a window as a
6044         subwindow's cache domain.
6045         (image_instantiator_format_create): use it for text and
6046         subwindows.
6047
6048 2000-04-21  Andy Piper  <andy@xemacs.org>
6049
6050         * glyphs.c (image_instance_device): new function.
6051         (image_instance_frame): new function.
6052         (image_instance_window): new function.
6053         (image_instance_live_p): new function.
6054
6055         * window.c (mark_window_as_deleted): reset the subwindow_instance_
6056         cache to nil.
6057
6058         * glyphs.h (struct Lisp_Image_Instance): device->domain.
6059         (IMAGE_INSTANCE_DOMAIN): new accessor.
6060         (XIMAGE_INSTANCE_DOMAIN): ditto.
6061
6062         * glyphs-x.c (x_finalize_image_instance): device->domain.
6063
6064         * glyphs-msw.c (init_image_instance_geometry): device->domain.
6065         (mswindows_finalize_image_instance): ditto.
6066
6067         * glyphs-eimage.c (jpeg_instantiate): device->domain.
6068         (gif_instantiate): ditto.
6069         (png_instantiate): ditto.
6070         (tiff_instantiate): ditto.
6071
6072         * glyphs.c (instantiate_image_instantiator): use domain rather
6073         than device.
6074         (mark_image_instance): device -> domain.
6075         (print_image_instance): ditto.
6076         (finalize_image_instance): ditto.
6077         (image_instance_equal): ditto.
6078         (allocate_image_instance): ditto.
6079         (Fcolorize_image_instance): ditto.
6080         (query_string_geometry): ditto.
6081         (image_instantiate): ditto
6082         (query_string_font): ditto.
6083         (image_instantiate): ditto.
6084         (update_subwindow): ditto.
6085         (unmap_subwindow): ditto.
6086         (map_subwindow): ditto.
6087         (subwindow_instantiate): ditto.
6088
6089         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
6090         (DOMAIN_FRAME): ditto.
6091         (DOMAIN_WINDOW): ditto.
6092         (DOMAIN_LIVE_P): ditto.
6093         (XDOMAIN_DEVICE): ditto.
6094         (XDOMAIN_FRAME): ditto.
6095         (XDOMAIN_WINDOW): ditto.
6096
6097         * specifier.c (Fvalid_specifier_domain_p): add image instances as
6098         a valid specifier domain.
6099
6100 2000-04-19  Andy Piper  <andy@xemacs.org>
6101
6102         * glyphs-widget.c (syms_of_glyphs_widget): remove
6103         widget-callback-current-channel.
6104         (vars_of_glyphs_widget): ditto.
6105         * glyphs.h: ditto
6106
6107         * gui.c (get_gui_callback): revert to previous behaviour.
6108
6109 2000-04-18  Andy Piper  <andy@xemacs.org>
6110
6111         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
6112         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
6113         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
6114
6115         * glyphs.c (image_instance_equal): add margin_width.
6116         (image_instance_hash): ditto.
6117
6118         * glyphs-widget.c (widget_instantiate): deal with margin-width.
6119         (layout_query_geometry): ditto.
6120         (layout_layout): ditto.
6121         (syms_of_glyphs_widget): add margin-width.
6122         (image_instantiator_layout): allow margin-width.
6123
6124         * glyphs.c (update_widget_instances): make a normal function.
6125         (syms_of_glyphs): remove Qupdate_widget_instances.
6126         * glyphs.h: ditto.
6127
6128         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
6129         so that we don't corrupt ideas about the last event or
6130         command. Remove widget-callback-current-channel fiddling.
6131         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
6132
6133 2000-05-01  Martin Buchholz <martin@xemacs.org>
6134
6135         * XEmacs 21.2.33 is released.
6136
6137 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
6138
6139         * make-src-depend: Allow dots in header file name.
6140
6141 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
6142
6143         * mule-charset.h (struct charset_lookup): Add
6144         next_allocated_1_byte_leading_byte and
6145         next_allocated_2_byte_leading_byte.
6146         * mule-charset.c: Move above two variables so that those values
6147         will be dumped.
6148
6149 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
6150
6151         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
6152         when string length is zero.
6153         (find_charsets_in_emchar_string): Ditto.
6154
6155 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
6156
6157         * lisp.h: extern Qdialog and Qmenubar.
6158
6159         * gui-x.c: added events.h.
6160                 also fixed typo which made the file uncompilable.
6161
6162         * general.c: Added Qmenubar and Qdialog
6163
6164 2000-04-28  Ben Wing  <ben@xemacs.org>
6165
6166         * frame-msw.c (mswindows_init_frame_1):
6167         * frame-msw.c (mswindows_mark_frame):
6168         * event-msw.c (mswindows_enqueue_dispatch_event):
6169         * console-msw.h:
6170         * console-msw.h (struct mswindows_frame):
6171         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
6172         there are now three hash tables for callbacks.
6173         mswindows_enqueue_dispatch_event is no longer static.
6174         
6175         * dialog-x.c (maybe_run_dbox_text_callback):
6176         * dialog-x.c (dbox_descriptor_to_widget_value):
6177         switch to new cons3 form for callbacks.
6178         
6179         * glyphs-msw.c (mswindows_register_gui_item):
6180         * glyphs-msw.c (mswindows_widget_instantiate):
6181         * glyphs-msw.c (add_tree_item):
6182         * glyphs-msw.c (add_tab_item):
6183         new image instance parameter, so it can be passed to callback-ex.
6184         respect :callback-ex as well as :callback.
6185         
6186         * glyphs-widget.c (VALID_GUI_KEYWORDS):
6187         add :callback-ex.
6188         
6189         * glyphs.c (print_image_instance):
6190         prettify, e.g. now prints widget type.
6191         
6192         * gui-x.h:
6193         certain funs have new image instance parameter.
6194         
6195         * gui.c:
6196         * gui.c (get_gui_callback):
6197         * gui.c (gui_item_add_keyval_pair):
6198         * gui.c (gui_item_init):
6199         * gui.c (gui_add_item_keywords_to_plist):
6200         * gui.c (mark_gui_item):
6201         * gui.c (gui_item_hash):
6202         * gui.c (gui_item_equal):
6203         * gui.c (copy_gui_item):
6204         * gui.c (syms_of_gui):
6205         recognize callback-ex in a number of places.
6206         also, fix the annoying "can't get out of yes-no dialog" bug.
6207         
6208         * gui.h:
6209         * gui.h (struct Lisp_Gui_Item):
6210         recognize callback-ex in a number of places.
6211
6212         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6213         new parameter in button_item_to_widget_value.
6214         
6215         * glyphs-x.c (x_update_widget):
6216         * glyphs-x.c (x_button_instantiate):
6217         * glyphs-x.c (x_button_update):
6218         * glyphs-x.c (x_progress_gauge_instantiate):
6219         * glyphs-x.c (x_edit_field_instantiate):
6220         * glyphs-x.c (x_combo_box_instantiate):
6221         * glyphs-x.c (x_tab_control_instantiate):
6222         * glyphs-x.c (x_label_instantiate):
6223         new image instance parameter in various places.
6224         
6225         * event-Xt.c:
6226         * event-Xt.c (enqueue_Xt_dispatch_event):
6227         this fun gets exported.
6228         
6229         * gui-msw.c:
6230         * gui-msw.c (mswindows_handle_gui_wm_command):
6231         handle both :callback and :callback-ex, and generate our own
6232         event because it's one of the callback-ex arguments.
6233         
6234         * gui-x.c:
6235         * gui-x.c (popup_selection_callback):
6236         handle both :callback and :callback-ex, and generate our own
6237         event because it's one of the callback-ex arguments.
6238         * gui-x.c (button_item_to_widget_value):
6239         * gui-x.c (gui_items_to_widget_values_1):
6240         * gui-x.c (gui_item_children_to_widget_values):
6241         * gui-x.c (gui_items_to_widget_values):
6242         new image instance parameter in various places.
6243
6244         * fns.c (Freplace_list):
6245         fix small typo in doc string.
6246         
6247         * lisp.h:
6248         declare enqueue_Xt_dispatch_event.
6249
6250 2000-04-28  Ben Wing  <ben@xemacs.org>
6251
6252         * buffer.c:
6253         * buffer.c (Frecord_buffer):
6254         * buffer.c (syms_of_buffer):
6255         delete record-buffer-hook.
6256         
6257         * fns.c:
6258         * fns.c (Freplace_list):
6259         * fns.c (syms_of_fns):
6260         new primitive replace-list.
6261         
6262         * frameslots.h:
6263         slot for old buffer-alist.
6264         
6265         * lisp.h:
6266         exfun replace-list.
6267         
6268         * redisplay.c:
6269         * redisplay.c (redisplay_frame):
6270         * redisplay.c (syms_of_redisplay):
6271         * redisplay.c (vars_of_redisplay):
6272         new hook buffer-list-changed-hook.
6273         call it.
6274
6275 2000-04-27  Ben Wing  <ben@xemacs.org>
6276
6277         * extents.h: extern in_modeline_generation.
6278
6279         * redisplay.c (generate_formatted_string_db): set
6280         in_modeline_generation.
6281
6282         * extents.c (extent_changed_for_redisplay): don't mark redisplay
6283         flags if in modeline generation.  otherwise frame-modified-tick
6284         is ticked far too often.
6285         Declare in_modeline_generation.
6286
6287 2000-04-26  Ben Wing  <ben@xemacs.org>
6288
6289         * emacs.c (vars_of_emacs): document quick-build "error-checking"
6290         option.
6291         (vars_of_emacs): add quick-build as an error-checking option.
6292         A bit kludgy, but there doesn't seem much point in creating
6293         a real var for this.
6294
6295         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
6296
6297 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6298
6299         * redisplay.h (struct display_line): Add a new variable,
6300         line_continuation.
6301
6302         * redisplay.c (create_text_block): Set dl->line_continuation if
6303         the line continues.
6304         (create_string_text_block): Ditto.
6305         (regenerate_window_incrementally): Use line_continuation instead
6306         of searching continuation glyph.
6307         (add_margin_runes): Call add_glyph_rune.
6308         (add_glyph_rune): Handle margin glyph.
6309
6310 2000-04-20  Martin Buchholz  <martin@xemacs.org>
6311
6312         * filelock.c (fill_in_lock_file_name): 
6313         ANSIfy.
6314         Check for IS_ANY_SEP instead of '/'.
6315         (lock_file_1): 
6316         Avoid generating gratuitous garbage.  Call user_login_name() directly.
6317         Never check errno without first seeing that system call failed.
6318         (unlock_file): Add GCPRO.
6319         (Flock_buffer): Fix docstring.
6320         (Ffile_locked_p): Fix docstring.  Add GCPRO.
6321
6322 2000-04-19  Martin Buchholz  <martin@xemacs.org>
6323
6324         * sysdep.c (get_pty_max_bytes): 
6325         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
6326         strings longer than 252 bytes.
6327
6328         * md5.c: Unconditionally include ANSI header <limits.h>
6329
6330         * glyphs-x.c (convert_EImage_to_XImage): 
6331         * lisp-union.h (union Lisp_Object): 
6332         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
6333
6334 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
6335
6336         * filelock.c (current_lock_owner): Remove unused variable o, p.
6337
6338 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
6339
6340         * callint.c: Remove multiply defined symbol Qlet
6341         (syms_of_callint): ditto.
6342
6343 2000-04-14  Andy Piper  <andy@xemacs.org>
6344
6345         * general.c (syms_of_general): add last-command, this-command, let
6346         and funcall.
6347
6348         * lisp.h: declare various symbols.
6349
6350         * glyphs.h: declare Qwidget_callback_current_channel;
6351
6352         * glyphs-widget.c (syms_of_glyphs_widget): add
6353         Qgui_callback_current_channel.
6354         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
6355
6356         * gui-msw.c (mswindows_handle_gui_wm_command): bind
6357         widget-callback-current-channel when invoking the interactive
6358         arg. Also bind last-command and next-command when invoking the
6359         widget updates.
6360         * gui-x.c (popup_selection_callback): ditto.
6361
6362         * gui.c (get_gui_callback): massage args so that we are always
6363         calling eval. This allows us to add our own variable bindings
6364         outside.
6365
6366         * glyphs-x.c (x_button_instantiate): use
6367         gui_items_to_widget_values since this is GC safe.
6368         (x_progress_gauge_instantiate): ditto.
6369         (x_edit_field_instantiate): ditto.
6370         (x_label_instantiate): ditto.
6371
6372         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
6373         (emacs_Xt_event_widget_focus_out): new function
6374         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
6375         focus.
6376         (emacs_Xt_event_add_widget_actions): new function. add focus
6377         functions as actions.
6378         (init_event_Xt_late): use it.
6379
6380 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
6381
6382         * event-stream.c (Fdispatch_event): Doc fix.
6383
6384 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
6385
6386         * postgresql.c: Remove all references to PQsetenv*.
6387
6388         * postgresql.h: Remove references to PGsetenvHandler object.
6389         * lrecord.h (lrecord_type): Ditto.
6390
6391 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6392
6393         * glyphs-msw.h (struct mswindows_image_instance_data): Added
6394         real_heigh and real_width members, and accessor macros for these.
6395
6396         * glyphs-msw.c (init_image_instance_geometry): New function.
6397         (init_image_instance_from_dibitmap): Use it.
6398         (mswindows_resource_instantiate): Use it.
6399         (init_image_instance_from_xbm_inline): Use it.
6400         (mswindows_initialize_image_instance_mask): Use real bitmap
6401         geometry.
6402         (mswindows_create_resized_bitmap): Ditto.
6403         (mswindows_create_resized_mask): Ditto.
6404         
6405         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
6406         and bitmap to their surface size.
6407
6408 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
6409
6410         * process-unix.c (unix_send_process): Guard against process MIA
6411         after Faccept_process_output.
6412
6413 2000-04-11  Ben Wing  <ben@xemacs.org>
6414
6415         * eval.c (unbind_to_hairy): fix brokenness introduced by
6416         nanosecond speed improvements.
6417
6418 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
6419
6420         * sunplay.c (init_device): To play sounds correctly, the device
6421         apparently needs to be initialized at least once by XEmacs.  Make
6422         it so.
6423
6424 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6425
6426         * redisplay.c (add_margin_runes): Add text image glyph
6427           handling.
6428
6429 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
6430
6431         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
6432         gcc is newer than 2.5.
6433
6434 2000-04-06  Colin Rafferty  <colin@xemacs.org>
6435
6436         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
6437         
6438         * fns.c (size_bit_vector):
6439         * alloc.c (size_vector):
6440         (make_vector_internal):
6441         (make_bit_vector_internal):
6442         (sweep_bit_vectors_1):
6443         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
6444
6445 2000-04-06  Andy Piper  <andy@xemacs.org>
6446
6447         * gmalloc.c (malloc): undo previous change.
6448         (malloc): ditto.
6449         (free): ditto.
6450         (realloc): ditto.
6451
6452 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
6453
6454         * line-number.c (buffer_line_number): Revert to former version.
6455
6456 2000-04-06  Andy Piper  <andy@xemacs.org>
6457
6458         * gmalloc.c (malloc): add error checking.
6459         (malloc): ditto.
6460         (free): ditto.
6461         (realloc): ditto.
6462
6463         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
6464         button_item_to_widget_value arg.
6465
6466         * glyphs-x.c (x_button_instantiate): add extra
6467         button_item_to_widget_value arg.
6468         (x_progress_gauge_instantiate): ditto.
6469         (x_edit_field_instantiate): ditto.
6470         (x_label_instantiate): ditto.
6471
6472         * gui-x.c (gui_items_to_widget_values_1): add extra
6473         button_item_to_widget_value arg.
6474         (button_item_to_widget_value): add extra menu_item_p arg.
6475
6476         * gui-x.h: change signature of button_item_to_widget_value.
6477
6478         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
6479         button_item_to_widget_value arg.
6480
6481 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
6482
6483         * buffer.h (struct buffer): auto_save_modified should be long.
6484
6485 2000-04-05  Andy Piper  <andy@xemacs.org>
6486
6487         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
6488         type.
6489         (button_query_geometry): give a little more room so that athena
6490         buttons fit.
6491
6492 2000-04-05  Andy Piper  <andy@xemacs.org>
6493
6494         * faces.c (complex_vars_of_faces): The widget face should inherit
6495         the font of the gui-element face.
6496
6497 2000-04-04  Andy Piper  <andy@xemacs.org>
6498
6499         * glyphs-x.c (x_button_update): new function. unconditionally
6500         update a button's state when the instance is dirty.
6501         (image_instantiator_format_create_glyphs_x): add x_button_update.
6502         (x_widget_instantiate): remove old resize cruft.
6503
6504 2000-04-02  Andy Piper  <andy@xemacs.org>
6505
6506         * frame.c (change_frame_size_1): The introduction of gutters means
6507         that we need to allow 0 as a potential frame dimension.
6508
6509 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6510
6511         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
6512         image glyph if allow_cursor.
6513         (add_hscroll_rune): Don't allow cursor to border glyph.
6514         (create_text_block): Ditto.
6515
6516         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
6517         text not in buffer.
6518         (redisplay_output_layout): Call ensure_face_cachel_complete for
6519         text image glyph.
6520
6521
6522 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
6523
6524         * redisplay.c (add_glyph_rune): Adding text image as text runes.
6525
6526         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
6527         not in buffer
6528
6529         * redisplay-tty.c (tty_output_display_block): Delete the routine
6530         for text image glyph
6531         * redisplay-x.c (x_output_display_block): ditto
6532         * redisplay-msw.c (mswindows_output_display_block): ditto
6533
6534 2000-02-02  Mike Alexander  <mta@arbortext.com>
6535
6536         Note: Some of these were committed by accident as part of other
6537         patches.
6538         
6539         * regex.c (regex_compile): Avoid compiler warnings.
6540
6541         * ntproc.c (sys_spawnve): Avoid compiler warnings.
6542
6543         * nt.h: Declare term_ntproc correctly.
6544
6545         * nt.c: Remove incorrect declaration of get_home_directory which
6546         is declared correctly in lisp.h.
6547
6548         * keymap.c (get_keyelt): Avoid compiler warnings.
6549         (raw_lookup_key_mapper): Avoid compiler warnings.
6550
6551         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
6552
6553         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
6554
6555         * filemode.c (mode_string): Avoid compiler warnings.
6556
6557         * file-coding.c (Fcoding_system_aliasee): Add return statement to
6558         avoid warning.
6559
6560         * events-mod.h: Undef some things that winuser.h defines differently.
6561
6562         * data.c (Faset): Avoid compiler warnings.
6563
6564         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
6565
6566 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
6567
6568         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
6569         Fall through to simple beep on error.
6570         Replace "extern" by real header file.
6571
6572         * linuxplay.c: Use nativesound.h
6573         (play_sound_data): Return error code. Be less verbose on error.
6574
6575         * sunplay.c: Use nativesound.h
6576         (play_sound_data): Return error code. Be less verbose on error.
6577
6578         * ntplay.c: Use nativesound.h
6579         (play_sound_data): Return fake error code
6580
6581         * sgiplay.c: Use nativesound.h
6582         (play_sound_data): Return error code
6583
6584         * hpplay.c: Use nativesound.h, partially implement
6585         new error code. Break compilation until finished.
6586         (play_sound_data): error code.
6587
6588         * nativesound.h (play_sound_file): 
6589           (play_sound_data): Prototype in new header.
6590
6591 2000-03-31  Andy Piper  <andy@xemacs.org>
6592
6593         * glyphs-widget.c: (button_query_geometry): new function. Adjust
6594         for toggle and radio buttons.
6595         (image_instantiator_buttons): use it.
6596
6597 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
6598
6599         * scrollbar-x.c (x_update_vertical_scrollbar_callback): 
6600         (x_update_horizontal_scrollbar_callback): Return if no mirror was
6601         found. Scrollbar event probably belonged to some old config.
6602
6603 2000-03-31  Andy Piper  <andy@xemacs.org>
6604
6605         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
6606         than 1.
6607         (initialize_widget_image_instance): default layout to
6608         LAYOUT_HORIZONTAL rather than 0.
6609         (widget_instantiate): reverse the item list at the end rather than
6610         every iteration.
6611         (layout_layout): re-code for the border text at the front of the
6612         item list rather than at the end.
6613         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
6614         provided by the user.
6615         (widget_query_geometry): comment.
6616
6617 2000-03-30  Andy Piper  <andy@xemacs.org>
6618
6619         * glyphs-widget.c (image_instantiator_layout): allow standard
6620         widget keywords in layouts.
6621
6622         * gutter.c (output_gutter): cope with nil gutter contents.
6623
6624         * frame.c (Fset_frame_properties): add gutter docs.
6625
6626 2000-03-29  Andy Piper  <andy@xemacs.org>
6627
6628         * toolbar-msw.c (TBSTYLE_FLAT): add.
6629         (mswindows_output_toolbar): minor fiddling.
6630
6631 2000-03-29  Andy Piper  <andy@xemacs.org>
6632
6633         * gutter.c (output_gutter): force gutter size recalculation if
6634         what we are trying to display won't fit.
6635         (update_gutter_geometry): new function. A per-gutter version of
6636         update_frame_gutter_geometry.
6637         (update_frame_gutter_geometry): use it.
6638         (redraw_exposed_gutter): add extra debugging output.
6639
6640 2000-03-28  Mike Alexander  <mta@arbortext.com>
6641
6642         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
6643         (pdump_file_unmap): Implement it on Windows
6644         (pdump_file_get): Save alocated handles for pdump_file_unmap
6645
6646 2000-03-28  Andy Piper  <andy@xemacs.org>
6647
6648         * gui.c (get_gui_callback): treat Quit specially.
6649
6650 2000-03-27  Andy Piper  <andy@xemacs.org>
6651
6652         * glyphs.c (image_instantiate): be careful to check in the same
6653         way we assigned.
6654
6655 2000-03-27  Didier Verna  <didier@xemacs.org>
6656
6657         * config.h.in: define the proper SMART_INCLUDE macro.
6658         handle renaming of `foo_h_path' to `foo_h_file'.
6659
6660         * database.c: ditto.
6661
6662         * emacs.c: ditto.
6663
6664         * linuxplay.c: ditto.
6665
6666         * terminfo.c: ditto.
6667
6668         * tooltalk.h: ditto.
6669
6670 2000-03-27  Andy Piper  <andy@xemacs.org>
6671
6672         * glyphs-msw.c (mswindows_update_widget): make sure the widget
6673         gets updated whenever the face might have changed.
6674
6675 2000-03-26  Mike Alexander  <mta@arbortext.com>
6676
6677         * dumper.c (pdump_resource_free): Fix the comment.
6678
6679 2000-03-21  Olivier Galibert  <galibert@pobox.com>
6680
6681         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
6682
6683 2000-03-22  Mike Alexander  <mta@arbortext.com>
6684
6685         * dumper.c: Include Windows headers on Windows
6686         (pdump_resource_free): Add a body to the function
6687         (pdump_load): exe_name -> exe_path and add some comments.
6688
6689 2000-03-25  Mike Alexander  <mta@arbortext.com>
6690
6691         * gui.c (copy_gui_item_tree): Return a value in all cases
6692
6693 2000-03-21  Didier Verna  <didier@xemacs.org>
6694
6695         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
6696         lwlib/config.h.in.
6697         (SMART_INCLUDE): new macro.
6698         (POSTGRES_INCLUDE): new macro to include postgresql headers from
6699         the proper location.
6700
6701         * postgresql.c: use it.
6702
6703         * inline.c: ditto.
6704
6705 2000-03-24  Andy Piper  <andy@xemacs.org>
6706
6707         * gutter.c (redraw_exposed_gutters): must be "in display" when we
6708         do this.
6709
6710 2000-03-24  Andy Piper  <andy@xemacs.org>
6711
6712         * redisplay-output.c (compare_runes): use image_instance_changed
6713         to detect changes. Do not depend on glyphs_changed, only depend on
6714         dirtiness.
6715          (redisplay_output_layout): add debug messages.
6716         (compare_runes): ditto.
6717
6718         * glyphs.h: declare new functions.
6719         (struct Lisp_Image_Instance): remove percent and associated
6720         accessors.
6721
6722         * gui.h: declare new copying functions.
6723
6724         * gui.c (copy_gui_item_tree): new function.
6725         (copy_gui_item): new function.
6726         (gui_item_id_hash): revert to standard hash.
6727         (gui_item_hash): ditto.
6728         (gui_item_hash_internal): deleted.
6729         (mark_gui_item): mark value.
6730         (gui_item_add_keyval_pair): add value.
6731         (gui_item_init): ditto.
6732         (gui_add_item_keywords_to_plist): ditto.
6733         (gui_item_equal): ditto.
6734         (syms_of_gui): add Q_value.
6735
6736         * glyphs-x.c (x_progress_gauge_update): use pending items and
6737         value for setting the state.
6738         (x_update_widget): don't set items from pending here.
6739
6740         * glyphs-widget.c (update_widget): update items here.
6741         (progress_gauge_set_property): use items for storing value. Put
6742         new value in pending items.
6743
6744         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
6745         items for new value. Convert percent -> value.
6746         (mswindows_tab_control_update): don't update items here.
6747
6748         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
6749         (update_subwindow): ditto.
6750         (image_instance_changed): new function. Compare hash values and
6751         past and present widget items.
6752         (image_instantiate): We more careful about where we instantiate
6753         things.
6754         (image_instantiate): add error checking.
6755
6756         * gutter.c (syms_of_gutter): use -hook.
6757
6758 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
6759
6760         * console-tty.c (Fset_console_tty_input_coding_system): Use
6761         Qkeyboard.
6762         (Fset_console_tty_output_coding_system): Use Qterminal.
6763         (tty_init_console): Use Qkeyboard and Qterminal.
6764
6765 2000-03-21  Ben Wing  <ben@xemacs.org>
6766
6767         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
6768         From Mike Alexander <mta@arbortext.com>.
6769
6770 2000-03-21  Ben Wing  <ben@xemacs.org>
6771
6772         * event-msw.c (mswindows_need_event): Horrible kludge to fix
6773         process brokenness.  Proper implementation to come.
6774         * callproc.c:
6775         Rename call-process-internal to old-call-process-internal.
6776         New impl. in process.el.
6777
6778 2000-03-21  Martin Buchholz  <martin@xemacs.org>
6779
6780         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
6781
6782 2000-03-20  Andy Piper  <andy@xemacs.org>
6783
6784         * glyphs.c (full_list_hash): make hashes of the same elements in
6785         different orders return different values.
6786
6787 2000-03-20  Martin Buchholz <martin@xemacs.org>
6788
6789         * XEmacs 21.2.32 is released.
6790
6791 2000-03-20  Martin Buchholz  <martin@xemacs.org>
6792
6793         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
6794         (DFC_MALLOC_USE_CONVERTED_DATA):
6795         Add aliasing-safe casts to allow use with char* or unsigned char*
6796         lvalues.
6797
6798         * eldap.c (Fldap_open):
6799         (Fldap_search_basic):
6800         (Fldap_add):
6801         (Fldap_modify):
6802         Make C++-compilable.
6803         Make sure GCPRO'ed variables are initialized.
6804         Use temp variables to avoid repeated calls to Flength.
6805
6806 2000-03-16  Martin Buchholz  <martin@xemacs.org>
6807
6808         * sysfile.h:
6809         Make sure PATH_MAX is always defined.
6810         Include limits.h for PATH_MAX.
6811         Deprecate use of MAXPATHLEN.
6812
6813 2000-03-10  Martin Buchholz  <martin@xemacs.org>
6814
6815         * emacs.c: Add reinit_vars_of_fileio.
6816         * symsinit.h: Add reinit_vars_of_fileio.
6817         * fileio.c (reinit_vars_of_fileio): New.
6818         * fileio.c (Fmake_temp_name):
6819         Initialize temp_name random number from microseconds to make
6820         collisions even less likely.  Initialize always at process startup
6821         time.  (make-temp-name) used to return the same file name twice in
6822         a row when PDUMP.
6823         Random stylistic fiddling.
6824         Comment fixes.
6825
6826 2000-03-20  Andy Piper  <andy@xemacs.org>
6827
6828         * glyphs.c (image_instantiate): allow text glyphs to be
6829         instantiated in the minibuffer window.
6830
6831 2000-03-19  Andy Piper  <andy@xemacs.org>
6832
6833         * glyphs.c (image_instance_hash): be careful about which items we
6834         hash on.
6835
6836         * glyphs-widget.c (tab_control_set_property): record into pending
6837         items rather than the actual items.
6838
6839         * glyphs-x.c (x_update_widget): use pending items to update with.
6840
6841         * glyphs-msw.c (mswindows_tab_control_update): use pending items
6842         to update with.
6843
6844         * glyphs.c (mark_image_instance): mark pending items.
6845
6846         * window.c (Fset_window_configuration): record the buffer.
6847         (Fselect_window): totally revert previous change which breaks many
6848         things.
6849
6850 2000-03-18  Andy Piper  <andy@xemacs.org>
6851
6852         * glyphs-msw.c (mswindows_tab_control_update): force selected
6853         item.
6854
6855         * glyphs.c (image_instantiate): don't allow the minibuffer as a
6856         window domain cache, otherwise we get inconsistencies at
6857         startup. There is something fishy at startup which can lead to the
6858         minibuffer being the selected window when the gutter content is
6859         instantiated.
6860
6861         * gui.c (parse_gui_item_tree_list): add probably unnecessary
6862         gcpros.
6863         (parse_gui_item_tree_children): ditto.
6864         (parse_gui_item_tree_item): ditto.
6865
6866         * glyphs.c (Fupdate_widget_instances): return something.
6867
6868 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
6869
6870         * window.c (Fselect_window): Undo 2000-03-17 change.
6871
6872 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
6873
6874         * postgresql.c (Fpq_setenv): Remove this turkey when linking
6875         against v7.0 libraries.  Insta-coredump city until the postgres
6876         folks fix it.
6877
6878 2000-03-17  Andy Piper  <andy@xemacs.org>
6879
6880         * faces.c (complex_vars_of_faces): don't give the widget face an
6881         inherited background pixmap.
6882
6883         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
6884         selected item.
6885
6886         * event-stream.c (Fdispatch_non_command_events): return something.
6887
6888         * gutter.c (output_gutter): use widget face.
6889         (clear_gutter): ditto.
6890
6891         * NEWS: adjust again.
6892
6893         * window.c (Fselect_window): make sure this runs to completion to
6894         avoid oddities with Fset_window_configuration.
6895         (Fcurrent_window_configuration): in general do not save the
6896         minibuffer as the selected window.
6897
6898         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
6899
6900 2000-03-16  Olivier Galibert  <galibert@pobox.com>
6901
6902         * emacs.c (Frunning_temacs_p): Revert previous patch.
6903         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
6904
6905 2000-03-16  Andy Piper  <andy@xemacs.org>
6906
6907         * glyphs-x.c (x_tab_control_update): if no widget values then
6908         return.
6909
6910         * NEWS: update for new features.
6911
6912         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
6913         synthetic event to the native system.
6914         (reinit_vars_of_event_Xt): set force_event_pending to
6915         emacs_Xt_force_event_pending.
6916
6917         * events.h (struct event_stream): add force_event_pending.
6918
6919         * specifier.c (recompute_one_cached_specifier_in_window): add
6920         comment.
6921
6922         * redisplay.c (redisplay_frame): don't call
6923         update_frame_subwindows. Reset subwindow cachels when
6924         subwindows_changed, removing this was an optimization too far.
6925
6926         * redisplay-output.c (compare_runes): reorganize so that we catch
6927         glyph changes when we want them. Set optimize_output when this
6928         would help layouts.
6929         (redisplay_output_layout): remove frame_really_changed, use
6930         optimize_output instead.
6931
6932         * redisplay-msw.c (mswindows_output_display_block): reset
6933         optimize_output after outputting a glyph.
6934         * redisplay-x.c (x_output_display_block): ditto.
6935         * redisplay-tty.c (tty_output_display_block): ditto.
6936
6937         * gutter.c: (specifier_vars_of_gutter): use new spec changed
6938         functions.
6939         (gutter_specs_changed): do specific gutter positions.
6940         (top_gutter_specs_changed): new function. Only update the
6941         specified gutter specs.
6942         (bottom_gutter_specs_changed): ditto.
6943         (left_gutter_specs_changed): ditto.
6944         (right_gutter_specs_changed): ditto.
6945
6946         * gui.c (gui_item_hash_internal): new function, does a real hash.
6947         (gui_item_id_hash): use it.
6948         (gui_item_hash): hash the eval'ed gui_item.
6949
6950         * gui-x.c (popup_selection_callback): send an eval event to call
6951         Fupdate_widget_instances.
6952
6953         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
6954         to call Fupdate_widget_instances.
6955
6956         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
6957         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
6958
6959         * glyphs.c: (update_frame_subwindows): deleted.
6960         (Fupdate_widget_instances): new function for updating the dirty
6961         state of widgets that might have changed.
6962         (syms_of_glyphs): add Qupdate_widget_instances.
6963         (full_list_hash): hash a list completely.
6964         (image_instance_hash): use it for items and properties.
6965
6966         * frame-msw.c (mswindows_size_frame_internal): remove unused
6967         variable.
6968
6969         * faces.h (struct face_cachel): fix comment.
6970
6971         * event-stream.c (Fdispatch_non_command_events): new
6972         function. Process non-command events, forcing an event cycle
6973         beforehand.
6974         (syms_of_event_stream): declare.
6975         (event_stream_force_event_pending): new function. Force an event
6976         on the native event queue so that an event cycle will occur next
6977         time we check.
6978
6979         * event-msw.c:
6980         (struct ntpipe_shove_stream):
6981         (mswindows_enqueue_dispatch_event):
6982         (mswindows_dequeue_dispatch_event):
6983         (mswindows_cancel_dispatch_event):
6984         (mswindows_pump_outstanding_events):
6985         (mswindows_drain_windows_queue):
6986         (mswindows_handle_paint):
6987         (mswindows_wnd_proc):
6988         (mswindows_key_to_emacs_keysym):
6989         (get_process_input_waitable):
6990         (emacs_mswindows_delete_stream_pair): re-indent file.
6991         (mswindows_need_event): do not process further fds if the windows
6992         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
6993         fixes the 100% cpu problem.
6994         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
6995
6996 2000-03-15  Olivier Galibert  <galibert@pobox.com>
6997
6998         * alloc.h: New.
6999         * dumper.h: New.
7000         * dumper.c: New.
7001
7002         * emacs.c: Moved dump file searching to dumper.c.
7003         (Frunning_temacs_p): Fixed.
7004
7005         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
7006         last_lrecord_type_index_assigned.
7007
7008 2000-02-20  Olivier Galibert  <galibert@pobox.com>
7009
7010         * symsinit.h: Added reinit parameter to init_console_stream
7011         declaration.
7012
7013         * lisp.h: Added file parameter to pdump_load declaration.
7014
7015         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
7016         support.  Added dump file searching.
7017
7018         * config.h.in: Added EMACS_PROGNAME.
7019
7020         * console-stream.c (init_console_stream): Fix reinitialisation
7021         when running from temacs.
7022
7023         * alloc.c (pdump): Add id support.
7024         (pdump_load): Add file parameter and signature/id support.
7025
7026         * Makefile.in.in: Add full pdump support.
7027
7028 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
7029
7030         * postgresql.c: Update documentation to reflect latest code
7031         status.
7032         (print_result): Show tuple counts in printed representation when
7033         appropriate.
7034         (Fpq_put_nbytes): MULE-ize.
7035         (Fpq_get_line_async): Ditto.
7036
7037 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
7038
7039         * postgresql.c (Fpq_lo_import): Fix return value.
7040         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
7041
7042 2000-03-13  Ben Wing  <ben@xemacs.org>
7043
7044         * alloc.c (pdump_load):
7045         Fix compile warning under mswin.
7046
7047 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
7048
7049         * postgresql.c: Mule-ization, bug fixes.
7050         Use PG_CODING to encapsulate coding system name changes.
7051         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
7052         (pg-coding-system): Create.
7053
7054         (Fpq_conn_defaults): Mule-ize.
7055         (Fpq_connectdb): Mule-ize & bug fix.
7056         (Fpq_connect_start): Mule-ize.
7057         (Fpq_set_client_encoding): Mule-ize.
7058         (Fpq_finish): Document `DEAD' connection status.
7059         (Fpq_clear): Ditto.
7060         (Fpq_pgconn): Mule-ize.
7061         (Fpq_exec): Mule-ize & bug fix.
7062         (Fpq_send_query): Ditto.
7063         (Fpq_get_result): Ditto.
7064         (Fpq_res_status): Mule-ize.
7065         (Fpq_result_error_message): Mule-ize.
7066         (Fpq_ntuples): fix comments.
7067         (Fpq_fname): Mule-ize.
7068         (Fpq_fnumber): Mule-ize.
7069         (Fpq_ftype): fix comments.
7070         (Fpq_get_value): Mule-ize.
7071         (Fpq_cmd_status): Ditto.
7072         (Fpq_cmd_tuples): Ditto.
7073         (Fpq_oid_value): Ditto.
7074         (Fpq_notifies): Ditto.
7075         (Fpq_lo_import): Ditto.
7076         (Fpq_lo_export): Ditto.
7077         (Fpq_get_line): Ditto.
7078         (Fpq_put_line): Mule-ize and bug fix.
7079         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
7080
7081 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
7082
7083         * postgresql.c (vars_of_postgresql): Mule-ize.
7084         (Fpq_conn_defaults): Ditto.
7085
7086 2000-03-12  Ben Wing  <ben@xemacs.org>
7087
7088         * alloc.c (Fmake_byte_code):
7089         * alloc.c (debug_string_purity_print):
7090         * alloc.c (pdump_backtrace):
7091         * alloc.c (pdump_get_indirect_count):
7092         * alloc.c (pdump_register_sub):
7093         * alloc.c (pdump_register_object):
7094         * alloc.c (pdump_register_struct):
7095         * alloc.c (pdump_dump_data):
7096         * alloc.c (pdump_reloc_one):
7097         Minor cleanups.
7098
7099         * console-msw.c:
7100         * console-msw.c (GetConsoleHwnd):
7101         * console-msw.c (msw_hide_console):
7102         * console-msw.c (msw_show_console):
7103         * console-msw.c (msw_ensure_console_buffered):
7104         * console-msw.c (msw_output_console_string):
7105         * console-msw.c (console_type_create_mswindows):
7106
7107         a) Added functions to manipulate the console window for use with
7108         shell support.
7109
7110         b) Added support for writing text to the console, which is now
7111         used under Windows when xemacs is not being run non-interactively,
7112         to write text that would otherwise be destined for stdout because
7113         under these circumstances, text written to stdout tends to
7114         disappear and not be seen.
7115
7116         * console-msw.h:
7117         * event-Xt.c:
7118         * event-Xt.c (x_event_to_emacs_event):
7119         * event-Xt.c (describe_event_window):
7120         * events-mod.h (XEMACS_MOD_CONTROL):
7121         * events.c:
7122         * events.c (Fmake_event):
7123         * events.c (character_to_event):
7124         * events.c (event_to_character):
7125         * events.c (format_event_object):
7126         * events.c (Fevent_modifiers):
7127         * events.h:
7128         * events.h (struct key_data):
7129         * events.h (struct button_data):
7130         * events.h (struct misc_user_data):
7131         * frame-x.c (Fcde_start_drag_internal):
7132         * frame-x.c (Foffix_start_drag_internal):
7133         * gpmevent.c (Freceive_gpm_event):
7134         * keymap.c:
7135         * keymap.c (bucky_sym_to_bucky_bit):
7136         * keymap.c (control_meta_superify):
7137         * keymap.c (make_key_description):
7138         * keymap.c (keymap_lookup_directly):
7139         * keymap.c (create_bucky_submap):
7140         * keymap.c (keymap_store):
7141         * keymap.c (define_key_check_and_coerce_keysym):
7142         * keymap.c (define_key_parser):
7143         * keymap.c (define_key_alternate_name):
7144         * keymap.c (Fdefine_key):
7145         * keymap.c (raw_lookup_key_mapper):
7146         * keymap.c (struct map_keymap_unsorted_closure):
7147         * keymap.c (map_keymap_unsorted_mapper):
7148         * keymap.c (map_keymap_sort_predicate):
7149         * keymap.c (map_keymap_sorted):
7150         * keymap.c (accessible_keymaps_mapper_1):
7151         * keymap.c (where_is_recursive_mapper):
7152         * keymap.c (describe_map_mapper):
7153         * keymap.c (describe_map_sort_predicate):
7154         * keymap.c (describe_map):
7155         * keymap.c (complex_vars_of_keymap):
7156         And a number of other files, the key modifier preprocessor
7157         constants that xemacs uses have names that conflict with constants
7158         defined under MS Windows for other purposes, so they were renamed
7159         to begin with the prefix XEMACS_. The variables that hold such
7160         modifiers were changed to consistently be of type int to fix
7161         various compile warnings.
7162
7163         * console.c (complex_vars_of_console):
7164         * device.c:
7165         * device-msw.c:
7166         * device-msw.c (mswindows_finish_init_device):
7167         * device-msw.c (msw_get_workspace_coords):
7168         * device-msw.c (mswindows_device_system_metrics):
7169         and various other files, added support for a new
7170         device property called offset-workspace which returns the position
7171         of the upper left corner of the workspace area and goes along with
7172         the existing size-workspace property.
7173
7174         * dialog-msw.c:
7175         * dialog-msw.c (push_bufbyte_string_as_unicode):
7176         * dialog-msw.c (mswindows_popup_dialog_box):
7177         Added support for XEmacs-style accelerator specifications in
7178         button text.  Note: I didn't add support for this under X Windows,
7179         and somebody needs to do this.
7180
7181         * dialog.c:
7182         * dialog.c (Fpopup_dialog_box):
7183         Documented the support for accelerators that was just mentioned.
7184
7185         editfns.c (get_home_directory): Changed behavior under Windows
7186         when HOME not defined; former behavior was irretrievably broken.
7187
7188         * emacs.c:
7189         * emacs.c (main_1):
7190         * emacs.c (main):
7191         * minibuf.c (clear_echo_area_internal):
7192         * minibuf.c (echo_area_append):
7193         * print.c:
7194         * print.c (std_handle_out_external):
7195         * print.c (std_handle_out_va):
7196         * print.c (fatal):
7197         * print.c (write_string_to_stdio_stream):
7198         * print.c (output_string):
7199         * print.c (debug_print):
7200         * print.c (debug_backtrace):
7201         * print.c (debug_short_backtrace):
7202         Cleaned up the code that prints text to stdout so that this can be
7203         changed to output into a console window instead under MS Windows,
7204         as described above.
7205
7206         * eval.c:
7207         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
7208         * eval.c (internal_catch):
7209         * eval.c (unwind_to_catch):
7210         * eval.c (throw_or_bomb_out):
7211         * eval.c (condition_case_1):
7212         * eval.c (signal_1):
7213         * eval.c (check_error_state_sanity):
7214         * eval.c (call_with_suspended_errors_1):
7215         * eval.c (call_with_suspended_errors):
7216         * eval.c (reinit_vars_of_eval):
7217         Added code to catch throw loops and check for a pesky bug that may
7218         be gone now.
7219
7220         * event-msw.c:
7221         * event-msw.c (key_needs_default_processing_p):
7222         * event-msw.c (mswindows_wnd_proc):
7223         * event-msw.c (mswindows_modifier_state):
7224         * event-msw.c (emacs_mswindows_quit_p):
7225         * event-msw.c (vars_of_event_mswindows):
7226         a) Added support for using the alt key to select menu items as is
7227         standard under MS Windows.  This is controlled using the variable
7228         menu-accelerator-enabled, just like under X Windows.  There is an
7229         option on the options menu to turn this support on.  I really
7230         think that it should be on by default under Windows, but I'm not
7231         going to make this change yet.
7232
7233         b)  Added support for dynamic display size changes under Windows.
7234
7235         * event-stream.c:
7236         * event-stream.c (maybe_echo_keys):
7237         * event-stream.c (Fnext_event):
7238         * event-stream.c (command_builder_find_leaf):
7239         * event-stream.c (lookup_command_event):
7240         * event-stream.c (execute_command_event):
7241         * event-stream.c (pre_command_hook):
7242         * event-stream.c (post_command_hook):
7243         * event-stream.c (syms_of_event_stream):
7244         * event-stream.c (vars_of_event_stream):
7245         * event-stream.c (complex_vars_of_event_stream):
7246         * events.h (struct command_builder):
7247
7248         a) Tried to clean up a little bit the horribly written x-specific
7249         accelerator code that crept into this file.  I moved this code
7250         into menubar-x.c where it belongs. I also needed to move the
7251         command builder structure into the file events.h because it is
7252         accessed directly by this accelerator code.  What I didn't do, but
7253         which should be done at some point, is to properly abstract this
7254         code using device methods instead of the kludgy way that it
7255         currently hooks into the event code.
7256
7257         b) Added the lisp variables this-command-properties and
7258         last-command- properties, which should be used to synchronize two
7259         adjacent commands in preference to playing games with the variable
7260         this-command, which is typically what happens.
7261
7262         c) Added some slightly nasty code to hook into the lisp support
7263         for shifted- motion-key selection.  This is actually necessary for
7264         somewhat complicated reasons, which are described in
7265         simple.el. (NB: I think the proper thing would be to have the code
7266         that calls the pre and post command hooks also call out to generic
7267         lisp functions in simple.el, where all built-in stuff could be
7268         added.  I will think about this more.)
7269
7270         * event-unixoid.c (poll_fds_for_input):
7271         * lread.c (readchar):
7272         * redisplay-tty.c (tty_clear_frame):
7273         * redisplay-x.c (x_get_gc):
7274         * signal.c (interrupt_signal):
7275         And a whole bunch of other files: fixed up places that printed
7276         directly to stderr to instead call the function stderr_out so that
7277         the changes I made under Windows work correctly.
7278
7279         * filemode.c (mode_string):
7280         Warning fixes.
7281
7282         * frame-msw.c:
7283         * frame-msw.c (mswindows_size_frame_internal):
7284         Fixed the computation of frame size and position to keep the frame
7285         within the workspace area, rather than within the physical
7286         dimensions of the screen, so that the frame doesn't overlap window
7287         manager decorations, such as the start menu and toolbar, typically
7288         at the bottom of the screen.
7289
7290         * frame.c (vars_of_frame):
7291         Changed the default frame title format under MS Windows to consist
7292         of buffername-XEmacs, which is standard under MS Windows.  I think
7293         it might be a good idea to change this everywhere because I think
7294         it is superior to the current frame title format, but this is the
7295         kind of change that is likely to cause some people to get annoyed,
7296         so I'm not making it.
7297
7298         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
7299
7300         * gui-msw.c (mswindows_handle_gui_wm_command):
7301         Fixed compile warnings.
7302
7303         * gui-x.c:
7304         * gui-x.c (strdup_and_add_accel):
7305         * gui-x.c (button_item_to_widget_value):
7306         * gui-x.h:
7307         Added code to automatically put an accelerator onto the beginning
7308         of menu items that don't have one as is now the standard, and is
7309         described more later.  Also fixed things so that the menu item
7310         name can be an evaluated expression, again a new standard.
7311
7312         * gui.c:
7313         * gui.c (gui_item_add_keyval_pair):
7314         * gui.c (make_gui_item_from_keywords_internal):
7315         * gui.c (gui_add_item_keywords_to_plist):
7316         * gui.c (gui_item_accelerator):
7317         * gui.c (gui_name_accelerator):
7318         * gui.c (gui_item_included_p):
7319         * gui.c (gui_item_display_flush_left):
7320         * gui.c (gui_item_display_flush_right):
7321         * gui.c (parse_gui_item_tree_item):
7322         * gui.c (parse_gui_item_tree_children):
7323         * gui.c (parse_gui_item_tree_list):
7324         Mule-ized.  Cleanup.  GCPRO addition.
7325
7326         * line-number.c (buffer_line_number):
7327         * lisp.h:
7328         * lisp.h (EMACS_INT_MAX):
7329         Added the manifest constant EMACS_INT_MIN corresponding to the
7330         existing constant EMACS_INT_MAX.  This is partially to fix compile
7331         warnings under Windows, and partly for cleanliness.
7332
7333         * menubar-msw.c:
7334         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
7335         * menubar-msw.c (msw_translate_menu_or_dialog_item):
7336         * menubar-msw.c (displayable_menu_item):
7337         * menubar-msw.c (populate_menu_add_item):
7338         * menubar-msw.c (populate_or_checksum_helper):
7339         * menubar-msw.c (populate_menu):
7340         * menubar-msw.c (update_frame_menubar_maybe):
7341         * menubar-msw.c (prune_menubar):
7342         * menubar-msw.c (msw_char_is_accelerator):
7343         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
7344         * menubar-msw.c (mswindows_handle_wm_command):
7345         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
7346         * menubar-msw.c (mswindows_handle_wm_initmenu):
7347         * menubar-msw.c (mswindows_update_frame_menubars):
7348         * menubar-msw.c (mswindows_free_frame_menubars):
7349         * menubar-msw.c (mswindows_popup_menu):
7350         Fixed a bug in handling accelerators where an extra character
7351         would be displayed in the menu item.  Also generalized the
7352         function displayable_menu_item because it is now used by the
7353         dialog box code as well.  And finally, added code in the functions
7354         that create the menubar to extract a list of accelerators for the
7355         top level menubar, which is used in the event code to determine
7356         whether a particular alt-key combination should be used to invoke
7357         a menu item, or should be passed through to access the standard
7358         XEmacs keymap binding for this key combination.
7359
7360         Much needed GCPROing.
7361
7362         * menubar-x.c:
7363         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
7364         * menubar-x.c (menu_item_descriptor_to_widget_value):
7365         * menubar-x.c (restore_in_menu_callback):
7366         * menubar-x.c (x_popup_menu):
7367         * menubar-x.c (menu_move_up):
7368         * menubar-x.c (menu_move_down):
7369         * menubar-x.c (menu_move_left):
7370         * menubar-x.c (menu_move_right):
7371         * menubar-x.c (menu_select_item):
7372         * menubar-x.c (command_builder_operate_menu_accelerator):
7373         * menubar-x.c (menu_accelerator_junk_on_error):
7374         * menubar-x.c (command_builder_find_menu_accelerator):
7375         * menubar-x.c (Faccelerate_menu):
7376         * menubar.h:
7377         Moved a whole bunch of code here that was previously in
7378         event-stream.c as described above.  There is also code connected
7379         to the new standard of adding an accelerator to the beginning of
7380         menu items that don't have one as described above and below.
7381
7382         * menubar.c:
7383         * menubar.c (menu_parse_submenu_keywords):
7384         * menubar.c (Fmenu_find_real_submenu):
7385         * menubar.c (Fnormalize_menu_item_name):
7386         * menubar.c (syms_of_menubar):
7387         * menubar.c (vars_of_menubar):
7388         * menubar.c (complex_vars_of_menubar):
7389
7390         a) Cleaned up a bunch of documentation and improved it.
7391
7392         b) XEmacs now automatically adds an accelerator onto the beginning
7393         of any menu items that don't have one.  I did this because there
7394         will inevitably be some menu items on the main menubar that don't
7395         have accelerators on them because the package that adds that
7396         particular menu item hasn't yet been fixed up to have accelerators
7397         in them and it looked rather strange to have some items with and
7398         some items without accelerators, especially since even in items
7399         without accelerators, you can, at least under windows, still
7400         access the item through an accelerator corresponding to the first
7401         character in the item's name.  If people don't like this behavior,
7402         I can add a variable to turn it off optionally, but I'm not sure
7403         this is a good idea because we really do need to have accelerators
7404         on all of the menu items, and if a package doesn't like the
7405         accelerators being put on the first character, then it should put
7406         the accelerators where they belong.
7407
7408         c) I made a behavior change, which is that the descriptor that
7409         specifies the text of the menu item, which formerly was just a
7410         string, can now also be an evaluated expression.  This makes this
7411         descriptor parallel with all of the others, which could also be
7412         evaluated expressions.  This also obviates the need for the
7413         keyword :label, which was previously listed in the documentation
7414         as unimplemented, and which was for the same purpose.
7415
7416         d) GCPROing.
7417
7418         * ntproc.c:
7419         * ntproc.c (new_child):
7420         * ntproc.c (sys_spawnve):
7421         * ntproc.c (find_child_console):
7422         * ntproc.c (sys_kill):
7423         Fixed compile warnings.  By the way, this file should really go
7424         away entirely, and this will happen as soon as Kirill makes his
7425         final round of process cleanups, which affect the function
7426         call-process.
7427
7428         * process-nt.c:
7429         * process-nt.c (struct nt_process_data):
7430         * process-nt.c (find_process_from_pid):
7431         * process-nt.c (send_signal_the_nt_way):
7432         * process-nt.c (enable_child_signals):
7433         * process-nt.c (find_child_console):
7434         * process-nt.c (send_signal_the_95_way):
7435         * process-nt.c (nt_finalize_process_data):
7436         * process-nt.c (ensure_console_window_exists):
7437         * process-nt.c (nt_create_process):
7438         * process-nt.c (nt_kill_child_process):
7439         * process-nt.c (nt_kill_process_by_pid):
7440         * process-nt.c (nt_open_network_stream):
7441         * process-nt.c (vars_of_process_nt):
7442         Copied over code from Emacs 20.5 to correctly send signals to sub-
7443         processes under Windows 95.  Also added code to automatically
7444         create and hide console window when a sub-process is created under
7445         Windows 95, which obviates the need for the separate runemacs.exe
7446         executable, and finally implemented some variables that were
7447         implemented in Emacs 20.5, but previously not in XEmacs.  These
7448         include mswindows- start-process-share-console and
7449         mswindows-start-process-inherit-error-mode. (Both of these only
7450         apply to Windows 95.)
7451
7452         * regex.c (regex_compile): Fixed a compile warning.
7453
7454         * select-msw.c:
7455         * select-msw.c (mswindows_own_selection):
7456         * select-msw.c (mswindows_get_foreign_selection):
7457         * select-msw.c (mswindows_disown_selection):
7458         * select-msw.c (console_type_create_select_mswindows):
7459         * select-msw.c (syms_of_select_mswindows):
7460         Cleaned up the file and implemented the device method
7461         selection_exists_p, which had accidentally been left out.  Also
7462         removed four lisp functions that were remnants from before the
7463         time when the selection code was properly device abstracted.
7464         These functions are no longer needed because there are generic
7465         equivalents, and because they were added recently and don't exist
7466         in FSF Emacs, I don't think there's any problem with just deleting
7467         them.
7468
7469         * sysdep.c:
7470         * sysdep.c (sys_subshell):
7471         Fixed a compile warning, although in this case there's probably
7472         something wrong with this code, and it ought to be looked into
7473         more thoroughly by somebody who understands it.
7474
7475         * window.c:
7476         * window.c (Fwindow_text_area_height):
7477         * window.c (Fwindow_width):
7478         * window.c (Fwindow_full_width):
7479         * window.c (Fwindow_pixel_width):
7480         * window.c (debug_print_window):
7481         * window.c (syms_of_window):
7482         Added functions window-text-area-height and window-full-width,
7483         which are functions for returning various width and height
7484         characteristics of a window. (One of these functions is necessary
7485         for making the file dialog box work correctly, and the other one
7486         was added for completeness.)  Also added a table to the
7487         documentation for window-height which describes the entire scheme
7488         for accessing width and height characteristics of a window.
7489
7490 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7491
7492         * nt.c (fstat): Added a comment for another problem with
7493         non-encapsulated [f]stat(), reported by Adrian Aichner
7494         <aichner@ecf.teradyne.com>.
7495
7496 2000-03-11  Andy Piper  <andy@xemacs.org>
7497
7498         * window.c (make_dummy_parent): initialize subwindow instance
7499         cache.
7500         (Fset_window_configuration): zero extent_modiff.
7501
7502 2000-03-10  Andy Piper  <andy@xemacs.org>
7503
7504         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
7505         more changes can be triggered.
7506         (Fredisplay_frame): ditto.
7507         (Fredraw_device): ditto.
7508         (Fredisplay_device): ditto.
7509         (redisplay_frame): make non-static.
7510         (redisplay_frame): call update_frame_gutter_geometry outside of
7511         display proper.
7512
7513         * gutter.h: declare update_frame_gutter_geometry.
7514
7515         * redisplay.h: declare redisplay_frame.
7516
7517         * gutter.c (update_frame_gutter_geometry): move geometry changes
7518         in update_frame_gutters here. Geometry changes can only occur
7519         outside of redisplay.
7520         (update_frame_gutters): remove geometry change code.
7521         (Fredisplay_gutter_area): make sure that we are in display when we
7522         update and that we have flushed any size changes.
7523
7524 2000-03-11  Andy Piper  <andy@xemacs.org>
7525
7526         * alloc.c (pdump_dump_data): remove i & count shadows.
7527
7528 2000-02-27  Mike Alexander  <mta@arbortext.com>
7529
7530         * sysdep.h: Declare pdump_read_file
7531
7532         * sysdep.c (pdump_read_file): New function
7533
7534         * alloc.c (pdump_load): Call pdump_read_file to get the portable
7535         dump data
7536
7537 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
7538
7539         * lrecord.h: add `lrecord_type_pgsetenv'.
7540
7541 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
7542
7543         * symsinit.h: declare (vars|syms)_of* functions.
7544         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
7545
7546 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
7547
7548         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
7549
7550         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
7551         GCCs.
7552
7553         * emacs.c (main_1): Call postgres initialization code.
7554
7555         * postgresql.h: New file.  PostgreSQL RDBMS support.
7556         * postgresql.c: New file.
7557
7558 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7559
7560         * redisplay-output.c (redisplay_output_display_block): Disable
7561         redundant code.
7562
7563 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7564
7565         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
7566         (Fcanna_henkan_next): Ditto.
7567         (Fcanna_bunsetu_henkou): Ditto.
7568         (Fcanna_henkan_kakutei): Ditto.
7569         (Fcanna_henkan_end): Ditto.
7570         (Fcanna_henkan_quit): Ditto.
7571         (Fcanna_henkan_next): Set retun value correctly.
7572         (c2mu): Use unsigned char instead of signed char.
7573
7574 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7575
7576         * emacs.c (main_1): Always call syms_of_gui.
7577         * inline.c: include gui.h
7578
7579 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7580
7581         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
7582         converted to Lisp_Object.
7583         (Qtop_bottom): New variable.
7584         (syms_of_redisplay): Initialize it.
7585         * redisplay.h (Vvisible_bell): Ditto.
7586         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
7587         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
7588         only flash top and bottom.
7589
7590 2000-03-08  Andy Piper  <andy@xemacs.org>
7591
7592         * buffer.c (Frename_buffer): record new buffer name the right way.
7593
7594 2000-03-08  Andy Piper  <andy@xemacs.org>
7595
7596         * glyphs.c (update_subwindow): increase hash depth so that widget
7597         items get picked up properly.
7598
7599         * redisplay-output.c (compare_runes): increase hash depth so that
7600         widget items get picked up properly.
7601
7602 2000-03-08  Andy Piper  <andy@xemacs.org>
7603
7604         * gutter.c (output_gutter): add some debug.
7605
7606         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
7607         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
7608         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
7609
7610         * redisplay-output.c (compare_runes): use display_hash to
7611         determine if glyphs really are not the same.
7612
7613         * glyphs.c (update_subwindow): check display_hash to see if
7614         anything really needs to be updated. If not then do
7615         nothing. Record the display_hash after updating.
7616         (image_instance_equal): compare the image_instance face also.
7617
7618 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
7619
7620         * redisplay.h: Fix comment style.
7621
7622 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7623
7624         * consle-msw.h (struct mswindows_frame):
7625         Added new member paint_pending to indicate whether a WM_PAINT
7626         magic event has been queued for this frame.
7627
7628         * event-msw.c (mswindows_drain_windows_queue):
7629         Don't queue a WM_PAINT magic event if one is already queued.
7630         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
7631
7632         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
7633
7634 2000-03-07  Didier Verna  <didier@xemacs.org>
7635
7636         * dired.c: #include `regex.h' after `sysfile.h'.
7637
7638 2000-03-06  Martin Buchholz  <martin@xemacs.org>
7639
7640         * sound.c (init_nas_sound): Fix compiler warning.
7641
7642         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
7643         (FREE_STRUCT_P):
7644         (MARK_STRUCT_AS_FREE):
7645         (MARK_STRUCT_AS_NOT_FREE):
7646         Make `gcc -fstrict-aliasing' work properly.
7647
7648 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7649
7650         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
7651         (mswindows_delete_device): Call CoUnnitialize().
7652
7653         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
7654
7655 2000-02-25    <CraigL@DyCon.com>
7656
7657         * process-nt.c: MinGW now has <shellapi.h>, but still needs
7658         <errno.h>.
7659
7660         * sysdep.c: This extern declaration for environ prevents MinGW
7661         from finding the variable in CRTDLL.DLL.
7662
7663         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
7664         windows headers.
7665         (SHGFI_EXETYPE): ..
7666         (WM_MOUSEWHEEL): ..
7667         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
7668         definitions.
7669         (MMRESULT): Removed, now defined in cygwin's windows headers.
7670         (TIMECAPS): ..
7671         (uid_t,gid_t,pid_t,ssize_t): ..
7672         (_timeb): Removed, MinGW defines both _timeb and timeb.
7673         (HAVE_H_ERRNO): Added.
7674         (HAVE_TZNAME): Added, configure is not detecting this.
7675
7676 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
7677
7678         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
7679         * syntax.c (syntax_match): Use it.
7680
7681         * cmds.c: Import auto-fill-chars from FSF Emacs.
7682         (Vauto_fill_chars): New variables.
7683         (internal_self_insert): Check Vauto_fill_chars.
7684         (vars_of_cmds):
7685         Declare auto-fill-chars as a Lisp variable and initialize it.
7686
7687 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7688
7689         * fileio.c (Fmake_symbolic_link):
7690         (Ffile_symlink_p):
7691         Run handlers even if local machine doesn't have symlinks.
7692
7693 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
7694
7695         * event-msw.c (mswindows_drain_windows_queue):
7696         Don't generate paint magic events for non-XEmacs frames.
7697
7698 2000-03-05  Andy Piper  <andy@xemacs.org>
7699
7700         * redisplay.c (redisplay_frame): generate_displayable_area and
7701         friends assumes that we are not in GC, we therefore have to make
7702         sure that this doesn't happen.
7703
7704         * gutter.c (calculate_gutter_size): generate_displayable_area
7705         assumes that we are not in GC, we therefore have to make sure that
7706         this doesn't happen.
7707
7708 2000-03-05  Martin Buchholz  <martin@xemacs.org>
7709
7710         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
7711
7712 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
7713
7714         * redisplay.c (regenerate_window): Make sure we set a sane value
7715         for end_pos even if we jump out of the loop.
7716         (regenerate_window): Answer Ben's question :-).
7717         (start_end_of_last_line): Add may_error argument.
7718         (start_of_last_line):
7719         (end_of_last_line): Pass may_error = 0.
7720         (end_of_last_line_may_error): New function.
7721         (pixel_to_glyph_translation): Use it, so we don't crash in
7722         event_to_glyph.
7723
7724 2000-03-04  Andy Piper  <andy@xemacs.org>
7725
7726         * window.h (struct window): add gutter_extent_modiff.
7727
7728         * window.c (allocate_window): zero out gutter_extent_modiff.
7729
7730         * redisplay.h: declare sync_display_line_structs.
7731
7732         * redisplay.c (add_glyph_rune): add a better comment.
7733
7734         * redisplay-output.c (sync_display_line_structs): made non-static.
7735         (compare_runes): remove unneccesary glyph cachel access.
7736
7737         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
7738
7739         * gutter.c (output_gutter): don't output the gutter if extent
7740         changes only involve extents in buffers. use 4 sets of display
7741         lines.
7742         (gutter_extent_signal_changed_region_maybe): new function. Mark
7743         extents in gutters as changed.
7744         (update_frame_gutters): use 4 sets of display lines.
7745         (reset_gutter_display_lines): ditto.
7746         (free_frame_gutters): ditto.
7747         (redraw_exposed_gutter): force output of gutters.
7748
7749         * frame.h (struct frame): add 4 sets of gutter display lines.
7750
7751         * extents.c: (extent_changed_for_redisplay): signal changes to
7752         extents in strings in the gutter as well as extents in buffers.
7753
7754 2000-03-02  Andy Piper  <andy@xemacs.org>
7755
7756         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
7757
7758         * frame.c (Fmake_frame): make sure the gutters get initialized
7759         after the frame is visible.
7760         (set_frame_selected_window): re-arrange compilation macros a
7761         little.
7762         (change_frame_size_1): mark gutters changed.
7763
7764         * device.c (Fset_device_class): mark gutters changed.
7765
7766 2000-03-01  Andy Piper  <andy@xemacs.org>
7767
7768         * window.c (window_top_frame_gutter_height): deleted.
7769         (window_bottom_frame_gutter_height): ditto.
7770         (window_left_frame_gutter_height): ditto.
7771         (window_right_frame_gutter_height): ditto.
7772         (window_top_gutter_height): don't use them.
7773         (window_bottom_gutter_height): ditto.
7774         (window_left_gutter_width): ditto.
7775         (window_right_gutter_width): ditto.
7776         (Fsplit_window): ditto.
7777         (Fwindow_pixel_edges): don't use border dimensions here.
7778
7779         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
7780         (update_scrollbar_instance): ditto.
7781
7782         * redisplay.c (generate_modeline): don't take gutters into account.
7783         (generate_modeline): ditto.
7784         (redisplay_frame): small gutter display optimization.
7785
7786         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
7787
7788         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
7789         gutters into account.
7790
7791         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
7792         for window position and type.
7793
7794         * gutter.c (get_gutter_coords): fix for frame gutters.
7795         (update_frame_gutters): update frame geometry if the gutters have
7796         changed.
7797         (init_frame_gutters): record current gutter geometries.
7798
7799         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
7800         var.
7801         (mswindows_widget_instantiate): ditto.
7802
7803         * frame.h (struct frame): add current_gutter_bounds.
7804
7805         * frame.c (change_frame_size_1): position window and minibuffer
7806         appropriately taking into account the frame gutters.
7807
7808         * frame-x.c: (x_initialize_frame_size): take into account the
7809         frame gutters.
7810
7811 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
7812
7813         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
7814
7815 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
7816
7817         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
7818
7819 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
7820
7821         * file-coding.c (reset_decoding_stream): Clear previous
7822         detection state when autodetect.
7823
7824 2000-02-29  Didier Verna  <didier@xemacs.org>
7825
7826         * extents.c (set_extent_glyph_1): don't require extents to be
7827         attached.
7828
7829 2000-02-27  Andy Piper  <andy@xemacs.org>
7830
7831         * gutter.c (Fset_default_gutter_position): don't default left and
7832         right gutter visibility to t.
7833         (Fset_default_gutter_position): run
7834         default-gutter-position-changed-hook.
7835         (syms_of_gutter): add default-gutter-position-changed-hook.
7836
7837 2000-02-26  Andy Piper  <andy@xemacs.org>
7838
7839         * specifier.c (Fmake_specifier): add gutter references.
7840
7841         * gutter.h (RAW_WINDOW_GUTTER): new macro.
7842
7843         * lisp.h: declare Fvalid_plist_p.
7844
7845         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
7846         as changed.
7847         (default_gutter_visible_p_changed_in_window): invalidate gutter as
7848         well as its visibility so that it gets reconstructed.
7849         (construct_window_gutter_spec): new function. Construct a string
7850         to be displayed in the gutter from a plist of strings. Take care
7851         to only use elements that are declared as visible.
7852         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
7853         WINDOW_GUTTER.
7854         (gutter_validate): allow plists of strings in the specifier.
7855         (gutter_specs_changed): construct the real_gutter from the gutter
7856         specs using construct_window_gutter_spec.
7857         (gutter_visible_validate): gutter-visible is a new specifier type.
7858         (Fgutter_visible_specifier_p): new function for the new specifier.
7859         (syms_of_gutter): declare gutter-visible and
7860         Fgutter_visible_specifier_p.
7861         (specifier_type_create_gutter): intitalize new gutter-visible
7862         specifier.
7863         (reinit_specifier_type_create_gutter): ditto.
7864         (specifier_vars_of_gutter): use new specifier type for gutter
7865         visibility.
7866         (init_frame_gutters): construct real_gutter correctly.
7867         (Fgutter_specifier_p): beef up documentation.
7868         (Fgutter_size_specifier_p): ditto.
7869
7870         * winslots.h: add real_gutter slots.
7871
7872 2000-02-25  Andy Piper  <andy@xemacs.org>
7873
7874         * device-msw.c: Be kind to older cygwin versions. From Raymond
7875         Toy <toy@rtp.ericsson.se>.
7876
7877         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
7878         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
7879
7880 2000-02-25  Martin Buchholz  <martin@xemacs.org>
7881
7882         * elhash.c (MARK_OBJ): Practice macro hygiene.
7883
7884 2000-02-24  Martin Buchholz  <martin@xemacs.org>
7885
7886         * miscplay.c: s/__inline__/inline/g;
7887         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
7888         (get_device_compdc): INLINE ==> static inline
7889         * *.[ch]: Change INLINE to INLINE_HEADER globally.
7890         find -name '*.h' | \
7891         xargs global-replace \
7892         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
7893
7894 2000-02-25  Andy Piper  <andy@xemacs.org>
7895
7896         * window.c (window_top_frame_gutter_height): new function.
7897         (window_top_window_gutter_height): ditto.
7898         (window_top_gutter_height): use them.
7899         (window_bottom_frame_gutter_height): new function.
7900         (window_bottom_window_gutter_height): ditto.
7901         (window_bottom_gutter_height): use them.
7902         (window_left_window_gutter_width): new function.
7903         (window_left_frame_gutter_width): ditto.
7904         (window_left_gutter_width): use them.
7905         (window_right_window_gutter_width): new function.
7906         (window_right_frame_gutter_width): ditto.
7907         (window_right_gutter_width): use them.
7908         (window_pixel_height): new function. calulate window pixel height
7909         with frame gutter involvement.
7910         (Fsplit_window): calculate new sizes taking frame gutters into
7911         account.
7912         (window_char_height_to_pixel_height): don't include frame gutters.
7913         (window_char_height): use window_pixel_height.
7914         (window_pixheight): rename from window_pixel_height.
7915         (change_window_height): use it.
7916         (window_pixel_height_to_char_height): don't include frame gutters.
7917         (window_char_width_to_pixel_width): ditto.
7918
7919 2000-02-25  Andy Piper  <andy@xemacs.org>
7920
7921         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
7922         if it is.
7923
7924 2000-02-24  Martin Buchholz  <martin@xemacs.org>
7925
7926         * alloc.c (staticpro):
7927         (staticpro_nodump):
7928         (dumpstruct):
7929         (dumpopaque):
7930         (pdump_wire):
7931         (pdump_wire_list):
7932         (compact_string_chars):
7933         (pdump_dump_wired):
7934         Convert:  if (foo) abort();  ==>  assert (! foo);
7935
7936         * eldap.c (Fldap_search_basic):
7937         (Fldap_add):
7938         (Fldap_modify):
7939         (Fldap_delete):
7940         Fix compiler warnings, and possible crashes if (random) return
7941         value were to be used.
7942
7943 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7944
7945         * device-msw.c: Workaround ResetDC failure.
7946
7947         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
7948         applying a devmode.
7949
7950         * redisplay-msw.c (get_frame_dc): Added start_page_p.
7951         (mswindows_text_width): Do not start printer page.
7952
7953         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
7954
7955         * glyphs-msw.c: Added image methods to msprinter console and
7956         msprinter-specific image instantiation.
7957
7958 2000-02-20  Mike Alexander  <mta@arbortext.com>
7959
7960         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
7961         to avoid crashes when selection-sets-clipboard is on
7962         (mswindows_own_selection): ditto
7963
7964 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7965
7966         * glyphs-msw.c:
7967         * redisplay-msw.c (get_frame_dc):
7968         (get_frame_compdc):
7969         * console-msw.h:
7970         * device-msw.c (mswindows_init_device):
7971         (mswindows_delete_device):
7972         (msprinter_init_device):
7973         (msprinter_delete_device):
7974         * frame-msw.c (mswindows_init_frame_1):
7975         (mswindows_delete_frame):
7976         (msprinter_init_frame_3):
7977         (msprinter_delete_frame): Move compatible DC to device object from
7978         frame object, for both mswindows and msprinter. Only one at a time
7979         is needed, it is a real waste to have one per frame!
7980
7981 2000-02-23  Andy Piper  <andy@xemacs.org>
7982
7983         * glyphs.c: add dynamic width and height elements.
7984         (image_instance_equal): ditto.
7985
7986         * glyphs-widget.c (widget_query_geometry): calculate width and
7987         height dynamically if required.
7988         (initialize_widget_image_instance): initialize dynamic dimensions.
7989         (widget_instantiate): pick-up dynamic dimensions.
7990
7991         * glyphs.h (struct Lisp_Image_Instance): add width and height for
7992         dynamic determination. Add appropriate macros.
7993
7994         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
7995         dimensions safe.
7996         (WINDOW_GUTTER_SIZE): ditto.
7997         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
7998
7999         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
8000         inline.
8001         (get_frame_dc): ditto.
8002
8003         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
8004         here.
8005
8006 2000-02-23  Martin Buchholz <martin@xemacs.org>
8007
8008         * XEmacs 21.2.31 is released.
8009
8010 2000-02-22  Ben Wing <ben@xemacs.org>
8011
8012         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
8013
8014 2000-02-22  Andy Piper  <andy@xemacs.org>
8015
8016         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
8017
8018 2000-02-21  Mike Sperber <mike@xemacs.org>
8019
8020         * .dbxrc:
8021         * .gdbinit:
8022         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
8023         variables.
8024
8025 2000-02-21  Mike Sperber <mike@xemacs.org>
8026
8027         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
8028
8029 2000-02-21  Martin Buchholz <martin@xemacs.org>
8030
8031         * XEmacs 21.2.30 is released.
8032
8033 2000-02-20  Martin Buchholz  <martin@xemacs.org>
8034
8035         Performance hacking.
8036         * *.c (syms_of_*):
8037         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
8038         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
8039         * emacs.c (main_1):
8040         * lisp.h (DEFUN):
8041         * console.c (DEFVAR_CONSOLE_LOCAL_1):
8042         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
8043         * symeval.h (DEFVAR_SYMVAL_FWD):
8044         * symbols.c (guts_of_unbound_marker):
8045         Make all c_readonly objects also lisp_readonly and marked for life.
8046         * lrecord.h (struct lrecord_implementation):
8047         Document flags better.
8048         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
8049         * lrecord.h (DECLARE_LRECORD):
8050         * lrecord.h (XSETRECORD):
8051         * lrecord.h (RECORDP):
8052         * lrecord.h (RECORD_TYPEP):
8053         * lrecord.h (RECORD_MARKER): New.
8054         * lrecord.h (error_check_*):
8055         * lrecord.h (CONCHECK_NONRECORD):
8056         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
8057         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
8058         * lrecord.h (set_lheader_implementation):
8059         * lrecord.h (enum lrecord_type): New.
8060         * symeval.h (SYMBOL_VALUE_MAGIC_P):
8061         * alloc.c (disksave_object_finalization_1):
8062         * alloc.c (mark_object):
8063         * alloc.c (lrecord_type_index):
8064         * alloc.c (tick_lcrecord_stats):
8065         * alloc.c (Fgarbage_collect):
8066         * alloc.c (init_alloc_once_early):
8067         * alloc.c (pdump_load):
8068         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
8069         * alloc.c (lrecord_type_index): Delete.
8070         Make lisp object type indexes be constant.
8071           Makes (byte-compile) 5% faster.
8072         Put all marker functions into their own array.
8073           Makes (garbage-collect) 5% faster.
8074         Optimize SYMBOL_VALUE_MAGIC_P.
8075           Makes (byte-compile) 2-3% faster.
8076         * config.h.in (gc_checking_assert): New.
8077         * alloc.c: Use gc_checking_assert().
8078         * .dbxrc: Make compatible with new object type implementation.
8079         * .gdbinit: Make compatible with new object type implementation.
8080         * alloc.c: Delete all symbols defined only for debugging, such as
8081         Lisp_Type_Vector and lrecord_charset.
8082
8083 2000-02-21  Andy Piper  <andy@xemacs.org>
8084
8085         * gui-msw.c (Fmswindows_shell_execute): fix file location
8086         problems.
8087
8088         * buffer.c (Fkill_buffer): remove buffer from alist buffer
8089         unshowing so that set_window_buffer doesn't undo
8090         kill_buffer_hook's hard work.
8091
8092         * glyphs-widget.c (tab_control_query_geometry): don't count the
8093         first item when calculating geometry.
8094
8095         * glyphs.c (map_subwindow): remove redundant code.
8096         (update_frame_subwindows): be more circumspect about when to
8097         update subwindows.
8098
8099         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
8100         when items haven't changed. Update faces if faces have changed as
8101         well as just the widget face.
8102         (x_tab_control_update): Update faces if faces have changed as well
8103         as just the widget face.
8104
8105 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8106
8107         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
8108         registration.
8109         (build_syscolor_string): Use mswindows_color_to_string to try to
8110         get a named color.
8111         (mswindows_device_system_metrics): Reverse the foreground and
8112         background colors so that they match the documentation.
8113
8114         * objects-msw.c: (mswindows_X_color_map): tweak some values so
8115         they match the default Windows palette.
8116         (mswindows_color_to_string): New function.
8117
8118 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8119
8120         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
8121
8122 2000-02-18  Olivier Galibert  <galibert@pobox.com>
8123
8124         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
8125         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
8126
8127         * symbols.c (init_symbols_once_early): Removed obsolete
8128         DATA_SEG_BITS related kludge.
8129         (defvar_magic): Ditto.
8130
8131         * malloc.c: Removed obsolete DATA_SEG_BITS
8132         * ralloc.c: Ditto.
8133         * mem-limits.h: Ditto.
8134
8135         * Makefile.in.in: Removed obsolete HAVE_SHM
8136         * emacs.c: Ditto.
8137
8138 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8139
8140         *  device-msw.c (mswindows_delete_device): Free DDE string
8141         handles.
8142
8143 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8144
8145         * keymap.c (get_keyelt):
8146         * unexnt.c (unexec):
8147         * vm-limit.c (memory_warnings):
8148         * ntheap.c (recreate_heap):
8149         * ntheap.h (UNINIT_PTR):
8150         * select-msw.c (Fmswindows_get_clipboard):
8151         (Fmswindows_set_clipboard):
8152         * objects-msw.h (MSWINDOWS_BAD_HFONT):
8153         * objects-msw.c:
8154         * menubar-msw.c (displayable_menu_item):
8155         * glyphs-msw.c:
8156         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
8157         * sysdep.c (sys_subshell):
8158         * process-nt.c (nt_create_process):
8159         * nt.c (normalize_filename):
8160         (dostounix_filename):
8161         (unixtodos_filename):
8162         * ntproc.c (win32_executable_type):
8163         * ntplay.c (play_sound_data_1):
8164         (play_sound_file):
8165         * editfns.c (get_home_directory):
8166         * event-msw.c (struct winsock_stream):
8167         (mswindows_dde_callback):
8168         * device-msw.c (msprinter_init_device):
8169         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
8170
8171         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
8172         mswindows_clear_toolbar were swapped!
8173
8174         * objects-msw.c:(colormap_t):
8175         (fontmap_t):
8176         * emacs.c (struct standard_args): Fixed const jumble.
8177
8178         * glyphs-widget.c (update_widget): Fixed comparison notation.
8179
8180         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
8181
8182         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
8183         __declspec(noreturn) syntax.
8184
8185 2000-02-19  Martin Buchholz  <martin@xemacs.org>
8186
8187         * eldap.c (Fldap_open):
8188         (Fldap_search_basic):
8189         (Fldap_add):
8190         (Fldap_modify):
8191         Use new coding system conversion macros.
8192
8193 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
8194
8195         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
8196
8197 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
8198
8199         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
8200         (Fldap_add, Fldap_modify, Fldap_delete): New functions
8201
8202         * eldap.c (Qadd, Qreplace): New constant symbols
8203         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
8204         interruptions by XEmacs signals
8205         Remove unnecessary calls to slow_down_interrupts and
8206         speed_up_interrupts
8207         (Fldap_search_basic): Renamed from Fldap_search_internal
8208         Added new optional parameter VERBOSE that triggers the
8209         display of progress messages
8210         Remove unnecessary calls to slow_down_interrupts and
8211         speed_up_interrupts
8212         LDAP result code analysis rewritten
8213         (Fldap_add, Fldap_modify, Fldap_delete): New functions
8214         (syms_of_eldap): Define the new symbols and functions
8215
8216
8217 2000-02-17  Martin Buchholz  <martin@xemacs.org>
8218
8219         * realpath.c: Determine PATH_MAX maximally portably.
8220
8221         * insdel.c (bytecount_to_charcount): Optimize.
8222         The function used to be optimized for entirely ASCII sequences.
8223         Now it is optimized for successive characters from the same
8224         charset.  This also wins big for _mostly_ ASCII sequences.
8225
8226         * fileio.c (Ffile_truename): convert return from realpath() using
8227         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
8228         - Rewrite GCPROing slightly.
8229
8230         * sysdep.c (sys_open): Do filename conversion, like all other
8231         sys_* functions.  Fixes bug:
8232         (let ((file-name-coding-system 'iso-8859-2))
8233            (write-region x y latin2-name))
8234         ==> writes filename using internal encoding.
8235
8236 2000-02-18  Martin Buchholz  <martin@xemacs.org>
8237
8238         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
8239         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
8240         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
8241         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
8242         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
8243         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
8244         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
8245         (CONST_IF_NOT_DEBUG): Delete.
8246         * alloc.c (this_one_is_unmarkable): Delete.
8247         (mark_object): Don't check for this_one_is_unmarkable. Use the
8248         c_readonly flag instead.
8249         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
8250
8251 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8252
8253         * event-msw.c (mswindows_drain_windows_queue):
8254         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
8255         away redundant repaint events.
8256
8257 2000-02-17  Andy Piper  <andy@xemacs.org>
8258
8259         * redisplay.h: declare mark_redisplay_structs.
8260
8261         * redisplay.c (redisplay_window):
8262         (redisplay_frame): don't check subwindows_state_changed.
8263         (mark_redisplay): mark gutters here.
8264
8265         * glyphs.c: (instantiate_image_instantiator): always layout if we
8266         haven't done so already.
8267         (allocate_image_instance): don't mark as dirty.
8268         (update_subwindow): bind inhibit_quit.
8269
8270         * gutter.c (mark_gutters): new function.
8271
8272         * glyphs-x.c (x_update_widget): Always resize to get round a
8273         widget bug.
8274
8275         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
8276         breaking absolutely everything.
8277
8278         * gutter.h: declare mark_gutters.
8279
8280 2000-02-16  Martin Buchholz <martin@xemacs.org>
8281
8282         * XEmacs 21.2.29 is released.
8283
8284 2000-02-15  Olivier Galibert  <galibert@pobox.com>
8285
8286         * fns.c (size_bit_vector): Fix computation of the size.
8287
8288 2000-02-15  Martin Buchholz  <martin@xemacs.org>
8289
8290         * *.[ch]: Change CONST to const globally.
8291         find -name '*.[ch]' | \
8292         xargs global-replace \
8293         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
8294         - Remove vestigial references to CONST_IS_LOSING
8295
8296 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8297
8298         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
8299         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
8300         events instead of dispatching them directly.
8301         (mswindows_handle_paint): New function to do repainting.
8302         (mswindows_wnd_proc):
8303         (emacs_mswindows_handle_magic_event): Call above function.
8304
8305 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8306
8307         * objects-msw.c (mswindows_create_font_variant): Return the new
8308         font handle.
8309         (initialize_font_instance): Get font metrics from the underlined
8310         variant of the font to cope with the case where the underlined
8311         font has a bigger descent.
8312
8313 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
8314
8315         * gui.c (gui_item_accelerator): Return the first underlined
8316         character in item name.
8317
8318 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8319
8320         * lisp.h: Added Qprinter.
8321
8322         * general.c (syms_of_general): Initialized it.
8323
8324         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
8325         (get_frame_dc):
8326         (get_frame_compdc): Made inline.
8327
8328         * console.h (struct console_methods): Added eject_page method.
8329
8330         * frame.h: Added FRAME_DISPLAY_P and friends.
8331         Aligned backslahes in many macros in more readable fashion.
8332         Added page_number to struct frame, and an accessor macro
8333         for it.
8334
8335         * defice.h: Added DEVICE_DISPLAY_P and friends.
8336
8337         * device.c (Fdevice_printer_p): Used these.
8338
8339         * frame.c (allocate_frame_core): Initialize page number.
8340         (Fprint_job_page_number):
8341         (Fprint_job_eject_page): Implemented.
8342
8343         * frame-msw.c (msprinter_eject_page): Added method.
8344         (msprinter_start_page): Added.
8345
8346         * window.c (Fwindow_truncated_p): Fixed docstring.
8347         (Fwindow_last_line_visible_height): Implemented.
8348
8349 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8350
8351         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
8352
8353 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
8354
8355         * syntax.c (scan_words): Always advance at least one character.
8356
8357 2000-02-13  Andy Piper  <andy@xemacs.org>
8358
8359         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
8360         to make sure the glyph is in the cachels.
8361
8362         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
8363         global image instance flag.
8364         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
8365         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
8366
8367         * glyphs.c (allocate_image_instance): set dirty bits correctly.
8368         (Fset_image_instance_property): mark layout as changed.
8369         (invalidate_glyph_geometry_maybe): mark layout as changed.
8370         (glyph_width): use new NEEDS_LAYOUT macro.
8371         (glyph_ascent): ditto.
8372         (glyph_descent): ditto.
8373         (glyph_height): ditto.
8374         (image_instance_layout): mark layout as clean after laying out.
8375         (update_subwindow): don't mark layout as clean here.
8376
8377         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
8378         should no longer be needed.
8379
8380         * glyphs-x.c (x_update_widget): sanitize asserts.
8381         (x_finalize_image_instance): sanitize assignment to widgets.
8382
8383         * glyphs-widget.c (widget_instantiate): don't need to clear the
8384         layout flag here.
8385
8386 2000-02-13  Martin Buchholz  <martin@xemacs.org>
8387
8388         * sysdep.c (getcwd): Use standard prototype.
8389         * sysdep.h (getcwd): Use standard prototype.
8390
8391         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
8392         (sequence, start, end).
8393         Remove redundant type checking.
8394         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
8395         view of `caller-protects') to avoid a crash where the real fix was
8396         found elsewhere.
8397
8398 2000-02-12  Martin Buchholz  <martin@xemacs.org>
8399
8400         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
8401
8402         * s/sol2.h: Remove feature macro initialization.
8403
8404         * alloc.c (alloc_lcrecord): Add more type checking assertions.
8405         (vector_hash): New.  Code from internal_hash.
8406         * lrecord.h:
8407         Fix up allocation subsystem comments.
8408
8409         * config.h.in: Add __EXTENSIONS__ for Solaris.
8410
8411         * systime.h (EMACS_GETTIMEOFDAY): New.
8412         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
8413         Remove Solaris-specific code.
8414         Use void* for the (ignored) second arg for gettimeofday().
8415
8416         * elhash.c (hash_table_hash): Implement it, finally.
8417         * elhash.c:  Use hashcode_t.
8418
8419         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
8420         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
8421
8422         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
8423         * fns.c (size_bit_vector):
8424         * alloc.c (size_vector):
8425         (make_vector_internal):
8426         (make_bit_vector_internal):
8427         (sweep_bit_vectors_1):
8428         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
8429
8430 2000-02-10  Martin Buchholz  <martin@xemacs.org>
8431
8432         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
8433         Include strings.h to avoid warnings for bzero and strcasecmp.
8434
8435 2000-02-10  Olivier Galibert  <galibert@pobox.com>
8436
8437         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
8438         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
8439
8440         * fns.c (size_bit_vector): New.  Declare bit vectors as a
8441         sequence.
8442
8443 2000-02-10  Olivier Galibert  <galibert@pobox.com>
8444
8445         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
8446         use a value field instead.
8447         (symbol_value_forward_forward): Use value field.
8448         (DEFVAR_SYMVAL_FWD): Use value field.
8449         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
8450         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
8451         (DEFVAR_CONST_INT): Ditto.
8452         (DEFVAR_BOOL): Ditto.
8453         (DEFVAR_CONST_BOOL): Ditto.
8454         (DEFVAR_INT_MAGIC): Ditto.
8455         (DEFVAR_BOOL_MAGIC): Ditto.
8456
8457         * symbols.c (guts_of_unbound_marker): Use value field.
8458         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
8459         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
8460
8461         * lisp.h: Declare dumpopaque and noninteractive1.
8462
8463         * alloc.c (dumpopaque): Added.
8464         (pdump_dump_opaquevec): Added.
8465         (pdump): Call pdump_dump_opaquevec to dump opaque data.
8466         (pdump_load): Reload opaque data.  Sync noninteractive1 with
8467         noninteractive.
8468
8469 2000-02-10  Andy Piper  <andy@xemacs.org>
8470
8471         * glyphs.c (image_instance_layout): if the size changes, mark it
8472         as such.
8473
8474         * redisplay-output.c (redisplay_output_layout): Update the
8475         subwindow here.
8476         (redisplay_output_subwindow): ditto.
8477
8478         * glyphs.c (update_subwindow): make sure we reset flags for
8479         layouts as well as everything else.
8480
8481         * glyphs-widget.c (layout_layout): don't need to set the instances
8482         dimensions here.
8483
8484 2000-02-09  Martin Buchholz  <martin@xemacs.org>
8485
8486         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
8487         not HAVE_DLOPEN, which is a lower-level thing.
8488
8489         * .cvsignore: Ignore gmon.out
8490
8491 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
8492
8493         * .cvsignore: Ignore portable dumper xemacs.dmp file
8494
8495 2000-02-09  Andy Piper  <andy@xemacs.org>
8496
8497         * redisplay-output.c (redisplay_output_layout): be more clever
8498         about when we output based on the changed flags.
8499
8500         * glyphs.h (struct image_instantiator_methods): add update_method.
8501         (struct Lisp_Image_Instance): add changed flags. Declare new
8502         macros for manipulating them.
8503
8504         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
8505         (image_instance_parent_glyph): find an image_instance's parent
8506         glyph or image_instance.
8507         (image_instance_layout): mark the size as changed.
8508         (set_image_instance_dirty_p): new function. mark an image
8509         instance, plus all of its parents, as dirty.
8510         (Fset_image_instance_property): use it.
8511         (Fglyph_animated_timeout_handler): use it.
8512         (update_subwindow): call update_widget and device methods for
8513         update_subwindow. Mark all changed flags as clean.
8514         (Fresize_subwindow): mark size as changed.
8515
8516         * glyphs-x.c (x_finalize_image_instance): try and detect gc
8517         failures.
8518         (x_update_subwindow): only resize subwindows here.
8519         (x_update_widget): new function. Update all changed properties of
8520         a widget.
8521         (x_resize_subwindow): deleted.
8522         (x_widget_set_property): deleted.
8523         (x_progress_gauge_set_property): deleted.
8524         (x_progress_gauge_update): new function. Implement recorded
8525         changes.
8526         (x_tab_control_update): ditto.
8527         (x_tab_control_set_property): deleted.
8528         (console_type_create_glyphs_x): declare new functions.
8529         (image_instantiator_format_create_glyphs_x): ditto.
8530
8531         * glyphs-widget.c (widget_set_property): mark text changed.
8532         (update_widget): new function. Update properties of a widget.
8533         (widget_instantiate): for layouts make sure we set their
8534         children's parent correctly.
8535         (tab_control_set_property): new function. Record changes that will
8536         take place under redisplay's control.
8537         (progress_gauge_set_property): ditto.
8538         (image_instantiator_progress_guage): declare new functions.
8539         (image_instantiator_tab_control): ditto.
8540
8541         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
8542         now.
8543         (mswindows_update_widget): new function. Update all properties on
8544         a widget that have changed.
8545         (mswindows_button_update): new function. Update a button's set
8546         state.
8547         (mswindows_tab_control_update): new function. Update the items in
8548         a tab.
8549         (mswindows_tab_control_set_property): deleted.
8550         (mswindows_progress_gauge_update): new function. Update the
8551         progress gauge's progress.
8552         (mswindows_widget_set_property): deleted. This is all done
8553         asynchronously now.
8554         (mswindows_progress_gauge_set_property): ditto.
8555         (console_type_create_glyphs_mswindows): declare new methods.
8556         (image_instantiator_format_create_glyphs_mswindows): ditto.
8557
8558         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
8559         (msprinter_set_frame_properties): ditto.
8560
8561         * console.h (struct console_methods): Add update_widget_method.
8562
8563 2000-02-09  Andy Piper  <andy@xemacs.org>
8564
8565         * gui-msw.c (Fmswindows_shell_execute): Make
8566         mswindows-shell-execute industrial strength.
8567
8568 2000-02-08  Martin Buchholz  <martin@xemacs.org>
8569
8570         * lrecord.h: Make macro argument `props' match member function `plist'.
8571         * fns.c (Fget):
8572         * fns.c (Fput):
8573         * fns.c (Fremprop):
8574         * fns.c (Fobject_plist):
8575         * alloc.c:
8576         * symbols.c:
8577         Object property list frobbing cleanup.
8578         - Allow any lisp object (compared with `eq'), not just symbols, as
8579           keys in object plists.
8580         - Move symbol plist frobbing into symbols.c, where it belongs.
8581         - Move string plist frobbing into alloc.c, where it belongs.
8582         - Everything's an lrecord now, so no need to test for symbolp, etc.
8583         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
8584
8585         * extents.c: Reorder code to remove declarations.
8586
8587         * frame.h (store_in_alist): Remove useless declaration.
8588
8589 2000-02-07  Martin Buchholz  <martin@xemacs.org>
8590
8591         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
8592         * config.h.in: Add HAVE_XCONVERTCASE.
8593
8594 2000-02-07  Andy Piper  <andy@xemacs.org>
8595
8596         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
8597         it breaks many things.
8598
8599 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8600
8601         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
8602         actually can start a common comment type.
8603         * src/syntax.h (SYNTAX_END_P): ditto for end.
8604
8605 2000-02-07  Martin Buchholz <martin@xemacs.org>
8606
8607         * XEmacs 21.2.28 is released.
8608
8609 2000-02-06  Martin Buchholz  <martin@xemacs.org>
8610
8611         * event-Xt.c (x_keysym_to_character): New.
8612         (maybe_define_x_key_as_self_inserting_character): New.
8613         (x_has_keysym): New.
8614         Auto-define all keys on the keyboard as self-insert-key.
8615
8616 2000-02-02  Martin Buchholz  <martin@xemacs.org>
8617
8618         * menubar.c (vars_of_menubar): A small code simplification.
8619
8620         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
8621
8622         * ExternalShell.c:
8623         * ExternalClient.c:
8624         * EmacsShell-sub.c:
8625         * EmacsManager.c:
8626         * EmacsFrame.c:
8627         Use consistent style for specifying X resources.
8628
8629         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
8630         This makes (dontusethis-set-symbol-value-handler) actually usable.
8631
8632         * lrecord.h (lrecord_decription_type):
8633         * alloc.c (pdump_register_sub):
8634         (pdump_dump_data):
8635         (pdump_reloc_one):
8636         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
8637         Comply with XEmacs coding style.
8638         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
8639         args, and XD_LISP_OBJECT_ARRAY with 3 args.
8640
8641         * keymap.c (Faccessible_keymaps):
8642         Make (accessible-keymaps map "\C-h") do the Right Thing.
8643         Make (accessible-keymaps map []) do the Right Thing.
8644         Make (accessible-keymaps map "") do the Right Thing.
8645         (check_keymap_definition_loop): New function.
8646         (keymap_store_internal): Keep luser from shooting self in foot,
8647           via (define-key ctl-x-4-map "p" global-map).
8648         Remove fullness slot from struct Lisp_Keymap, since hash tables
8649         are now reliable.
8650         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
8651
8652 2000-01-30  Martin Buchholz  <martin@xemacs.org>
8653
8654         * redisplay.c (init_redisplay): Fix small memory leak.
8655         * elhash.h:
8656         * elhash.c (pdump_reorganize_hash_table):
8657         Rename from reorganize_hash_table. Change prototype.
8658         Reuse the original memory for hentries.  Save 100k.
8659         * alloc.c (PDUMP_READ): new macro.
8660         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
8661         * alloc.c: No need to #ifndef before #undef.
8662
8663         * print.c: Allow debug_print() to print readably by modifying
8664         debug_print_readably.  Use consistent variable names.
8665
8666         * .dbxrc: Try to get things to work even if stopped in a function
8667         without source available by explicitly specifying source files.
8668 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8669
8670         * unexnt.c (_start): Removed bogus code which caused loading heap
8671         from differrent executable file.
8672         Removed bogus assignment to _fmode, which caused inconsistencies.
8673
8674 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8675
8676         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
8677         Have spawnve encapsulation regard DONT_ENCAPSULATE.
8678         Do not preliminary `#define signal sigset'.
8679
8680         * systime.h: Do not prototype environ on windows nt and cygwin,
8681         this conflicts with system header.
8682
8683         * syssignal.h: Use correct define for WINDOWSNT
8684
8685         * sysdep.h: Do not prototype environ on windows nt, this conflicts
8686         with system header.
8687
8688         * sysdep.c (near start of file): Fixed commentary and rearranged
8689         ifdefs in readable order.
8690         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
8691         (start_of_text):
8692         (end_of_text):
8693         (end_of_data): Do not compile in if using PDUMP.
8694
8695         * symsinit.h: Prototyped vars_of_nt().
8696
8697         * ntproc.c (windows9x_p): Added, instead of os_subtype.
8698         (find_child_console): Use it.
8699         (sys_kill): Use it.
8700
8701         * ntheap.h: Do not extern os_subtype.
8702
8703         * ntheap.c (cache_system_info): Do not cache unneeded:
8704         nt_major_version, nt_minor_version and os_subtype.
8705         (recreate_heap): Do not compile in when PDUMPing.
8706
8707         * nt.c (geteuid and friends): Use the new varibale
8708         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
8709         (init_user_info): Removed the above mentioned hackery.
8710         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
8711         stat has been fixed in the C runtime.
8712         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
8713
8714         * file-coding.c (struct file_coding_dump): Do not define
8715         ucs_to_mule_table in the struct if not MULE.
8716         (struct struct lrecord_description fcd_description_1): Do not dump
8717         the above.
8718
8719         * emacs.c (main_1): Call vars_of_nt().
8720         (right before Fdump_emacs_data): Don't need lastfile if using both
8721         portabe dumper and system malloc.
8722
8723         * alloc.c (Fmemory_limit): Conditionalized out.
8724         (pdump): Use OPEN_BINARY for the portable dump file.
8725         (pdump_load): Ditto.
8726
8727 2000-02-02  Mike Alexander  <mta@arbortext.com>
8728
8729         * nt.c (convert_time): Set tm_isdst before calling mktime and
8730         avoid calling it at all if the compiler supports 64 bit integers.
8731         Also initialize utc_base_ft before using it.
8732
8733 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
8734
8735         * frame.c (change_frame_size_1): Take f->internal_border_width
8736         into consideration when calculating the width of the frame.
8737
8738 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8739
8740         * window.c (frame_min_height):
8741         (frame_size_valid_p):
8742         (frame_pixsize_valid_p): Added.
8743         (check_frame_size): Generalized.
8744
8745         * window.h: Prototyped the above.
8746
8747         * lisp.h:
8748         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
8749         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
8750         Deleted Vwin32_* and Vbinary_process_* unused variables.
8751
8752         * device-msw.c (msprinter_init_device): Do not get printer font
8753         list; Added DEVMODE functions.
8754
8755         * frame-msw.c: Added lots of printer code.
8756
8757         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
8758         general.c.
8759
8760         * console-msw.h: Added more msprinter device private slots.
8761
8762 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8763
8764         * event-msw.c (key_needs_default_processing_p): Added.
8765         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
8766
8767 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8768
8769         * glyphs.c (image_instance_layout): Mark image instance as clean
8770         after layout.
8771         (glyph_dirty_p): Removed redundant function.
8772         (invalidate_glyph_geometry_maybe): Added.
8773         (update_glyph_cachel_data): Call it.
8774
8775         * glyphs.h: Prototyped it.
8776
8777         * redisplay.c (add_glyph_rune): Call it.
8778         (redisplay_window): Reset glyphs cachels when frame faces has
8779         changed, thus forcing recomputation of built-in border glyphs.
8780
8781 2000-01-30  Martin Buchholz  <martin@xemacs.org>
8782
8783         * Makefile.in.in: Make portable dumper and purify play well together.
8784         Add imperfect, but better than nothing, support for pdump.
8785         Remove xemacs.dmp when temacs is re-generated.
8786         Don't ignore errors when dumping xemacs.
8787
8788         * symbols.c (maybe_call_magic_handler): Remove one magic number.
8789
8790 2000-01-28  Andy Piper  <andy@xemacs.org>
8791
8792         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
8793         (setup_normal_frame): ditto.
8794         (setup_frame_without_minibuffer): ditto.
8795         (setup_minibuffer_frame): ditto.
8796         (delete_frame_internal): ditto.
8797         (Fmake_frame_invisible): ditto.
8798         (Ficonify_frame): ditto.
8799
8800         * window.h: change Fset_window_buffer signature.
8801
8802         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
8803         (Fset_window_buffer): allow recording of buffer if the window is
8804         the selected window.
8805         (window_loop): Use new Fset_window signature.
8806
8807 2000-01-23  Daniel Pittman  <daniel@danann.net>
8808
8809         * config.h.in: Added template for `HAVE_ATHENA_3D'
8810
8811 2000-01-29  Andy Piper  <andy@xemacs.org>
8812
8813         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
8814
8815         * gutter.c (output_gutter): Don't output if the window isn't live.
8816
8817 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8818
8819         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
8820         of 01/12/00: Moved SetFocus back here where it belongs.
8821
8822 2000-01-23  Andy Piper  <andy@xemacs.org>
8823
8824         * s/cygwin32.h: declare printer things.
8825
8826 2000-01-26  Andy Piper  <andy@xemacs.org>
8827
8828         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
8829         Alexander.
8830
8831 2000-01-24  Andy Piper  <andy@xemacs.org>
8832
8833         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
8834         (mswindows_button_instantiate): Make sure glyph is a pixmap.
8835
8836         * glyphs-widget.c (widget_instantiate): Avoid shadows.
8837
8838         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
8839
8840         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
8841
8842         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
8843         (mswindows_output_display_block): Avoid local shadows.
8844
8845         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
8846         (mswindows_enqueue_mouse_button_event): ditto.
8847         (mswindows_handle_gui_wm_command): remove declaration.
8848
8849         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
8850         warnings.
8851
8852         * console-msw.h: Avoid shadows.
8853         (mswindows_get_toolbar_button_text):
8854         (emacs_mswindows_create_stream_pair):
8855         (emacs_mswindows_delete_stream_pair):
8856         (mswindows_handle_toolbar_wm_command): declare.
8857
8858         * device-msw.c (build_syscolor_string): Avoid shadows.
8859
8860 2000-01-23  Andy Piper  <andy@xemacs.org>
8861
8862         * glyphs-widget.c (widget_instantiate): reverse the items for
8863         layouts so that children are in the expected order.
8864
8865 2000-01-28  Martin Buchholz  <martin@xemacs.org>
8866
8867         * ralloc.c: safe_bcopy ==> memmove
8868         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
8869         * s/msdos.h: Remove BCOPY macros.
8870         * insdel.c (gap_right): Remove BCOPY conditional code.
8871         * insdel.c (gap_left): Remove BCOPY conditional code.
8872         XEmacs demands a working ANSI C compiler - hence memmove.
8873
8874         * regex.c (regex_compile): Remove accidental use of trigraphs.
8875
8876 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8877
8878         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
8879         event timestamp.
8880
8881 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8882
8883         * event-msw.c (mswindows_drain_windows_queue): Added the
8884         parameter.
8885         (mswindows_need_event): Commented the call to
8886         mswindows_drain_windows_queue().
8887         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
8888         only.
8889
8890         * console-msw.h: Moved a few function prototypes here from
8891         event-msw.c.
8892
8893         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
8894         parameter from unsigned short to unsigned long.
8895         (Fmswindows_shell_execute): Added return value.
8896
8897 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
8898
8899         * sysdep.c (init_system_name):
8900           process-unix.c (unix_canonicalized_host_name):
8901         Don't call freeaddrinfo() if getaddrinfo() fails.
8902
8903         * process-unix.c (unix_open_unix_network_stream):
8904         Moved the code to get a port # into address loop.
8905
8906 2000-01-27  Martin Buchholz  <martin@xemacs.org>
8907
8908         * buffer.c (reinit_vars_of_buffer):
8909         The right place to initialize conversion_in_dynarr and
8910         conversion_out_dynarr.
8911
8912         * alloc.c (pdump): Use the real open() till sys_open() is functional.
8913
8914         * process-unix.c (unix_canonicalize_host_name): Muleize.
8915         (unix_open_network_stream): Muleize.
8916
8917         * buffer.h: Fix up prototypes for ralloc.c functions.
8918
8919 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
8920         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
8921         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
8922                 instead of gethostbyname()
8923         * process-unix.c: In unix_canonicalize_host_name() and
8924                 unix_open_network_stream(), add code to use getaddrinfo()
8925                 instead of gethostbyname().
8926
8927 2000-01-27  Daniel Pittman <daniel@danann.net>
8928
8929         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
8930         libs when built with flat Athena.
8931
8932 2000-01-27  Martin Buchholz  <martin@xemacs.org>
8933
8934         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
8935         Use coding standards for function prototypes.
8936
8937 2000-01-25  Martin Buchholz  <martin@xemacs.org>
8938
8939         * dialog-msw.c (push_lisp_string_as_unicode):
8940         * doc.c (unparesseuxify_doc_string):
8941         * dired.c (Fuser_name_completion_1):
8942         * dired.c (Fuser_name_all_completions):
8943         * dired.c (free_user_cache):
8944         * dired.c (user_name_completion):
8945         * console-x.c (get_display_arg_connection):
8946         * minibuf.c (clear_echo_area_internal):
8947         * minibuf.c (echo_area_append):
8948         * eldap.c (Fldap_open):
8949         * eldap.c (Fldap_search_internal):
8950         * frame-x.c (x_set_frame_text_value):
8951         * frame-x.c (x_set_frame_properties):
8952         * frame-x.c (x_create_widgets):
8953         * redisplay-tty.c (term_get_fkeys_1):
8954         * objects-x.c (x_parse_nearest_color):
8955         * objects-x.c (x_valid_color_name_p):
8956         * objects-x.c (x_initialize_font_instance):
8957         * objects-x.c (x_list_fonts):
8958         * objects-x.c (x_find_charset_font):
8959         * tooltalk.c (Fadd_tooltalk_message_arg):
8960         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
8961         * tooltalk.c (Fadd_tooltalk_pattern_arg):
8962         * process-unix.c (unix_create_process):
8963         * ntproc.c (sys_spawnve):
8964         * sound.c (Fplay_sound_file):
8965         * sound.c (Fplay_sound):
8966         * buffer.c (init_initial_directory):
8967         * buffer.c (init_buffer):
8968         * editfns.c (init_editfns):
8969         * editfns.c (Ftemp_directory):
8970         * editfns.c (Fuser_full_name):
8971         * editfns.c (uncache_home_directory):
8972         * editfns.c (get_home_directory):
8973         * editfns.c (Fuser_home_directory):
8974         * editfns.c (Fformat_time_string):
8975         * editfns.c (Fcurrent_time_string):
8976         * gui-x.c (button_item_to_widget_value):
8977         * database.c (Fopen_database):
8978         * event-Xt.c (x_to_emacs_keysym):
8979         * event-Xt.c (x_event_to_emacs_event):
8980         * event-Xt.c (describe_event_window):
8981         * event-msw.c (mswindows_wnd_proc):
8982         * glyphs-eimage.c (jpeg_instantiate):
8983         * glyphs-eimage.c (gif_instantiate):
8984         * glyphs-eimage.c (png_instantiate):
8985         * glyphs-eimage.c (tiff_instantiate):
8986         * glyphs-x.c (xbm_instantiate_1):
8987         * glyphs-x.c (x_xbm_instantiate):
8988         * glyphs-x.c (x_xface_instantiate):
8989         * glyphs-x.c (autodetect_instantiate):
8990         * glyphs-x.c (cursor_font_instantiate):
8991         * glyphs-x.c (x_widget_instantiate):
8992         * glyphs-x.c (x_widget_set_property):
8993         * glyphs-x.c (x_widget_property):
8994         * glyphs-x.c (BUILD_GLYPH_INST):
8995         * print.c (write_string_to_stdio_stream):
8996         * print.c (output_string):
8997         * print.c (Falternate_debugging_output):
8998         * print.c (Fexternal_debugging_output):
8999         * glyphs-msw.c (extract_xpm_color_names):
9000         * glyphs-msw.c (mswindows_xpm_instantiate):
9001         * glyphs-msw.c (bmp_instantiate):
9002         * glyphs-msw.c (resource_name_to_resource):
9003         * glyphs-msw.c (mswindows_resource_instantiate):
9004         * glyphs-msw.c (xbm_instantiate_1):
9005         * glyphs-msw.c (mswindows_xbm_instantiate):
9006         * glyphs-msw.c (mswindows_xface_instantiate):
9007         * glyphs-msw.c (mswindows_widget_instantiate):
9008         * glyphs-msw.c (add_tree_item):
9009         * glyphs-msw.c (add_tab_item):
9010         * glyphs-msw.c (mswindows_combo_box_instantiate):
9011         * glyphs-msw.c (mswindows_widget_property):
9012         * glyphs-msw.c (mswindows_combo_box_property):
9013         * glyphs-msw.c (mswindows_widget_set_property):
9014         * console.c (stuff_buffered_input):
9015         * objects-msw.c (mswindows_initialize_color_instance):
9016         * objects-msw.c (mswindows_valid_color_name_p):
9017         * objects-msw.c (mswindows_list_fonts):
9018         * objects-msw.c (mswindows_font_instance_truename):
9019         * bytecode.c (optimize_compiled_function):
9020         * select-x.c (symbol_to_x_atom):
9021         * select-x.c (x_atom_to_symbol):
9022         * select-x.c (hack_motif_clipboard_selection):
9023         * select-x.c (selection_data_to_lisp_data):
9024         * select-x.c (lisp_data_to_selection_data):
9025         * select-x.c (Fx_get_cutbuffer_internal):
9026         * select-x.c (Fx_store_cutbuffer_internal):
9027         * buffer.h (TO_EXTERNAL_FORMAT): New function.
9028         * buffer.h (TO_INTERNAL_FORMAT): New function.
9029         * emacs.c (make_arg_list_1):
9030         * emacs.c (make_argc_argv):
9031         * emacs.c (main_1):
9032         * emacs.c (Fdump_emacs):
9033         * emacs.c (split_string_by_emchar_1):
9034         * file-coding.h:
9035         * lisp.h:
9036         * lstream.h:
9037         * symsinit.h:
9038         * device-x.c (x_init_device):
9039         * device-x.c (Fx_valid_keysym_name_p):
9040         * device-x.c (Fx_get_font_path):
9041         * device-x.c (Fx_set_font_path):
9042         * glyphs.c (bitmap_to_lisp_data):
9043         * glyphs.c (pixmap_to_lisp_data):
9044         * alloc.c (make_ext_string): Use coding system arguments.  Update
9045         all callers.
9046         * alloc.c (build_string):
9047         * callproc.c (child_setup):
9048         * callproc.c (init_callproc):
9049         * fileio.c (lisp_strerror):
9050         * fileio.c (directory_file_name):
9051         * fileio.c (Fexpand_file_name):
9052         * fileio.c (Ffile_truename):
9053         * fileio.c (Fsysnetunam):
9054         * fileio.c (Fdo_auto_save):
9055         * sysdep.c (sys_readdir):
9056         * tests.c: New file.  Allow adding C tests.
9057         Replace GET_* macros with a more comprehensible and flexible
9058         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
9059         Modify all calls.
9060         Any coding system can be used to do format conversion.
9061         Eliminate enum external_data_format.
9062         Eliminate convert_to_external_format.
9063         Eliminate convert_to_internal_format.
9064         Make sure file-name, keyboard, terminal, and ctext are always
9065         defined as coding systems or aliases.  Make
9066         file-name-coding-system, terminal-coding-system, and
9067         keyboard-coding-system magical variables that are equivalent to
9068         defining the corresponding coding system aliases.
9069
9070         * file-coding.c (Fcoding_system_canonical_name_p): New function.
9071         * file-coding.c (Fcoding_system_alias_p): New function.
9072         * file-coding.c (Fcoding_system_aliasee): New function.
9073         * file-coding.c (append_suffix_to_symbol): New function.
9074         * file-coding.c (dangling_coding_system_alias_p): New function.
9075         * file-coding.c (Ffind_coding_system):
9076         * file-coding.c (Fcopy_coding_system):
9077         * file-coding.c (encode_coding_no_conversion):
9078         * file-coding.c (syms_of_file_coding):
9079         * file-coding.c (vars_of_file_coding):
9080         Rewrite coding system alias code.
9081         Allow nested aliases, like symbolic links.
9082         Allow redefinition of coding system aliases.
9083         Prevent existence of dangling coding system aliases.
9084
9085         * dired.c (Fuser_name_completion_1):
9086         * dired.c (Fuser_name_all_completions):
9087         A crash would happen if user did QUIT in the middle of building
9088         user_name_cache.  Remove redundant code in mainline and unwind_protect.
9089
9090         * lisp.h:
9091         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
9092
9093         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
9094         an unsigned char *.  Update all callers.
9095
9096 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9097
9098         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
9099
9100 2000-01-25  Martin Buchholz  <martin@xemacs.org>
9101
9102         * elhash.c (hentry_description): Use more portable definition.
9103         (resize_hash_table): Initialize new hentries using
9104         xnew_array_and_zero, thereby simplifying the code.
9105
9106         * mule-charset.c (make_charset): Make sure entire object is
9107         initialized, to avoid Purify warnings.
9108
9109         * alloc.c (resize_string): Fix unlikely crash with big strings.
9110
9111 2000-01-24  Martin Buchholz  <martin@xemacs.org>
9112
9113         * realpath.c (xrealpath):
9114         Don't call getwd().
9115
9116 2000-01-25  Martin Buchholz  <martin@xemacs.org>
9117
9118         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
9119
9120 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
9121
9122         * unexelfsgi.c (unexec): Change the way we decide which segment
9123         should be extended.
9124
9125         Assumption that .bss section should be outside the PT_LOADable
9126         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
9127         it's present) is inside the 'data' segment. This would fail the
9128         test which was used to find a segment to grow and cover new
9129         heap. Instead of this assumption, I created another one - on IRIX
9130         the segment to grow should start below .bss and it's address
9131         should extent above the end of .bss. Once this segment is
9132         identified, it's grown to accommodate the new heap and new
9133         zero-length .bss section is added at the end of .data2.
9134
9135 2000-01-25  Martin Buchholz  <martin@xemacs.org>
9136
9137         * eval.c (Feval): Wrong number of arguments should use original
9138         function, not the indirect_function version of it.
9139
9140 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9141
9142         * glyphs-x.c (x_button_instantiate): Don't add image if
9143         it is not a pixmap.
9144         (x_locate_pixmap_file): Call Fexpand_file_name when file name
9145         is relative.
9146
9147 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
9148
9149         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
9150         declaration.
9151         (DEFVAR_INT_MAGIC): Ditto.
9152         (DEFVAR_BOOL_MAGIC): Ditto.
9153         * glyphs.h: Reindent backslash.
9154
9155 2000-01-24  Martin Buchholz  <martin@xemacs.org>
9156
9157         * glyphs-widget.c (layout_query_geometry):
9158         (layout_layout): Use correct types for gheight, gwidth.
9159
9160 2000-01-24  Martin Buchholz  <martin@xemacs.org>
9161
9162         * EmacsManager.c (QueryGeometry): Purified.
9163
9164 2000-01-23  Martin Buchholz  <martin@xemacs.org>
9165
9166         * alloc.c (make_float): Make sure entire object is initialized, to
9167         avoid Purify warnings.
9168         (pdump_register_sub): Remove useless assignment.
9169         (pdump): Use xmalloc, not malloc.
9170         (pdump_load): Use xmalloc, not malloc.
9171
9172 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9173
9174         * callproc.c:
9175         * dired-msw.c:
9176         * fileio.c:
9177         * process-nt.c:
9178         * redisplay-msw.c:
9179         * sysdep.c: Removed redundant #include <windows.h>
9180
9181 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9182
9183         * frame.c (delete_frame_internal): Do not delete device when its
9184         implementation so declares.
9185         (delete_frame_internal): Set device selected frame to nil when
9186         last frame goes away.
9187
9188         * device-msw.c (msprinter_device_system_metrics): Implemented.
9189         (mswindows_device_system_metrics): Added 'device-dpi property.
9190
9191         * device.c: (Fdevice_printer_p): Added.
9192         Added 'offset-workspace device metric.
9193
9194         * console.h (device_metrics): Declared DM_offset_workspace.
9195
9196 2000-01-23  Martin Buchholz  <martin@xemacs.org>
9197
9198         * fileio.c (Ffile_truename): Remove pointless and confusing
9199         initialization of elen.
9200
9201         * glyphs-widget.c: Compiler warning fixes.
9202
9203 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9204
9205         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
9206         instead of a Lisp_Object as argument to make it consistent with
9207         the other LIVE_P macros.
9208         (CHECK_LIVE_PROCESS): New macro.
9209
9210         * process.c: Declare Qprocess_live_p.
9211         (Fprocess_live_p): New function.
9212         (create_process): Use PROCESS_LIVE_P.
9213         (read_process_output): Ditto.
9214         (set_process_filter): Ditto.
9215         (Fdelete_process): Ditto.
9216         (kill_buffer_processes): Ditto
9217         (process_send_signal): Use CHECK_LIVE_PROCESS.
9218         (Fprocess_input_coding_system): Check whether process is still
9219         alive (fix PR#1061).
9220         (Fprocess_output_coding_system): Ditto.
9221         (Fprocess_coding_system): Ditto.
9222         (Fset_process_input_coding_system): Ditto.
9223         (Fset_process_output_coding_system): Ditto.
9224
9225 2000-01-23  Andy Piper  <andy@xemacs.org>
9226
9227         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
9228         layout and widget.
9229
9230         * glyphs.c (mark_image_instance): take into account changed
9231         image_instance format.
9232         (image_instance_equal): ditto.
9233         (image_instance_hash): ditto.
9234
9235         * glyphs-widget.c (widget_instantiate): Incorporate layout
9236         instantiation here. Delay layout of the layout until later.
9237         (layout_instantiate): deleted.
9238         (layout_query_geometry): new function. get the geometry of a
9239         layout.
9240         (layout_layout): layout a layout dynamically.
9241         (image_instantiator_widget): New function - splitting up
9242         image_instantiator_format_create_glyphs_widget for netwinder
9243         compilation.
9244         (image_instantiator_buttons):
9245         (image_instantiator_edit_fields):
9246         (image_instantiator_combo_box):
9247         (image_instantiator_scrollbar):
9248         (image_instantiator_progress_guage):
9249         (image_instantiator_tree_view):
9250         (image_instantiator_tab_control):
9251         (image_instantiator_labels):
9252         (image_instantiator_layout): ditto.
9253         (image_instantiator_format_create_glyphs_widget): Call preceding
9254         functions.
9255
9256 2000-01-22  Martin Buchholz  <martin@xemacs.org>
9257
9258         * process.c (Fset_process_coding_system):
9259         * device-x.c (Fx_keysym_hash_table):
9260         Docstring fixes.
9261
9262         * lstream.c (Lstream_write): Return documented value, not 0.
9263
9264         * fileio.c (directory_file_name):
9265         (Fsubstitute_in_file_name):
9266         (Fsubstitute_insert_file_contents_internal):
9267         (Fwrite_region_internal):
9268         * emacs.c:
9269         * sysdep.c:
9270         * getloadavg.c:
9271         * systty.h:
9272         Remove vestigial APOLLO-conditional code.
9273
9274 2000-01-21  Martin Buchholz  <martin@xemacs.org>
9275
9276         * getpagesize.h: Add guard macros.
9277         * libsst.h: Add guard macros.
9278         * libst.h: Add guard macros.
9279         * line-number.h: Add guard macros.
9280         * ndir.h: Add guard macros.
9281         * sysfloat.h: Add guard macros.
9282         * sysfile.h: Add guard macros.
9283         * sysproc.h: Add guard macros.
9284         * syswait.h: Add guard macros.
9285         * xintrinsic.h: Add guard macros.
9286         * xintrinsicp.h: Add guard macros.
9287         * xmmanager.h: Add guard macros.
9288         * xmmanagerp.h: Add guard macros.
9289         * xmprimitive.h: Add guard macros.
9290         * xmu.h: Add guard macros.
9291         * gpmevent.h: Add copyright statement. Add guard macros.
9292         * miscplay.h: Add guard macros.
9293         * *.h: Use consistent C-standards-approved guard macro names.
9294
9295         * opaque.c (make_opaque): Switch parameter order.
9296         * opaque.h (make_opaque): Switch parameter order.
9297         Update all callers.
9298         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
9299
9300         * config.h.in (type_checking_assert): Added.
9301         (bufpos_checking_assert): Added.
9302
9303 2000-01-21  Martin Buchholz  <martin@xemacs.org>
9304
9305         * alloc.c: Harmless pdump changes.
9306         - Use countof().
9307         - spell alignment correctly.
9308         * sysdep.c: Use countof()
9309
9310 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9311
9312         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
9313         initially_selected_for_input() console method, default to 0.
9314         (semi_canonicalize_console_connection): Try to delegate to
9315         canonicalize_console_connection if no such console method.
9316         (canonicalize_console_connection): Vice versa.
9317         (print_console): Do not print nil connection.
9318
9319         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
9320         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
9321         (XDEVIMPF_FRAMELESS_OK): Added.
9322         (CONSOLE_INHERITS_METHOD): Added.
9323
9324         * console-msw.c (mswindows_canonicalize_console_connection):
9325         Added.
9326         (mswindows_canonicalize_device_connection): Added.
9327
9328         * console-msw.h (struct msprinter_device): Added this struct and
9329         accessor macros.
9330         (mswindows_device): Made fontlist a lisp object.
9331
9332         * device.c (semi_canonicalize_device_connection):  Try to delegate
9333         to canonicalize_device_connection if no such console method.
9334         (canonicalize_device_connection): Vice versa.
9335         (print_device): Do not print nil connection.
9336
9337         * device-msw.c (mswindows_init_device): Call InitCommonControls
9338         when have widgets.
9339         (mswindows_delete_device): Removed fontlist deallocation.
9340         (mswindows_mark_device): Added.
9341
9342         * events.c (event_equal): Added abort() at unreached code.
9343         (event_hash): Ditto.
9344
9345         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
9346         fallback tags of Windows devices.
9347
9348         * general.c (syms_of_general): Initialized Qmsprinter.
9349
9350         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
9351         of fallback tags of Windows devices.
9352
9353         * lisp.h: Declared Qmsprinter.
9354
9355         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
9356         of strings.
9357         (mswindows_list_fonts): Ditto.
9358         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
9359         that it can be used by both mswindows and msprinter devices.
9360         (initialize_font_instance): Added.
9361         (mswindows_initialize_font_instance): Use it.
9362         (msprinter_initialize_font_instance): Added.
9363
9364         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
9365         and implementation flags check.
9366         (redisplay_without_hooks): Changed the call to the above.
9367         (Fredraw_device): Ditto.
9368         (Fredisplay_device): Ditto.
9369
9370         * redisplay-msw.c (get_frame_dc): Implemented.
9371         (get_frame_compdc): Implemented.
9372         (many functions): Use the two functions above to get device
9373         contexts, ether for a window or a printer.
9374
9375 2000-01-21  Olivier Galibert  <galibert@pobox.com>
9376
9377         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
9378         initialization here.
9379         (init_symbols_once_early): Call it.
9380         * emacs.c (main_1): Call it.
9381         * symsinit.h: Declare it.
9382
9383 2000-01-19  Olivier Galibert  <galibert@pobox.com>
9384
9385         * alloc.c: Use a lrecord_header * in the backtrace instead of a
9386         Lisp_Object.
9387         (pdump_backtrace): Ditto.
9388         (pdump_register_object): Ditto.  Cleanup use of the pointers.
9389         (pdump_get_entry): Abort if trying to register a null pointer.
9390         (pdump_dump_data): Cleanup types when relocating.
9391         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
9392         (pdump_dump_rtables): Remove bad casts.
9393         (pdump_load): Cleanup relocation w.r.t union type.  Use a
9394         Lisp_Object instead of a EMACS_INT for the hashtable
9395         reorganization.
9396
9397 2000-01-20  Martin Buchholz  <martin@xemacs.org>
9398
9399         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
9400
9401         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
9402
9403         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
9404
9405         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
9406
9407 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9408
9409         * faces.h (FACE_STRIKETHRU_P): Added.
9410
9411         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
9412         of font variants.
9413
9414         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
9415         (mswindows_set_dc_font): New function, aware of font variants,
9416         separated from mswindows_update_dc.
9417
9418         * objects-msw.h (struct mswindows_font_instance_data): Added
9419         definition.
9420
9421         * objects-msw.c (mswindows_finalize_font_instance): Delete all
9422         cached fonts and the data structure.
9423         (mswindows_initialize_font_instance): Added creation of font data
9424         structure.
9425         (mswindows_print_font_instance): Print at least something.
9426         (mswindows_create_font_variant): Implemented.
9427         (mswindows_get_hfont): Implemented.
9428
9429 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
9430
9431         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
9432         prototyping problem with msvc.
9433
9434         * emacs.c (main_1): added syms_of_gui_mswindows() call
9435
9436         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
9437         syms_of_gui_mswindows() function
9438
9439         * symsinit.h: added the prototype for syms_of_gui_mswindows()
9440
9441 2000-01-18  Martin Buchholz <martin@xemacs.org>
9442
9443         * XEmacs 21.2.27 is released.
9444
9445 2000-01-18  Martin Buchholz  <martin@xemacs.org>
9446
9447         * glyphs-eimage.c (struct tiff_error_struct):
9448         (tiff_error_func):
9449         (tiff_warning_func):
9450         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
9451
9452         * unexmips.c:
9453         * unexhp9k3.c:
9454         * unexfreebsd.c:
9455         * unexec.c: Remove vestigial Lucid C code.
9456         * unexalpha.c:
9457         * unexaix.c:
9458         * termcap.c:
9459         * libsst.c: Ansify.
9460         Remove declarations of errno and strerror().
9461
9462         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
9463
9464         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
9465
9466 2000-01-16  Martin Buchholz  <martin@xemacs.org>
9467
9468         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
9469         Optimize.
9470
9471 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
9472
9473         * md5.c:
9474         * file-coding.c:
9475         * file-coding.h:
9476         Change enum eol_type to eol_type_t.
9477
9478 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
9479
9480         * gui.c (get_gui_callback): Check cons before accessing car.
9481
9482 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
9483
9484         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
9485         (XSETSPECIFIER_TYPE): Ditto.
9486
9487 2000-01-17  Didier Verna  <didier@xemacs.org>
9488
9489         * redisplay.c (generate_fstring_runes): compute string size in
9490         characters, not bytes.
9491
9492 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
9493
9494         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
9495
9496 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
9497
9498         * print.c (print_error_message): Call print_prepare().
9499
9500 2000-01-14  Martin Buchholz  <martin@xemacs.org>
9501
9502         * .dbxrc: Renamed from dbxrc.
9503
9504         * events.c (event_to_character):
9505         Use `assert (foo)' instead of `if (!foo) abort()'
9506
9507         * .gdbinit (xtype): Add documentation.
9508         * .gdbinit (check-temacs): New function.
9509         * .gdbinit (check-xemacs): New function.
9510         * dbxrc (check-xemacs): New function.
9511         * dbxrc (check-xemacs): New function.
9512
9513 2000-01-14  Andy Piper  <andy@xemacs.org>
9514
9515         * glyphs-widget.c (widget_query_geometry): Make sure that we
9516         calculate default dimensions correctly.
9517
9518 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9519
9520         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
9521
9522         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
9523         pdump_wire'd variable.
9524
9525         * emacs.c: (main_1): Conditionalized calls to
9526         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
9527
9528 2000-01-13  Martin Buchholz  <martin@xemacs.org>
9529
9530         * window.c (Fset_window_configuration):
9531         * sysdep.c (_start):
9532         * input-method-motif.c (res):
9533         * event-Xt.c (Xt_process_to_emacs_event):
9534         Simple compiler warning fixes.
9535
9536         * bytecode.c (funcall_compiled_function): Use the original
9537         function symbol on the backtrace list in preference to the
9538         compiled_function object in error messages.
9539
9540 2000-01-13  Andy Piper  <andy@xemacs.org>
9541
9542         * glyphs-x.c (update_widget_face): Make sure we update the widget
9543         background as well as foreground.
9544
9545 2000-01-13  Andy Piper  <andy@xemacs.org>
9546
9547         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
9548         fields to subwindow.
9549         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
9550         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
9551         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
9552         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
9553
9554         * glyphs-widget.c (check_valid_tab_orientation): new function.
9555         (initialize_widget_image_instance): zero orientation and
9556         justification.
9557         (widget_instantiate): pick up orientation.
9558         (tab_control_query_geometry): return appropriate values for
9559         vertical tabs.
9560
9561         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
9562         appropriate creation flags for left, right and bottom tabs.
9563
9564         * s/cygwin32.h: add tab definitions.
9565
9566 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9567
9568         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
9569         frame upon hiding a subwindow.
9570         (mswindows_button_instantiate): Changed the push button style to
9571         BS_PUSHBUTTON.
9572         (mswindows_button_instantiate): Removed button BS_NOTIFY
9573         style.
9574         (mswindows_button_instantiate): Removed redundant check for
9575         a disabled gui item.
9576         (mswindows_button_instantiate): Made use of WS_TABSTOP
9577         consistent: "operable" controls (edit, button, tree, scroll) have
9578         this style, "display-only" ones (static, progress gauge) do
9579         not. This style is currently ignored by XEmacs though. Also,
9580         removed the WS_EX_CONTROLPARENT style - it is not for children,
9581         it is for their parents!
9582         (mswindows_edit_field_instantiate): Ditto.
9583         (mswindows_progress_gauge_instantiate): Ditto.
9584         (mswindows_tree_view_instantiate): Ditto.
9585         (mswindows_tab_control_instantiate): Ditto.
9586         (mswindows_scrollbar_instantiate): Ditto.
9587         (mswindows_combo_box_instantiate): Ditto.
9588         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
9589         style to the "clip" window.
9590         (mswindows_button_instantiate): Removed compilation warning by
9591         equally typing terms of the ?: operator.
9592
9593 2000-01-12  Didier Verna  <didier@xemacs.org>
9594
9595         * redisplay.c (generate_fstring_runes): new parameter holding the
9596         last modeline-format extent.
9597         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
9598         extent, fill the glyph block with it.
9599         (generate_fstring_runes): handle these parameters.
9600         (generate_formatted_string_db): ditto.
9601
9602         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
9603         glyphs'extents in the modeline.
9604
9605 1999-01-11  Mike Woolley  <mike@bulsara.com>
9606
9607         * ntheap.c: Reduced the reserved heap space from 1Gb down to
9608         256Mb, as a workaround for the non-starting problem many people
9609         have experienced.
9610
9611 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
9612
9613         * console-tty.c (Fset_console_tty_output_coding_system):
9614         Force redrawing tty frame.
9615
9616 2000-01-10  Didier Verna  <didier@xemacs.org>
9617
9618         * redisplay.c (generate_fstring_runes): fix size computation bug.
9619
9620 2000-01-09  William M. Perry <wmperry@aventail.com>
9621
9622         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
9623
9624 2000-01-09  Andy Piper  <andy@xemacs.org>
9625
9626         * glyphs-msw.c: index -> i to avoid shadows.
9627         (xbm_create_bitmap_from_data): make static.
9628         (check_valid_string_or_int): deleted.
9629         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
9630
9631         * glyphs-x.c (x_update_subwindow): remove unused args.
9632
9633         * glyphs.c (glyph_image_instance): return the thing. Don't set the
9634         back pointer - this is done in allocate_image_instance.
9635         (query_string_font): return Qnil to make the compiler happy.
9636         (unmap_subwindow): set to ~0 to make the compiler happy.
9637         (glyph_query_geometry): comment out until used.
9638         (glyph_layout): ditto.
9639
9640 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
9641
9642         * insdel.c (signal_after_change): Remove extraneous unbind_to().