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