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