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