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