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