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