feff69745564bcfa0fedf560989b9b3a3e1137ba
[chise/xemacs-chise.git] / src / ChangeLog
1 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (char_encode_shift_jis): New implementation in
4         UTF-2000.
5         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
6         ...)'.
7
8         * mule-charset.c (Vcharset_chinese_big5): New variable in
9         UTF-2000.
10         (Qchinese_big5): New variable in UTF-2000.
11         (BIG5_SAME_ROW): New macro in UTF-2000.
12         (make_builtin_char): Use builtin characters of
13         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
14         characters of `Vcharset_chinese_big5'.
15         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
16         (complex_vars_of_mule_charset): Add new coded-charset
17         `chinese-big5' in UTF-2000.
18
19         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
20         (Vcharset_chinese_big5): New external variable declaration.
21         (Vcharset_japanese_jisx0208_1990): Likewise.
22
23 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
24
25         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
26         function.
27         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
28
29 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
30
31         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
32         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
33         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
34         `mojikyo-pj-*'.
35
36 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
37
38         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
39
40 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
41
42         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
43         to 0.17.
44
45 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
46
47         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
48         for `CHARSET_BY_ATTRIBUTES'.
49         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
50         `CHARSET_BY_ATTRIBUTES'.
51
52         * text-coding.c (struct decoding_stream): Rename member `CH' to
53         `CPOS'.
54         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
55         (decode_coding_sjis): Likewise.
56         (decode_coding_big5): Likewise.
57         (decode_coding_ucs4): Likewise.
58         (decode_coding_utf8): Likewise.
59         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
60         `CHARSET_BY_ATTRIBUTES'.
61         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
62         `str->counter'; decode 3, 4 bytes sets.
63         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
64         sets.
65         (decode_coding_no_conversion): Use `str->cpos' instead of
66         `str->ch'.
67
68         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
69         (Qmojikyo_2022_1): New variable.
70         (make_charset): Don't use `CHARSET_TYPE_*'.
71         (range_charset_code_point): Support coded-charset
72         `mojikyo-2022-1'.
73         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
74         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
75         `CHARSET_BY_ATTRIBUTES'.
76         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
77         `CHARSET_BY_ATTRIBUTES'.
78         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
79         (complex_vars_of_mule_charset): Add new coded-charset
80         `mojikyo-2022-1'.
81
82         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
83         interface; changed to inline function.
84
85         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
86         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
87         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
88         (CHARSET_TYPE_94): Deleted.
89         (CHARSET_TYPE_94X94): Deleted.
90         (CHARSET_TYPE_96): Deleted.
91         (CHARSET_TYPE_96X96): Deleted.
92         (CHARSET_TYPE_128): Deleted.
93         (CHARSET_TYPE_128X128): Deleted.
94         (CHARSET_TYPE_256): Deleted.
95         (CHARSET_TYPE_256X256): Deleted.
96         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
97         to inline function.
98         (DECODE_MOJIKYO_2022): New inline function.
99         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
100         `Vcharset_mojikyo_2022_1'.
101
102 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
103
104         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
105         instead of `EQ'.
106         (put_byte_table): Likewise.
107         (char_id_table_equal): Use `get_byte_table' [new implementation].
108
109 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
110
111         * mule-charset.c: Include <limits.h> in UTF-2000.
112         (BT_UINT8_MIN): New macro in UTF-2000.
113         (BT_UINT8_MAX): New macro in UTF-2000.
114         (BT_UINT8_t): New macro in UTF-2000.
115         (BT_UINT8_nil): New macro in UTF-2000.
116         (BT_UINT8_unbound): New macro in UTF-2000.
117         (INT_UINT8_P): New inline function in UTF-2000.
118         (UINT8_VALUE_P): New inline function in UTF-2000.
119         (UINT8_ENCODE): New inline function in UTF-2000.
120         (UINT8_DECODE): New inline function in UTF-2000.
121         (mark_uint8_byte_table): New function in UTF-2000.
122         (print_uint8_byte_table): New function in UTF-2000.
123         (uint8_byte_table_equal): New function in UTF-2000.
124         (uint8_byte_table_hash): New function in UTF-2000.
125         (make_uint8_byte_table): New function in UTF-2000.
126         (uint8_byte_table_same_value_p): New function in UTF-2000.
127         (BT_UINT16_MIN): New macro in UTF-2000.
128         (BT_UINT16_MAX): New macro in UTF-2000.
129         (BT_UINT16_t): New macro in UTF-2000.
130         (BT_UINT16_nil): New macro in UTF-2000.
131         (BT_UINT16_unbound): New macro in UTF-2000.
132         (INT_UINT16_P): New inline function in UTF-2000.
133         (UINT16_VALUE_P): New inline function in UTF-2000.
134         (UINT16_ENCODE): New inline function in UTF-2000.
135         (UINT16_DECODE): New inline function in UTF-2000.
136         (UINT8_TO_UINT16): New inline function in UTF-2000.
137         (mark_uint16_byte_table): New function in UTF-2000.
138         (print_uint16_byte_table): New function in UTF-2000.
139         (uint16_byte_table_equal): New function in UTF-2000.
140         (uint16_byte_table_hash): New function in UTF-2000.
141         (make_uint16_byte_table): New function in UTF-2000.
142         (uint16_byte_table_same_value_p): New function in UTF-2000.
143         (print_byte_table): New function in UTF-2000.
144         (byte-table): Use `print_byte_table' as printer.
145         (make_byte_table): Delete second argument `older'.
146         (byte_table_same_value_p): New function in UTF-2000.
147         (copy_byte_table): Deleted.
148         (get_byte_table): New function in UTF-2000.
149         (put_byte_table): New function in UTF-2000.
150         (print_char_id_table): New function in UTF-2000.
151         (char-id-table): Use `print_char_id_table' as printer.
152         (make_char_id_table): Delete second argument `older'.
153         (get_char_id_table): Use `get_byte_table [new implementation].
154         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
155         implementation].
156         (Ffind_char_attribute_table): New function in UTF-2000.
157         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
158         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
159         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
160         (syms_of_mule_charset): Add new function
161         `find-char-attribute-table' in UTF-2000.
162
163         * lrecord.h (enum lrecord_type): Add
164         `lrecord_type_uint16_byte_table' and
165         `lrecord_type_uint8_byte_table'.
166
167         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
168         (Lisp_Uint8_Byte_Table): New type.
169         (XUINT8_BYTE_TABLE): New macro.
170         (XSETUINT8_BYTE_TABLE): New macro.
171         (UINT8_BYTE_TABLE_P): New macro.
172         (GC_UINT8_BYTE_TABLE_P): New macro.
173         (struct Lisp_Uint16_Byte_Table): New structure.
174         (Lisp_Uint16_Byte_Table): New type.
175         (XUINT16_BYTE_TABLE): New macro.
176         (XSETUINT16_BYTE_TABLE): New macro.
177         (UINT16_BYTE_TABLE_P): New macro.
178         (GC_UINT16_BYTE_TABLE_P): New macro.
179
180 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
181
182         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
183         (Vcharacter_ideographic_strokes_table): Deleted.
184         (Vcharacter_total_strokes_table): Deleted.
185         (Vcharacter_morohashi_daikanwa_table): Deleted.
186         (Vcharacter_decomposition_table): Deleted.
187         (Qname): Deleted because it is duplicated.
188         (Qideographic_radical): Deleted.
189         (Qideographic_strokes): Deleted.
190         (Qtotal_strokes): Deleted.
191         (Qmorohashi_daikanwa): Deleted.
192         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
193         `ideographic-radical', `ideographic-strokes', `total-strokes',
194         `morohashi-daikanwa' and `->decomposition'.
195         (Fget_char_attribute): Likewise.
196         (Fput_char_attribute): Likewise; use `make-vector' instead of
197         `make_older_vector' for `->decomposition' value.
198         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
199         `ideograph-daikanwa'.
200         (syms_of_mule_charset): Delete builtin symbols `name',
201         `ideographic-radical', `ideographic-strokes', `total-strokes' and
202         `morohashi-daikanwa'.
203         (vars_of_mule_charset): Don't setup
204         `Vcharacter_ideographic_radical_table',
205         `Vcharacter_ideographic_strokes_table',
206         `Vcharacter_total_strokes_table',
207         `Vcharacter_morohashi_daikanwa_table' and
208         `Vcharacter_decomposition_table'.
209
210 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
211
212         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
213         `make_older_vector', `make_vector_newer_1' and
214         `make_vector_newer'.
215
216         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
217         `make_older_vector' and `make_vector_newer'.
218
219         * config.h.in (HAVE_GGC): New macro.
220
221 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
222
223         * mule-charset.c (struct char_attribute_list_closure): New
224         structure in UTF-2000.
225         (add_char_attribute_to_list_mapper): New function in UTF-2000.
226         (Fchar_attribute_list): Likewise.
227         (Fset_charset_mapping_table): Use `make_vector_newer'.
228         (Fdecode_builtin_char): New function in UTF-2000.
229         (syms_of_mule_charset): Add new function `char-attribute-list' and
230         `decode-builtin-char' in UTF-2000.
231
232         * lisp.h (make_vector_newer): New prototype.
233
234         * alloc.c (make_vector_newer_1): New function.
235         (make_vector_newer): New function.
236
237 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
238
239         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
240         50100)'.
241
242 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
243
244         * mule-charset.c (Vchar_attribute_hash_table): New variable.
245         (Vcharacter_attribute_table): Deleted.
246         (Vcharacter_name_table): Deleted.
247         (put_char_attribute): Deleted.
248         (remove_char_attribute): Deleted.
249         (struct char_attribute_alist_closure): New structure.
250         (add_char_attribute_alist_mapper): New function.
251         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
252         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
253         (Fget_char_attribute): Likewise.
254         (Fput_char_attribute): Likewise.
255         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
256         of `remove_char_attribute'.
257         (Fdefine_char): Return character.
258         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
259         and `Vcharacter_name_table'.
260         (complex_vars_of_mule_charset): Likewise
261         `Vchar_attribute_hash_table'.
262
263 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
264
265         * character.h (CHARC_CHARSET): New macro.
266         (CHARC_CHARSET_ID): New macro.
267         (CHARC_CODE_POINT): New macro.
268         (CHARC_COLUMNS): New macro.
269         (CHARC_TO_CHAR): New inline function.
270         (CHARC_EQ): New inline function.
271         (CHARC_ASCII_EQ): New inline function.
272         (CHARC_IS_SPACE): New inline function.
273         (ASCII_TO_CHARC): New inline function.
274
275         * char-ucs.h (encode_char_2): Deleted.
276         (ENCODE_CHAR): Use `encode_char_1' again.
277         (breakup_char_1): Likewise.
278         (CHAR_TO_CHARC): New inline function.
279
280         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
281
282 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
283
284         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
285         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
286         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
287         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
288         (create_string_text_block): Use `CHARC_ASCII_EQ' and
289         `CHARC_IS_SPACE'.
290         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
291
292         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
293         `CHARC_CODE_POINT'.
294         (x_output_display_block): Use `CHARC_CHARSET' and
295         `CHARC_ASCII_EQ'.
296
297         * redisplay-tty.c (tty_output_display_block): Use
298         `CHARC_ASCII_EQ'.
299         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
300
301         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
302
303         * insdel.c (find_charsets_in_charc_string): Use
304         `CHARC_CHARSET_ID'.
305         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
306         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
307         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
308         (convert_charc_string_into_malloced_string): Likewise.
309
310 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
311
312         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
313         instead of <Emchar_dynarr *> for buf; use
314         `convert_bufbyte_string_into_charc_dynarr' instead of
315         `convert_bufbyte_string_into_emchar_dynarr'; use
316         `find_charsets_in_charc_string' instead of
317         `find_charsets_in_emchar_string'.
318
319         * redisplay.h:
320         - Include "character.h".
321         (struct rune): New member `cglyph'; delete member `chr'.
322
323         * redisplay.c (redisplay_text_width_charc_string): New function;
324         delete `redisplay_text_width_emchar_string'.
325         (rtw_charc_dynarr): New variable; renamed from
326         `rtw_emchar_dynarr'.
327         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
328         `rtw_emchar_dynarr'; use
329         `convert_bufbyte_string_into_charc_dynarr' instead of
330         `convert_bufbyte_string_into_emchar_dynarr'; use
331         `redisplay_text_width_charc_string' instead of
332         `redisplay_text_width_emchar_string'.
333         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
334         instead of `rtw_emchar_dynarr'; use
335         `convert_bufbyte_string_into_charc_dynarr' instead of
336         `convert_bufbyte_string_into_emchar_dynarr'.
337         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
338         `redisplay_text_width_charc_string' instead of
339         `redisplay_text_width_emchar_string'.
340         (create_text_block): Modify for <struct rune> change.
341         (generate_formatted_string_db): Likewise.
342         (create_string_text_block): Likewise.
343         (pixel_to_glyph_translation): Likewise.
344
345         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
346         instead of <const Emchar *>.
347         (x_text_width): Likewise.
348         (x_output_display_block): Use <Charc_dynarr *> instead
349         <Emchar_dynarr *>; modify for <structure rune> change.
350         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
351         *>.
352
353         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
354         <const Emchar *>; use `charc_string_displayed_columns' instead of
355         `emchar_string_displayed_columns'.
356         (tty_output_display_block): Use <Charc_dynarr *> instead of
357         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
358         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
359         (tty_output_charc_dynarr_dynarr): New variable; renamed from
360         `tty_output_emchar_dynarr_dynarr'.
361         (tty_output_charc_dynarr): New function; delete
362         `tty_output_charc_dynarr'.
363
364         * redisplay-output.c (compare_runes): Modify for `struct rune'.
365         (redisplay_output_layout): Use <Charc_dynarr *> instead of
366         <Emchar_dynarr *> for buf; use
367         `convert_bufbyte_string_into_charc_dynarr' instead of
368         `convert_bufbyte_string_into_emchar_dynarr'.
369
370         * frame.c (title_string_charc_dynarr): New variable; renamed from
371         `title_string_emchar_dynarr'.
372         (generate_title_string): Use `title_string_charc_dynarr' instead
373         of `title_string_emchar_dynarr'; use
374         `convert_charc_string_into_malloced_string' instead of
375         `convert_emchar_string_into_malloced_string'.
376         (init_frame): Use `title_string_charc_dynarr' instead of
377         `title_string_emchar_dynarr'.
378
379         * console.h:
380         - Include "character.h".
381         (struct console_methods): Use <const Charc *> instead of <const
382         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
383         <Emchar_dynarr *> in output_string_method.
384
385         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
386         <Emchar_dynarr *>.
387
388         * console-stream.c (stream_text_width): Use <const Charc *>
389         instead of <const Emchar *>.
390
391         * character.h (Charc_dynarr): New type.
392
393         * char-ucs.h (structure Charc): New structure; define new type
394         `Charc'.
395
396         * char-lb.h (DECODE_CHAR): New inline function.
397         (encode_char_1): New inline function.
398         (ENCODE_CHAR): New macro.
399         (structure Charc): New structure; define new type `Charc'.
400
401         * char-1byte.h (Vcharset_control_1): New macro.
402         (Vcharset_latin_iso8859_1): New macro.
403         (DECODE_CHAR): New inline function.
404         (encode_char_1): New inline function.
405         (ENCODE_CHAR): New macro.
406         (structure Charc): New structure; define new type `Charc'.
407
408         * insdel.c (find_charsets_in_charc_string): New function; delete
409         `find_charsets_in_emchar_string'.
410         (charc_string_displayed_columns): New function; delete
411         `emchar_string_displayed_columns'.
412         (convert_bufbyte_string_into_charc_dynarr): New function; delete
413         `convert_bufbyte_string_into_emchar_dynarr'.
414         (convert_charc_string_into_bufbyte_dynarr): New function; delete
415         `convert_charc_string_into_bufbyte_dynarr'.
416         (convert_charc_string_into_malloced_string): New function; delete
417         `convert_charc_string_into_malloced_string'.
418
419         * buffer.h (find_charsets_in_charc_string): New prototype; delete
420         `find_charsets_in_emchar_string'.
421         (charc_string_displayed_columns): New prototype; delete
422         `emchar_string_displayed_columns'.
423         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
424         `convert_charc_string_into_bufbyte_dynarr'.
425         (convert_charc_string_into_malloced_string): New prototype; delete
426         `convert_charc_string_into_malloced_string'.
427
428 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
429
430         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
431
432 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
433
434         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
435
436         * char-ucs.h: Use <short> for <Charset_ID>.
437
438         * mule-charset.h, char-1byte.h: Use <unsigned char> for
439         <Charset_ID>.
440
441 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
442
443         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
444         to 0.16.
445
446 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
447
448         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
449         variable.
450         (Qmorohashi_daikanwa): New variable.
451         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
452         for `morohashi-daikanwa' attribute.
453         (Fget_char_attribute): Likewise.
454         (Fput_char_attribute): Likewise.
455         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
456         has the same value of `ideograph-daikanwa'.
457         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
458         (vars_of_mule_charset): Setup
459         `Vcharacter_morohashi_daikanwa_table'.
460
461 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
462
463         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
464         attributes.
465         (add_charset_to_list_mapper): Add `key' instead of
466         `XCHARSET_NAME (value)' to return aliases.
467
468 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
469
470         * mule-charset.c (Vcharacter_ideographic_radical_table): New
471         variable.
472         (Vcharacter_ideographic_strokes_table): New variable.
473         (Qideographic_radical): New variable.
474         (Qideographic_strokes): New variable.
475         (Fchar_attribute_alist): Use
476         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
477         attribute; use `Vcharacter_ideographic_strokes_table' for
478         `ideographic-strokes' attribute.
479         (Fget_char_attribute): Likewise.
480         (Fput_char_attribute): Likewise.
481         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
482         `ideographic-strokes'.
483         (vars_of_mule_charset): Setup
484         `Vcharacter_ideographic_radical_table' and
485         `Vcharacter_ideographic_strokes_table'.
486
487 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
488
489         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
490         (Qtotal_strokes): New variable.
491         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
492         `total-strokes' attribute.
493         (Fget_char_attribute): Likewise.
494         (Fput_char_attribute): Likewise.
495         (syms_of_mule_charset): Add new symbol `total-strokes'.
496         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
497
498 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
499
500         * mule-charset.c (Vcharacter_decomposition_table): New variable.
501         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
502         are found.
503         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
504         `->decomposition' attribute.
505         (Fput_char_attribute): Likewise.
506         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
507
508 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
509
510         * mule-charset.c (decoding_table_check_elements): New function.
511         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
512
513 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
514
515         * mule-charset.c (Fset_charset_mapping_table): Use
516         `put_char_ccs_code_point'.
517
518 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
519
520         * mule-charset.c (decoding_table_put_char): New inline function.
521         (put_char_ccs_code_point): Use `decoding_table_put_char'.
522
523 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
524
525         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
526         (XCHARSET_BYTE_SIZE): New macro.
527         (decoding_table_remove_char): New inline function.
528         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
529         `decoding_table_remove_char'.
530         (remove_char_ccs): Use `decoding_table_remove_char'.
531         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
532
533 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
534
535         * mule-charset.c (Vcharacter_name_table): New variable.
536         (Qname): New variable.
537         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
538         attribute.
539         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
540         `Vcharacter_name_table' for `name' attribute.
541         (Fremove_char_attribute): Use function `remove_char_ccs'.
542         (put_char_ccs_code_point): New function.
543         (remove_char_ccs): New function.
544         (syms_of_mule_charset): Add new symbol `name'.
545         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
546
547 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
548
549         * mule-charset.c (make_byte_table): Add new argument `older'.
550         (make_char_id_table): Likewise.
551         (copy_char_id_table): Comment out because it is not used.
552         (put_char_id_table): Modify for `make_byte_table'.
553         (Fput_char_attribute): Make encoding_table as older object;
554         inherit older bit of `Vcharacter_composition_table'.
555         (mark_charset): Don't mark `cs->encoding_table'.
556         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
557         normal object; make `Vcharacter_composition_table' as an older
558         object; delete staticpro for `Vcharacter_composition_table'; make
559         `Vcharacter_variant_table' as a normal object.
560
561         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
562         (mark_object): Don't check older object in UTF-2000.
563
564         * lrecord.h (struct lrecord_header): Add new member `older' in
565         UTF-2000.
566         (set_lheader_implementation): Setup `SLI_header->older' in
567         UTF-2000.
568         (set_lheader_older_implementation): New macro in UTF-2000.
569         (OLDER_RECORD_P): New macro in UTF-2000.
570         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
571         (alloc_older_lcrecord): New prototype in UTF-2000.
572         (alloc_older_lcrecord_type): New macro in UTF-2000.
573
574 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
575
576         * mule-charset.c (byte_table_description): Use
577         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
578         (char_id_table_description): Delete bogus `, 1'.
579         (Fget_char_attribute): Refer encoding_table of each coded-charset
580         to get value of coded-charset attribute of a character.
581         (Fput_char_attribute): Use `make_older_vector' instead of
582         `make_vector'; use encoding_table of each coded-charset to store
583         value of coded-charset attribute of a character.
584         (Fremove_char_attribute): Use encoding_table of each coded-charset
585         to store value of coded-charset attribute of a character.
586         (mark_charset): Mark `cs->encoding_table'; don't mark
587         `cs->decoding_table'.
588         (charset_description): Add description of new member
589         `encoding_table'.
590         (make_charset): Initialize `encoding_table'.
591
592         * char-ucs.h (struct Lisp_Charset): Add new member
593         `encoding_table'.
594         (CHARSET_ENCODING_TABLE): New macro.
595         (XCHARSET_ENCODING_TABLE): New macro.
596         (charset_code_point): New implementation.
597         (encode_char_1): Likewise.
598
599         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
600         (disksave_object_finalization_1): Call finalizers of
601         `all_older_lcrecords' in UTF-2000.
602         (make_older_vector): New function in UTF-2000.
603         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
604         UTF-2000.
605
606         * lisp.h (make_older_vector): New prototype in UTF-2000.
607
608 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
609
610         * lrecord.h (enum lrecord_type): Rename
611         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
612
613         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
614         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
615         `get_char_code_table'.
616
617         * mule-charset.c (mark_char_id_table): Renamed from
618         `mark_char_code_table'.
619         (char_id_table_equal): Renamed from `char_code_table_equal'.
620         (char_id_table_hash): Renamed from `char_code_table_hash'.
621         (make_char_id_table): Renamed from `make_char_code_table'.
622         (copy_char_id_table): Renamed from `copy_char_code_table'.
623         (get_char_id_table): Renamed from `get_char_code_table'.
624         (put_char_id_table): Renamed from `put_char_code_table'.
625         (to_char_id): Renamed from `to_char_code'.
626
627         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
628         `Lisp_Char_Code_Table'.
629         (char_id_table): Renamed from `char_code_table'.
630         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
631         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
632         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
633         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
634         (get_char_id_table): Renamed from `get_char_code_table'.
635
636 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
637
638         * lrecord.h (enum lrecord_type): Rename
639         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
640
641         * mule-charset.c (mark_byte_table): Renamed from
642         `mark_char_byte_table'.
643         (byte_table_equal): Renamed from `char_byte_table_equal'.
644         (byte_table_hash): Renamed from `byte_table_hash'.
645         (make_byte_table): Renamed from `make_byte_table'.
646         (copy_byte_table): Renamed from `copy_char_byte_table'.
647
648         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
649         `Lisp_Char_Byte_Table'.
650         (byte_table): Renamed from `char_byte_table'.
651         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
652         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
653         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
654         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
655
656 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
657
658         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
659         (dfc_convert_to_internal_format): Likewise.
660         
661         * text-coding.c (Fcoding_system_canonical_name_p): New function.
662         * text-coding.c (Fcoding_system_alias_p): New function.
663         * text-coding.c (Fcoding_system_aliasee): New function.
664         * text-coding.c (append_suffix_to_symbol): New function.
665         * text-coding.c (dangling_coding_system_alias_p): New function.
666         * text-coding.c (Ffind_coding_system):
667         * text-coding.c (Fcopy_coding_system):
668         * text-coding.c (encode_coding_no_conversion):
669         * text-coding.c (syms_of_file_coding):
670         * text-coding.c (vars_of_file_coding):
671         Rewrite coding system alias code.
672         Allow nested aliases, like symbolic links.
673         Allow redefinition of coding system aliases.
674         Prevent existence of dangling coding system aliases.
675         Eliminate convert_to_external_format.
676         Eliminate convert_to_internal_format.
677         
678         * text-coding.c: Change enum eol_type to eol_type_t.
679
680 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
681
682         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
683         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
684
685         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
686         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
687
688 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
689
690         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
691         `ideograph-daikanwa'.
692
693         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
694         (Vcharset_ucs_bmp): Likewise.
695         (Vcharset_mojikyo): Add new extern variable definition.
696         (Vcharset_latin_iso8859_2): Deleted because it is not used.
697         (Vcharset_latin_iso8859_3): Likewise.
698         (Vcharset_latin_iso8859_4): Likewise.
699         (Vcharset_latin_iso8859_9): Likewise.
700         (Vcharset_latin_viscii_lower): Likewise.
701         (Vcharset_latin_viscii_upper): Likewise.
702         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
703         `mojikyo' code-point is used to decode.
704         (encode_char_2): New function [to convert `mojikyo' code-point to
705         Mojikyo font encoding].
706         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
707         (breakup_char_1): Likewise.
708         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
709
710 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
711
712         * text-coding.c (Fmake_coding_system): Add document about
713         `disable-composition' property.
714
715 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * text-coding.c (Qdisable_composition): New variable; delete
718         `Qcomposite'.
719         (Fmake_coding_system): Add new property `disable-composite';
720         delete property `composite'.
721         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
722         instead of `!CODING_SYSTEM_COMPOSITE'.
723         (syms_of_file_coding): Add new symbol `disable-composition';
724         delete symbol `composite'.
725
726         * file-coding.h (struct Lisp_Coding_System): Add
727         `disable_composition'; delete `enable_composition'.
728         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
729         `CODING_SYSTEM_COMPOSITE'.
730         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
731         `XCODING_SYSTEM_COMPOSITE'.
732
733 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
734
735         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
736         to 0.15.
737
738 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
739
740         * text-coding.c (Qcomposite): New variable.
741         (Fmake_coding_system): Add new property `composite'.
742         (struct decoding_stream): Add `combined_char_count',
743         `combined_chars' and `combining_table' in UTF-2000.
744         (COMPOSE_FLUSH_CHARS): New macro.
745         (COMPOSE_ADD_CHAR): New macro.
746         (reset_decoding_stream): Reset `str->combined_char_count' and
747         `str->combining_table' in UTF-2000.
748         (decode_coding_iso2022): Modify for character-decomposition.
749         (syms_of_file_coding): Add new symbol `composite'.
750
751 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
752
753         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
754         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
755         of `Vcharacter_composition_table' if `->decomposition' property
756         has only 1 element.
757         (Qlatin_tcvn5712): New variable.
758         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
759         (complex_vars_of_mule_charset): Add new coded-charset
760         `latin-tcvn5712'.
761
762         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
763
764 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
765
766         * file-coding.h (struct Lisp_Coding_System): Add
767         `enable_composition'.
768         (CODING_SYSTEM_COMPOSITE): New macro.
769         (XCODING_SYSTEM_COMPOSITE): New macro.
770
771 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
772
773         * mule-canna.c (c2mu): Fix problem with UTF-2000.
774
775 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
776
777         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
778         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
779
780 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
781
782         * mule-charset.c (Vcharset_mojikyo): New variable.
783         (Fdefine_char): Don't use coded-charset which does not have
784         non-builtin character range to allocate character-id.
785         (Qmojikyo): New variable.
786         (syms_of_mule_charset): Add new symbol `mojikyo'.
787         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
788
789         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
790         (LEADING_BYTE_MOJIKYO): New macro.
791         (MIN_CHAR_MOJIKYO): New macro.
792         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
793         (MAX_CHAR_MOJIKYO): New macro.
794
795 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
796
797         * mule-charset.c (remove_char_attribute): Fixed.
798
799 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
800
801         * mule-charset.c (remove_char_attribute): New function.
802         (Fremove_char_attribute): New function.
803         (encode_builtin_char_1): Comment out builtin-support for
804         greek-iso8859-7 and cyrillic-iso8859-5.
805         (Fdecode_char): Check `code' is an integer.
806         (syms_of_mule_charset): Add `remove-char-attribute'.
807         (MIN_CHAR_GREEK): Deleted.
808         (MAX_CHAR_GREEK): Likewise.
809         (MIN_CHAR_CYRILLIC): Likewise.
810         (MAX_CHAR_CYRILLIC): Likewise.
811         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
812         MAX_CHAR_GREEK for `greek-iso8859-7'.
813
814         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
815         (MAX_CHAR_GREEK): Likewise.
816         (MIN_CHAR_CYRILLIC): Likewise.
817         (MAX_CHAR_CYRILLIC): Likewise.
818
819 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
820
821         * mule-charset.c (Fdefine_char): Fix problem when new code-point
822         format is used without `ucs' property.
823         (Fdecode_char): Fix problem with GR representation.
824         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
825         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
826
827 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
828
829         * mule-charset.c (make_builtin_char): New function.
830         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
831         (Fset_charset_mapping_table): Modify for new representation of
832         code-point.
833         (Fdecode_char): New function.
834         (syms_of_mule_charset): Add new builtin function `decode-char' in
835         UTF-2000.
836
837         * char-ucs.h (make_builtin_char): New prototype.
838         (DECODE_CHAR): New inline function.
839         (MAKE_CHAR): Use `DECODE_CHAR'.
840
841 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
842
843         * text-coding.c (parse_charset_conversion_specs): Use
844         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
845         `XCHARSET_TYPE'.
846         (iso2022_designate): Likewise.
847
848         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
849         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
850
851         * mule-charset.c (Vcharset_ucs): New variable.
852         (print_charset): Change design; use `CHARSET_CHARS' and
853         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
854         (make_charset): Change signature to specify `chars' and
855         `dimension' instead of `type'.
856         (range_charset_code_point): Modify for 256^n-set.
857         (encode_builtin_char_1): Encode as `ucs' in default.
858         (Fmake_charset): Modify for `make_charset'.
859         (Fmake_reverse_direction_charset): Likewise.
860         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
861         UTF-2000.
862         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
863         for `make_charset'.
864
865         * char-ucs.h (Vcharset_ucs): New variable.
866         (LEADING_BYTE_UCS): New macro.
867         (struct Lisp_Charset): Delete `type'; change type of `dimension'
868         and `chars' to `unsigned short' from `unsigned int'.
869         (CHARSET_TYPE): Deleted.
870         (XCHARSET_TYPE): Deleted.
871
872 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
873
874         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
875
876         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
877         (ENCODE_CHAR): New macro.
878
879 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
880
881         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
882         to 0.14 (Kawachi-Katakami).
883
884 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
885
886         * text-coding.c (char_encode_shift_jis): Modify for
887         `charset_code_point'.
888         (char_encode_iso2022): Likewise.
889
890         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
891         (integer) instead of list of <Lisp_Object>s (integers) as the
892         format of code-point of a coded-charset.
893         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
894         (encode_builtin_char_1): New function; delete
895         `split_builtin_char'.
896         (charset_code_point): Return <int> instead of <Lisp_Object>.
897         (Fsplit_char): Don't use `SPLIT_CHAR'.
898
899         * char-ucs.h (encode_builtin_char_1): New prototype; delete
900         prototype for `split_builtin_char'.
901         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
902         (charset_code_point): Likewise.
903         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
904         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
905
906 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
907
908         * mule-charset.c (complex_vars_of_mule_charset): Don't define
909         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
910
911 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
912
913         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
914
915         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
916         (MAX_CHAR_OBS_94x94): Deleted.
917
918 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
919
920         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
921
922         * char-ucs.h (MAX_CHAR_BMP): New macro.
923
924 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
925
926         * text-coding.c: Sync with r21-2-24.
927
928 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
929
930         * file-coding.c: Modify for UTF-2000.
931
932 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
933
934         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
935         to 0.13 (Takaida).
936
937 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
938
939         * mule-charset.c (split_builtin_char): Delete builtin support for
940         `katakana-jisx0201'.
941         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
942         BMP area in builtin representation.
943
944         * char-ucs.h (MAKE_CHAR): Delete builtin support for
945         `Vcharset_katakana_jisx0201'.
946
947 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
948
949         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
950         (Qisolated): New variable.
951         (Qinitial): New variable.
952         (Qmedial): New variable.
953         (Qfinal): New variable.
954         (Qvertical): New variable.
955         (Qsmall): New variable.
956         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
957         `Qvertical' and `Qsmall'.
958         (Qmojikyo_pj_[1 .. 21]): New variable.
959         (syms_of_mule_charset): Add new symbols `isolated', `initial',
960         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
961         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
962         .. 21]'.
963
964 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
965
966         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
967         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
968         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
969
970 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
971
972         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
973         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
974         BMP.
975         (Qjapanese_jisx0208_1990): New variable.
976         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
977         (complex_vars_of_mule_charset): Add new coded-charset
978         `japanese-jisx0208-1990'.
979
980         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
981         (MIN_CHAR_JIS_X0208_1990): New macro.
982         (MAX_CHAR_JIS_X0208_1990): New macro.
983
984 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
985
986         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
987         coded-charset is not found.
988
989 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
990
991         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
992         (Fdefine_char): Use `Fmake_char'.
993
994 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
995
996         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
997         (Vcharset_hiragana_jisx0208): Deleted.
998         (Vcharset_katakana_jisx0208): Deleted.
999         (Qideograph_daikanwa): New variable.
1000         (Qhiragana_jisx0208): Deleted.
1001         (Qkatakana_jisx0208): Deleted.
1002         (split_builtin_char): Split `ideograph-daikanwa'.
1003         (Fsplit_char): New implementation for UTF-2000.
1004         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1005         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1006         (complex_vars_of_mule_charset): Add new coded-charset
1007         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1008         `katakana-jisx0208'.
1009
1010         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1011         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1012         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1013         (MIN_CHAR_DAIKANWA): New macro.
1014         (MAX_CHAR_DAIKANWA): New macro.
1015
1016 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1017
1018         * data.c (Fstring_to_number): Don't recognize floating point if
1019         base is not 10.
1020
1021 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1022
1023         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1024
1025 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1026
1027         * mule-charset.c (Qsquare): New variable.
1028         (to_char_code): Add `Qsquare'.
1029         (syms_of_mule_charset): Add new symbol `square'.
1030
1031 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1032
1033         * mule-charset.c (Qcircle): New variable.
1034         (to_char_code): Add `Qcircle'.
1035         (syms_of_mule_charset): Add new symbol `circle'.
1036
1037 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1038
1039         * mule-charset.c (Qfont): New variable.
1040         (to_char_code): Add `Qfont'.
1041         (syms_of_mule_charset): Add new symbol `font'.
1042
1043 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1044
1045         * mule-charset.c (Qsub): New variable.
1046         (to_char_code): Add `Qsub'.
1047         (syms_of_mule_charset): Add new symbol `sub'.
1048
1049 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1050
1051         * mule-charset.c (Fput_char_attribute): Convert each element of
1052         VALUE to GL position if ATTRIBUTE is a GR-set,
1053
1054 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1055
1056         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1057         coded-charset is a GR-set.
1058
1059 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1060
1061         * mule-charset.c (Fput_char_attribute): Check each element of
1062         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1063
1064 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1065
1066         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1067         UTF-2000.
1068         (Qethiopic_ucs): New variable in UTF-2000.
1069         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1070         (complex_vars_of_mule_charset): Add new coded-charset
1071         `ethiopic-ucs' in UTF-2000.
1072
1073         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1074         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1075         9)'.
1076         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1077         10)'.
1078         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1079
1080 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1081
1082         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1083         `ascii'.
1084
1085 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1086
1087         * mule-charset.c (Vcharacter_variant_table): New variable.
1088         (Q_ucs): New variable.
1089         (Fchar_variants): New function.
1090         (Fput_char_attribute): Register `->ucs' value to
1091         `Vcharacter_variant_table'.
1092         (syms_of_mule_charset): Add new function `char-variants' and new
1093         symbol `->ucs'.
1094         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1095
1096 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1097
1098         * mule-charset.c (get_char_code_table): Allow negative character
1099         code.
1100         (put_char_code_table): Likewise.
1101         (Vcharacter_composition_table): New variable.
1102         (Q_decomposition): New variable.
1103         (Qwide): New variable.
1104         (Qnarrow): New variable.
1105         (Qcompat): New variable.
1106         (QnoBreak): New variable.
1107         (Qsuper): New variable.
1108         (Qfraction): New variable.
1109         (to_char_code): New function.
1110         (Fget_composite_char): New function.
1111         (Fput_char_attribute): Register `->decomposition' value to
1112         `Vcharacter_composition_table'.
1113         (syms_of_mule_charset): Add new function `get-composite-char', new
1114         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1115         `super' and `fraction'.
1116         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1117
1118 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1119
1120         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1121         character; copy the return value.
1122
1123 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1124
1125         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1126
1127         * mule-charset.c (range_charset_code_point): Must use make_int.
1128         (split_builtin_char): New function.
1129
1130 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1131
1132         * mule-charset.c (char_byte_table): Change name from
1133         "char-code-table" to "char-byte-table".
1134         (mark_char_code_table): New function.
1135         (char_code_table_equal): New function.
1136         (char_code_table_hash): New function.
1137         (char_code_table_description): New constant.
1138         (char_code_table): New type.
1139         (make_char_code_table): New function.
1140         (copy_char_code_table): New function.
1141         (get_char_code_table): Modify for `char_code_table' type.
1142         (put_char_code_table): Likewise.
1143         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1144         (Kashiwara).
1145
1146         * char-ucs.h (char_code_table): New type.
1147         (XCHAR_CODE_TABLE): New macro.
1148         (XSETCHAR_CODE_TABLE): New macro.
1149         (CHAR_CODE_TABLE_P): New macro.
1150         (GC_CHAR_CODE_TABLE_P): New macro.
1151         (struct Lisp_Char_Code_Table): New structure.
1152
1153 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1154
1155         * mule-charset.c (Fmake_charset): Setup byte_offset for
1156         {94|96}^n-set.
1157
1158 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1159
1160         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
1161         character.
1162
1163 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1164
1165         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
1166         is found.
1167
1168 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1169
1170         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
1171         charset, it is regarded as a charset.
1172         (put_char_attribute): New function in UTF-2000.
1173         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
1174         charset, mapping-table of the charset is modified.
1175         (Fdefine_char): New function in UTF-2000.
1176         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
1177         `Fput_char_attribute'.
1178         (syms_of_mule_charset): Add new function `define-char' and new
1179         symbol `ucs' in UTF-2000.
1180         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
1181
1182 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1183
1184         * mule-charset.c (Fcharset_name): Define `byte_offset' in
1185         non-UTF-2000 configuration.
1186
1187 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1188
1189         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
1190         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
1191
1192         * mule-charset.c (mark_charset): `cs->encoding_table' has been
1193         deleted.
1194         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
1195         (Fset_charset_mapping_table): Likewise.
1196
1197         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
1198         (CHARSET_ENCODING_TABLE): Delete.
1199         (XCHARSET_ENCODING_TABLE): Delete.
1200         (charset_code_point): New interface.
1201
1202 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1203
1204         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
1205         instead of `charset_get_byte1' and `charset_get_byte2'.
1206
1207         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
1208         (charset_get_byte2): Deleted.
1209
1210 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1211
1212         * char-ucs.h (SPLIT_CHAR): New inline function.
1213         (breakup_char_1): Use `SPLIT_CHAR'.
1214
1215         * mule-charset.c (range_charset_code_point): New function.
1216         (charset_code_point): New function.
1217
1218         * char-ucs.h (range_charset_code_point): New interface.
1219         (breakup_char_1): Use `range_charset_code_point'.
1220
1221 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1222
1223         * mule-charset.c (Fmake_charset): Delete unused local variable
1224         `code_offset'.
1225
1226         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
1227         (breakup_char_1): Find a charset and code-point in
1228         `Vcharacter_attribute_table'.
1229
1230 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1231
1232         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1233         to 0.10 (Yao).
1234
1235 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1236
1237         * mule-charset.c (Vcharacter_attribute_table): New variable.
1238         (Fchar_attribute_alist): New function.
1239         (Fget_char_attribute): New function.
1240         (Fput_char_attribute): New function.
1241         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
1242         too.
1243         (syms_of_mule_charset): Add new function `char-attribute-alist',
1244         `get-char-attribute' and `put-char-attribute'.
1245         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
1246
1247 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
1248
1249         * mule-charset.c (Fmake_charset): Just use
1250         `get_unallocated_leading_byte'.
1251
1252         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
1253         sets; don't use final-byte based number for private sets.
1254
1255 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1256
1257         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
1258         integer.
1259
1260 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1261
1262         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1263         to 0.9.
1264
1265 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1266
1267         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
1268         of `CHAR_LEADING_BYTE' in UTF-2000.
1269
1270         * insdel.c (find_charsets_in_bufbyte_string): Use
1271         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1272         (find_charsets_in_emchar_string): Likewise.
1273
1274         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
1275         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1276
1277         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
1278         (CHAR_CHARSET_ID): New macro.
1279
1280 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1281
1282         * chartab.c (get_char_table): Don't use type `Charset_ID' for
1283         charset-id - MIN_LEADING_BYTE.
1284         (put_char_table): Likewise.
1285
1286 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1287
1288         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
1289         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
1290         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
1291         (CHARSET_ID_OFFSET): New macro.
1292         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
1293         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
1294         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
1295         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
1296         4).
1297         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
1298         5).
1299         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
1300         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
1301         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
1302         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
1303         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
1304
1305 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1306
1307         * mule-charset.c (next_allocated_leading_byte): New variable in
1308         UTF-2000.
1309         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
1310         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
1311         (get_unallocated_leading_byte): Simply use
1312         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
1313         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
1314         UTF-2000.
1315
1316         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
1317         (MAX_LEADING_BYTE_PRIVATE): New macro.
1318         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
1319         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
1320
1321 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1322
1323         * mule-charset.c (Fmake_charset): Allocate final-byte based
1324         charset-id for 94-set, 96-set and 94x94-set.
1325
1326 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1327
1328         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
1329         ambiguous `else'.
1330         (Fmake_charset): Likewise.
1331         (complex_vars_of_mule_charset): Modify the font registry of
1332         `ucs-bmp' not to match `Ethiopic-Unicode'.
1333
1334 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1335
1336         * mule-charset.c (complex_vars_of_mule_charset): Add font
1337         registory of `ucs-bmp'.
1338
1339 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1340
1341         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
1342         coded-charsets in `default-coded-charset-priority-list' when
1343         breaking up a character.
1344
1345         * mule-charset.c (Vcharset_latin_viscii): New variable.
1346         (Qlatin_viscii): New variable.
1347         (make_charset): Don't use `decoding_table'.
1348         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
1349         byte_offset.
1350         (Fset_charset_mapping_table): New implementation.
1351         (syms_of_mule_charset): Add new symbol `latin-viscii'.
1352         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
1353         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
1354         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
1355         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
1356         charset `latin_viscii'.
1357
1358         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
1359         (CHARSET_TYPE_94X94): Change to 1 from 2.
1360         (CHARSET_TYPE_96): Change to 2 from 1.
1361         (CHARSET_TYPE_128): New macro.
1362         (CHARSET_TYPE_128X128): Change to 5 from 4.
1363         (CHARSET_TYPE_256): New macro.
1364         (CHARSET_TYPE_256X256): Change to 7 from 5.
1365         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
1366
1367 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1368
1369         * text-coding.c (char_encode_shift_jis): Refer
1370         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
1371         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
1372
1373         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
1374         (char_byte_table_equal): New function in UTF-2000.
1375         (char_byte_table_hash): New function in UTF-2000.
1376         (char_byte_table_description): New constant in UTF-2000.
1377         (char_byte_table): New type in UTF-2000.
1378         (make_char_byte_table): New function in UTF-2000.
1379         (copy_char_byte_table): New function in UTF-2000.
1380         (make_char_code_table): New macro in UTF-2000.
1381         (get_char_code_table): New function in UTF-2000.
1382         (put_char_code_table): New function in UTF-2000.
1383         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1384         (charset_description): Add setting in UTF-2000.
1385         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
1386         `CHARSET_TO_BYTE1_TABLE(cs)'.
1387         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
1388         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
1389         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
1390         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
1391         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
1392         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
1393         `CHARSET_TO_BYTE2_TABLE(cs)'.
1394
1395         * char-ucs.h (char_byte_table): New type.
1396         (XCHAR_BYTE_TABLE): New macro.
1397         (XSETCHAR_BYTE_TABLE): New macro.
1398         (CHAR_BYTE_TABLE_P): New macro.
1399         (GC_CHAR_BYTE_TABLE_P): New macro.
1400         (struct Lisp_Char_Byte_Table): New structure.
1401         (get_char_code_table): New interface.
1402         (Emchar_to_byte_table): Deleted.
1403         (get_byte_from_character_table): Deleted.
1404         (struct Lisp_Charset): Add `encoding_table'; delete
1405         `to_byte1_table' and `to_byte2_table'.
1406         (CHARSET_ENCODING_TABLE): New macro.
1407         (CHARSET_TO_BYTE1_TABLE): Deleted.
1408         (CHARSET_TO_BYTE2_TABLE): Deleted.
1409         (XCHARSET_ENCODING_TABLE): New macro.
1410         (XCHARSET_TO_BYTE1_TABLE): Deleted.
1411         (XCHARSET_TO_BYTE2_TABLE): Deleted.
1412
1413 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1414
1415         * mule-charset.c (syms_of_mule_charset): Delete charset alias
1416         `vietnamese-viscii-*'.
1417
1418 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1419
1420         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
1421         (Qvietnamese_viscii_upper): New variable.
1422         (Fdefine_charset_alias): New function.
1423         (syms_of_mule_charset): Add new function `define-charset-alias'.
1424         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
1425         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
1426         `latin-viscii-*'.
1427
1428 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
1429
1430         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
1431         (MAX_CHAR_OBS_94x94): New macro.
1432         (breakup_char_1): Support obsolete XEmacs-UCS private code space
1433         for 94x94 sets.
1434
1435         * mule-charset.c (put_byte_from_character_table): Change unit size
1436         from 128 to 256.
1437         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
1438         not defined.
1439         (Fmake_reverse_direction_charset): Modify dummy argument of
1440         `make_charset' for non-UTF-2000 environment.
1441
1442 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1443
1444         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
1445
1446         * mule-charset.c (destroy_byte_from_character_table): New macro.
1447         (latin_jisx0201_to_ucs): Deleted.
1448         (latin_iso8859_2_to_ucs): Deleted.
1449         (latin_iso8859_3_to_ucs): Deleted.
1450         (latin_iso8859_4_to_ucs): Deleted.
1451         (latin_iso8859_9_to_ucs): Deleted.
1452         (latin_viscii_lower_to_ucs): Deleted.
1453         (latin_viscii_upper_to_ucs): Deleted.
1454         (mark_charset): Mark `cs->decoding_table'.
1455         (Fcharset_mapping_table): Fix DOC-string.
1456         (Fset_charset_mapping_table): New function.
1457         (syms_of_mule_charset): Add nwe function
1458         `set-charset-mapping-table'.
1459         (complex_vars_of_mule_charset): Don't setup and use
1460         `latin_*_to_ucs'.
1461
1462 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1463
1464         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
1465         charset.
1466
1467 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1468
1469         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
1470         (Vcharset_katakana_jisx0208): New variable.
1471         (Qhiragana_jisx0208): New variable.
1472         (Qkatakana_jisx0208): New variable.
1473         (make_charset): Add new argument `byte_offset'.
1474         (charset_get_byte1): Modify for new coded-charset definition; use
1475         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
1476         `XCHARSET_BYTE_OFFSET'.
1477         (Fmake_charset): Modify for `make_charset'.
1478         (Fmake_reverse_direction_charset): Likewise.
1479         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
1480         `katakana-jisx0208'.
1481         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
1482         `.'  in font registry of charset `katakana-jisx0201',
1483         `latin-jisx0201', `vietnamese-viscii-lower' and
1484         `vietnamese-viscii-upper'; modify DOC-string of charset
1485         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
1486         registry of charset `japanese-jisx0208' not to use font for JIS
1487         X0208:1990; add new charset `hiragana-jisx0208' and
1488         `katakana-jisx0208'.
1489
1490         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
1491         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
1492         (struct Lisp_Charset): Add `byte_offset'.
1493         (CHARSET_BYTE_OFFSET): New macro.
1494         (XCHARSET_UCS_MIN): New macro.
1495         (XCHARSET_UCS_MAX): New macro.
1496         (XCHARSET_CODE_OFFSET): New macro.
1497         (XCHARSET_BYTE_OFFSET): New macro.
1498         (MIN_CHAR_HIRAGANA): New macro.
1499         (MAX_CHAR_HIRAGANA): New macro.
1500         (MIN_CHAR_KATAKANA): New macro.
1501         (MAX_CHAR_KATAKANA): New macro.
1502         (MAKE_CHAR): Modify for new coded-charset definition; use
1503         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
1504         `XCHARSET_BYTE_OFFSET'.
1505
1506 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1507
1508         * mule-charset.c (CHAR96): Deleted.
1509         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
1510         <Lisp_Object>.
1511         (latin_iso8859_2_to_ucs): Likewise.
1512         (latin_iso8859_3_to_ucs): Likewise.
1513         (latin_iso8859_4_to_ucs): Likewise.
1514         (latin_iso8859_9_to_ucs): Likewise.
1515         (latin_viscii_lower_to_ucs): Likewise.
1516         (latin_viscii_upper_to_ucs): Likewise.
1517         (latin_tcvn5712_to_ucs): Commented out.
1518         (make_charset): Change type of argument `decoding_table' from
1519         <Emchar*> to <Lisp_Object> [vector of characters].
1520         (Fmake_charset): Modify for `make_charset'.
1521         (Fmake_reverse_direction_charset): Likewise.
1522         (Fcharset_mapping_table): New function in UTF-2000.
1523         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
1524         UTF-2000.
1525         (complex_vars_of_mule_charset): Modify for type change of
1526         `*_to_ucs'; modify for `make_charset'.
1527
1528         * char-ucs.h (struct Lisp_Charset): Change type of
1529         `decoding_table' from <Emchar*> to <Lisp_Object>.
1530         (MAKE_CHAR): Modify for new specification of `decoding_table'.
1531
1532 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1533
1534         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
1535         error with non-UTF-2000-Mule.
1536
1537 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
1538
1539         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
1540         in lisp again].
1541         (Vcharset_chinese_cns11643_4): Likewise.
1542         (Vcharset_chinese_cns11643_5): Likewise.
1543         (Vcharset_chinese_cns11643_6): Likewise.
1544         (Vcharset_chinese_cns11643_7): Likewise.
1545         (Qchinese_cns11643_3): Likewise.
1546         (Qchinese_cns11643_4): Likewise.
1547         (Qchinese_cns11643_5): Likewise.
1548         (Qchinese_cns11643_6): Likewise.
1549         (Qchinese_cns11643_7): Likewise.
1550         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
1551         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
1552         and `chinese-cns11643-7' to lisp/mule/chinese.el.
1553         (complex_vars_of_mule_charset): Likewise.
1554
1555 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1556
1557         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
1558         96-set.
1559         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
1560         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
1561
1562 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
1563
1564         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
1565         0xFF60.
1566         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
1567         (breakup_char_1): Likewise.
1568
1569         * text-coding.c (char_encode_iso2022): Keep designated charsets if
1570         one of them includes the specified character.
1571
1572 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1573
1574         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
1575
1576 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1577
1578         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
1579
1580 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1581
1582         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
1583         definition for non-UTF-2000 Mule.
1584         (latin_iso8859_3_to_ucs): Likewise.
1585         (latin_iso8859_4_to_ucs): Likewise.
1586         (latin_iso8859_9_to_ucs): Likewise.
1587         (latin_jisx0201_to_ucs): Likewise.
1588         (MIN_CHAR_THAI): Likewise.
1589         (MAX_CHAR_THAI): Likewise.
1590         (MIN_CHAR_GREEK): Likewise.
1591         (MAX_CHAR_GREEK): Likewise.
1592         (MIN_CHAR_HEBREW): Likewise.
1593         (MAX_CHAR_HEBREW): Likewise.
1594         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
1595         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
1596         (MIN_CHAR_CYRILLIC): Likewise.
1597         (MAX_CHAR_CYRILLIC): Likewise.
1598
1599 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
1600
1601         * char-ucs.h (breakup_char_1): Use
1602         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
1603         thai-tis620 and katakana-jisx0201 area.
1604
1605 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1606
1607         * char-ucs.h (breakup_char_1): Use
1608         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
1609         area.
1610
1611         * text-coding.c (reset_encoding_stream): Fixed.
1612         (char_encode_ucs4): Delete `& 255'.
1613
1614         * char-ucs.h (breakup_char_1): Use
1615         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
1616
1617 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1618
1619         * file-coding.c (Fmake_coding_system): Don't set up
1620         `codesys->fixed.size'.
1621         (encode_coding_no_conversion): Don't refer
1622         `str->codesys->fixed.size'.
1623
1624 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1625
1626         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
1627         (latin_a_char_to_byte1): Deleted.
1628         (latin_a_char_to_byte2): Deleted.
1629
1630 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1631
1632         * mule-charset.c (make_charset): Add new argument `ucs_min',
1633         `ucs_max' and `code_offset'.
1634         (charset_get_byte1): New implementation [delete specific charset
1635         depended implementations].
1636         (Fmake_charset): Modify for `make_charset'.
1637         (Fmake_reverse_direction_charset): Likewise.
1638         (complex_vars_of_mule_charset): Likewise.
1639
1640         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
1641         `code_offset'.
1642         (CHARSET_UCS_MIN): New macro.
1643         (CHARSET_UCS_MAX): New macro.
1644         (CHARSET_CODE_OFFSET): New macro.
1645         (MAKE_CHAR): Delete charset depended definitions [except
1646         katakana-jisx0201].
1647
1648 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1649
1650         * char-ucs.h (breakup_char_1): Use
1651         `Vdefault_coded_charset_priority_list' for C0-Controls,
1652         Basic-Latin, C1-Controls and Latin-1-Supplement area.
1653
1654 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1655
1656         * char-ucs.h (charset_get_byte1): New function.
1657         (XCHARSET_GET_BYTE1): Deleted.
1658         (charset_get_byte2): New function.
1659         (XCHARSET_GET_BYTE2): Deleted.
1660         (Vdefault_coded_charset_priority_list): New external variable.
1661         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
1662         `Vdefault_preferred_coded_charset_list'.
1663
1664         * mule-charset.c (charset_get_byte1): New function.
1665         (charset_get_byte2): New function.
1666         (Vdefault_coded_charset_priority_list): New variable.
1667         (vars_of_mule_charset): Add new variable
1668         `default-coded-charset-priority-list'.
1669
1670 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1671
1672         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
1673         (XCHARSET_GET_BYTE2): New inline function.
1674         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
1675         `XCHARSET_GET_BYTE2'.
1676
1677 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1678
1679         * mule-charset.c (make_charset): Initialize
1680         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
1681         NULL if table is not defined.
1682
1683 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1684
1685         * text-coding.c (char_encode_shift_jis): Use
1686         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
1687         `ucs_to_latin_jisx0201'.
1688
1689         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
1690         (ucs_to_latin_iso8859_2): Deleted.
1691         (ucs_to_latin_iso8859_3): Deleted.
1692         (ucs_to_latin_iso8859_4): Deleted.
1693         (ucs_to_latin_iso8859_9): Deleted.
1694         (ucs_to_latin_viscii_lower): Deleted.
1695         (ucs_to_latin_viscii_upper): Deleted.
1696         (ucs_to_latin_tcvn5712): Deleted.
1697         (make_charset): Add new argument `decoding_table'; set up
1698         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
1699         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
1700         `decoding_table' is defined in UTF-2000.
1701         (Fmake_charset): Modify for `make_charset'.
1702         (Fmake_reverse_direction_charset): Likewise.
1703         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
1704         and `GENERATE_96_SET'.
1705
1706         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
1707         (ucs_to_latin_jisx0201): Deleted.
1708         (latin_iso8859_2_to_ucs): Deleted.
1709         (ucs_to_latin_iso8859_2): Deleted.
1710         (latin_iso8859_3_to_ucs): Deleted.
1711         (ucs_to_latin_iso8859_3): Deleted.
1712         (latin_iso8859_4_to_ucs): Deleted.
1713         (ucs_to_latin_iso8859_4): Deleted.
1714         (latin_iso8859_9_to_ucs): Deleted.
1715         (ucs_to_latin_iso8859_9): Deleted.
1716         (latin_viscii_lower_to_ucs): Deleted.
1717         (ucs_to_latin_viscii_lower): Deleted.
1718         (latin_viscii_upper_to_ucs): Deleted.
1719         (ucs_to_latin_viscii_upper): Deleted.
1720         (struct Lisp_Charset): Renamed `encoding_table' to
1721         `to_byte1_table'; add `to_byte2_table'.
1722         (CHARSET_DECODING_TABLE): New macro.
1723         (CHARSET_TO_BYTE1_TABLE): New macro.
1724         (CHARSET_TO_BYTE2_TABLE): New macro.
1725         (XCHARSET_DECODING_TABLE): New macro.
1726         (XCHARSET_TO_BYTE1_TABLE): New macro.
1727         (XCHARSET_TO_BYTE2_TABLE): New macro.
1728         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
1729         tables.
1730         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
1731         don't use `ucs_to_*' tables.
1732
1733 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1734
1735         * text-coding.c (Fmake_coding_system): Don't set up
1736         `codesys->fixed.size'.
1737         (encode_coding_no_conversion): Use `if' instead of `switch'.
1738
1739         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
1740
1741 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1742
1743         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
1744         (Fmake_charset): Modify for `make_charset'.
1745         (Fmake_reverse_direction_charset): Likewise.
1746         (complex_vars_of_mule_charset): Likewise.
1747
1748 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1749
1750         * text-coding.c (char_encode_shift_jis): Use table
1751         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
1752
1753 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1754
1755         * text-coding.c (text_encode_generic): Use `if' instead of
1756         `switch'.
1757         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
1758         decode JIS-Latin.
1759
1760 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1761
1762         * text-coding.c (encode_coding_sjis): Deleted.
1763         (char_encode_shift_jis): New function.
1764         (char_finish_shift_jis): New function.
1765         (reset_encoding_stream): Set up `encode_char' and `finish' for
1766         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
1767         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
1768         (char_encode_utf8): Treat `eol_type'.
1769
1770 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1771
1772         * file-coding.c (decode_coding_iso2022): Use
1773         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
1774
1775 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1776
1777         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1778         to 0.7 (Hirano).
1779
1780 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1781
1782         * char-lb.h (CHAR_COLUMNS): New macro.
1783
1784 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1785
1786         * text-coding.c (char_encode_ucs4): New function.
1787         (char_finish_ucs4): New function.
1788         (encode_coding_ucs4): Deleted.
1789         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
1790         (text_encode_generic): Delete local variable `charset' and `half'.
1791         (ucs_to_mule_table): Deleted.
1792         (mule_to_ucs_table): Deleted.
1793         (Fset_ucs_char): Deleted.
1794         (ucs_to_char): Deleted.
1795         (Fucs_char): Deleted.
1796         (Fset_char_ucs): Deleted.
1797         (Fchar_ucs): Deleted.
1798         (decode_ucs4): Deleted.
1799         (mule_char_to_ucs4): Deleted.
1800         (encode_ucs4): Deleted.
1801         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
1802         (decode_coding_utf8): Likewise.
1803         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
1804         (char_encode_iso2022): Fixed.
1805         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
1806         `Fset_char_ucs' and `Fchar_ucs'.
1807         (complex_vars_of_file_coding): Don't initialize
1808         `ucs_to_mule_table'.
1809
1810         * objects-tty.c (tty_initialize_font_instance): Don't use
1811         `XCHARSET_COLUMNS'.
1812
1813         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
1814         UTF-2000.
1815
1816         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
1817         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1818
1819         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
1820         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1821         (emchar_string_displayed_columns): Likewise.
1822
1823         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
1824         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
1825         (string_column_at_point): Likewise.
1826         (Fmove_to_column): Likewise.
1827
1828         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
1829         `encoding_table' and `decoding_table'.
1830         (CHARSET_REP_BYTES): Deleted.
1831         (XCHARSET_REP_BYTES): Deleted.
1832         (XCHARSET_COLUMNS): Deleted.
1833         (CHAR_COLUMNS): New macro.
1834         (lookup_composite_char): Deleted unconditionally.
1835         (composite_char_string): Likewise.
1836
1837 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1838
1839         * char-ucs.h (Emchar_to_byte_table): New type.
1840         (get_byte_from_character_table): New function interface.
1841         (Vcharset_latin_jisx0201): New variable.
1842         (latin_jisx0201_to_ucs): New variable.
1843         (ucs_to_latin_jisx0201): New variable.
1844         (Vcharset_latin_iso8859_2): New variable.
1845         (latin_iso8859_2_to_ucs): New variable.
1846         (ucs_to_latin_iso8859_2): New variable.
1847         (Vcharset_latin_iso8859_3): New variable.
1848         (latin_iso8859_3_to_ucs): New variable.
1849         (ucs_to_latin_iso8859_3): New variable.
1850         (Vcharset_latin_iso8859_4): New variable.
1851         (latin_iso8859_4_to_ucs): New variable.
1852         (ucs_to_latin_iso8859_4): New variable.
1853         (Vcharset_latin_iso8859_9): New variable.
1854         (latin_iso8859_9_to_ucs): New variable.
1855         (ucs_to_latin_iso8859_9): New variable.
1856         (Vcharset_latin_viscii_lower): New variable.
1857         (latin_viscii_lower_to_ucs): New variable.
1858         (ucs_to_latin_viscii_lower): New variable.
1859         (Vcharset_latin_viscii_upper): New variable.
1860         (latin_viscii_upper_to_ucs): New variable.
1861         (ucs_to_latin_viscii_upper): New variable.
1862         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
1863         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
1864         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
1865         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
1866         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
1867         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
1868         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
1869         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
1870         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
1871         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
1872
1873         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
1874         (Vcharset_latin_viscii_upper): New variable.
1875         (make_byte_from_character_table): New function.
1876         (put_byte_from_character_table): New function.
1877         (get_byte_from_character_table): New function.
1878         (CHAR96): New macro.
1879         (ucs_to_latin_jisx0201): New variable.
1880         (latin_jisx0201_to_ucs): New variable.
1881         (ucs_to_latin_iso8859_2): New variable.
1882         (latin_iso8859_2_to_ucs): New variable.
1883         (ucs_to_latin_iso8859_3): New variable.
1884         (latin_iso8859_3_to_ucs): New variable.
1885         (ucs_to_latin_iso8859_4): New variable.
1886         (latin_iso8859_4_to_ucs): New variable.
1887         (ucs_to_latin_iso8859_9): New variable.
1888         (latin_iso8859_9_to_ucs): New variable.
1889         (ucs_to_latin_viscii_lower): New variable.
1890         (latin_viscii_lower_to_ucs): New variable.
1891         (ucs_to_latin_viscii_upper): New variable.
1892         (latin_viscii_upper_to_ucs): New variable.
1893         (ucs_to_latin_tcvn5712): New variable.
1894         (latin_tcvn5712_to_ucs): New variable.
1895         (Qlatin_viscii_lower): New variable.
1896         (Qlatin_viscii_upper): New variable.
1897         (syms_of_mule_charset): Set up new symbol
1898         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
1899         (complex_vars_of_mule_charset): Set up new charset
1900         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
1901         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
1902         `ucs_to_<CHARSET>' tables.
1903
1904 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1905
1906         * text-coding.c: New file.
1907
1908 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
1909
1910         * mule-charset.c (Fmake_char): Fix problem of 256-set.
1911
1912         * char-ucs.h (Vcharset_ucs_bmp): New variable.
1913         (MAKE_CHAR): Modify for `ucs-bmp'.
1914         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
1915         non-MULE characters of BMP.
1916
1917 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
1918
1919         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1920         to 0.6.
1921
1922 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1923
1924         * lstream.h:
1925         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
1926         - Include character.h for `CHAR_ASCII_P'.
1927
1928         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
1929
1930         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
1931         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
1932
1933         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
1934         (BYTE_C0_P): Likewise.
1935         (BYTE_C1_P): Likewise.
1936         (Lstream_get_emchar_1): Likewise.
1937         (Lstream_fput_emchar): Likewise.
1938         (Lstream_funget_emchar): Likewise.
1939         (copy_internal_to_external): Likewise.
1940         (copy_external_to_internal): Likewise.
1941
1942         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
1943         (BYTE_C0_P): Likewise.
1944         (BYTE_C1_P): Likewise.
1945         (Lstream_get_emchar_1): Likewise.
1946         (Lstream_fput_emchar): Likewise.
1947         (Lstream_funget_emchar): Likewise.
1948         (copy_internal_to_external): Likewise.
1949         (copy_external_to_internal): Likewise.
1950
1951         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
1952         (REP_BYTES_BY_FIRST_BYTE): Likewise.
1953
1954         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
1955         (BYTE_ASCII_P): Moved to mb-1byte.h.
1956
1957 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1958
1959         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
1960
1961         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
1962         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
1963         (VALID_CHARPTR_P): Moved to mb-*byte.h.
1964         (VALIDATE_CHARPTR_BACKWARD): Likewise.
1965         (VALIDATE_CHARPTR_FORWARD): Likewise.
1966         (simple_charptr_emchar): Moved to mb-multibyte.h.
1967         (simple_set_charptr_emchar): Likewise.
1968         (simple_charptr_copy_char): Likewise.
1969         (non_ascii_charptr_emchar): Likewise.
1970         (non_ascii_set_charptr_emchar): Likewise.
1971         (non_ascii_charptr_copy_char): Likewise.
1972         (charptr_emchar): Moved to mb-*byte.h.
1973         (set_charptr_emchar): Likewise.
1974         (charptr_copy_char): Likewise.
1975
1976         * mb-1byte.h, mb-multibyte.h: New files.
1977
1978 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1979
1980         * mb-utf-8.h (MULTIBYTE): New macro.
1981         (MAX_EMCHAR_LEN): Moved from buffer.h.
1982         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
1983
1984         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
1985
1986         * mb-lb.h, multibyte.h: New files.
1987
1988         * char-1byte.h (Charset_ID): Moved from buffer.h.
1989         (MIN_LEADING_BYTE): Likewise.
1990         (LEADING_BYTE_ASCII): Likewise.
1991         (NUM_LEADING_BYTES): Likewise.
1992         (CHARSETP): Likewise.
1993         (CHARSET_BY_LEADING_BYTE): Likewise.
1994         (XCHARSET_LEADING_BYTE): Likewise.
1995         (XCHARSET_GRAPHIC): Likewise.
1996         (XCHARSET_COLUMNS): Likewise.
1997         (XCHARSET_DIMENSION): Likewise.
1998         (CHAR_CHARSET): Likewise.
1999         (CHAR_LEADING_BYTE): Likewise.
2000         (BREAKUP_CHAR): Likewise.
2001         (Vcharset_ascii): Likewise.
2002
2003         * buffer.h: Include multibyte.h unconditionally.
2004         (VALID_CHARPTR_P): Moved to multibyte.h.
2005         (ASSERT_VALID_CHARPTR): Likewise.
2006         (REAL_INC_CHARPTR): Likewise.
2007         (REAL_INC_CHARBYTIND): Likewise.
2008         (REAL_DEC_CHARPTR): Likewise.
2009         (INC_CHARPTR): Likewise.
2010         (INC_CHARBYTIND): Likewise.
2011         (DEC_CHARPTR): Likewise.
2012         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2013         (VALIDATE_CHARPTR_FORWARD): Likewise.
2014         (charptr_n_addr): Likewise.
2015         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2016         (simple_charptr_emchar): Moved to multibyte.h.
2017         (simple_set_charptr_emchar): Likewise.
2018         (simple_charptr_copy_char): Likewise.
2019         (non_ascii_charptr_emchar): Likewise.
2020         (non_ascii_set_charptr_emchar): Likewise.
2021         (non_ascii_charptr_copy_char): Likewise.
2022         (charptr_emchar): Likewise.
2023         (set_charptr_emchar): Likewise.
2024         (charptr_copy_char): Likewise.
2025         (charptr_emchar_n): Likewise.
2026         (Charset_ID): Moved to char-1byte.h.
2027         (Vcharset_ascii): Likewise.
2028         (CHAR_CHARSET): Likewise.
2029         (CHAR_LEADING_BYTE): Likewise.
2030         (LEADING_BYTE_ASCII): Likewise.
2031         (NUM_LEADING_BYTES): Likewise.
2032         (MIN_LEADING_BYTE): Likewise.
2033         (CHARSETP): Likewise.
2034         (CHARSET_BY_LEADING_BYTE): Likewise.
2035         (XCHARSET_LEADING_BYTE): Likewise.
2036         (XCHARSET_GRAPHIC): Likewise.
2037         (XCHARSET_COLUMNS): Likewise.
2038         (XCHARSET_DIMENSION): Likewise.
2039         (BREAKUP_CHAR): Likewise.
2040
2041 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2042
2043         * character.h: Add document about interface for characters.
2044
2045         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2046         (MAKE_CHAR): Delete comment about
2047         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2048         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2049         (BREAKUP_CHAR): Modify name of arguments.
2050         (CHAR_CHARSET): Modify name of argument.
2051
2052         * buffer.h: Delete document about Emchar accessors.
2053
2054 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2055
2056         * character.h (CHAR_INTP): Moved from buffer.h
2057         (CHAR_OR_CHAR_INTP): Likewise.
2058         (XCHAR_OR_CHAR_INT): Likewise.
2059         (CHECK_CHAR_COERCE_INT): Likewise.
2060
2061         * buffer.h (CHAR_INTP): Moved to character.h
2062         (CHAR_OR_CHAR_INTP): Likewise.
2063         (XCHAR_OR_CHAR_INT): Likewise.
2064         (CHECK_CHAR_COERCE_INT): Likewise.
2065
2066 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2067
2068         * character.h:
2069         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2070         - Include char-1byte.h, char-lb.h or char-ucs.h.
2071
2072         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2073
2074         * buffer.h: Include character unconditionally.
2075         (valid_char_p): Moved to char-*.h.
2076         (non_ascii_valid_char_p): Moved to char-lb.h.
2077
2078         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2079
2080 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2081
2082         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2083         in UTF-2000 because it is not ported yet and not to use
2084         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2085         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2086         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2087
2088         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2089         (CHAR_ASCII_P): Moved from character.h.
2090
2091         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2092         (CHAR_ASCII_P): Likewise.
2093         (CHAR_FIELD1_MASK): Deleted.
2094         (CHAR_FIELD2_MASK): Deleted.
2095         (CHAR_FIELD3_MASK): Deleted.
2096         (MAX_CHAR_BASIC_LATIN): New macro.
2097         (CHAR_FIELD1): Deleted.
2098         (CHAR_FIELD2_INTERNAL): Deleted.
2099         (CHAR_FIELD3_INTERNAL): Deleted.
2100         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2101         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2102         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2103         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2104         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2105         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2106         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2107         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2108         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2109         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2110         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2111         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2112         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2113         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2114         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2115         (MIN_CHAR_COMPOSITION): Deleted.
2116         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2117         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2118
2119 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2120
2121         * buffer.h: Include mb-utf-8.h in UTF-2000.
2122
2123         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2124
2125         * mb-utf-8.h: New file.
2126
2127 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2128
2129         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2130         instead of `int'.
2131
2132         * mule-charset.h, buffer.h (Charset_ID): New type.
2133
2134 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2135
2136         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2137         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2138         instead of `MULE_CHAR_PRIVATE_OFFSET',
2139         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2140         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2141         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2142
2143         * character.h (Vcharset_japanese_jisx0212): New variable
2144         definition.
2145
2146 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2147
2148         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
2149         (charset_by_attributes): Delete array about direction.
2150         (latin_a_char_to_charset): New variable in UTF-2000.
2151         (latin_a_char_to_byte1): New variable in UTF-2000.
2152         (latin_a_char_to_byte2): New variable in UTF-2000.
2153         (Qucs_bmp): New variable.
2154         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
2155         `Bufbyte'.
2156         (next_allocated_2_byte_leading_byte): Likewise.
2157         (non_ascii_set_charptr_emchar): Likewise.
2158         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
2159         `CHARSET_TYPE_256X256' in UTF-2000; modify for
2160         `charset_by_attributes'.
2161         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
2162         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
2163         and `CHARSET_BY_LEADING_BYTE'.
2164         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
2165         `utf-2000-version' to `vars_of_mule_charset'.
2166         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
2167         define `leading-code-private-11' in UTF-2000; move setting of
2168         `utf-2000-version' from `syms_of_mule_charset'.
2169         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
2170         UTF-2000.
2171
2172         * character.h (Charset_ID): New type.
2173         (LEADING_BYTE_UCS_BMP): New macro.
2174         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
2175         (CHARSET_ID_OFFSET_94): New macro.
2176         (MIN_CHARSET_ID_PRIVATE_94): New macro.
2177         (MAX_CHARSET_ID_PRIVATE_94): New macro.
2178         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
2179         final-byte.
2180         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
2181         (LEADING_BYTE_LATIN_JISX0201): Likewise.
2182         (CHARSET_ID_OFFSET_96): New macro.
2183         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
2184         CHARSET_ID_OFFSET_96 and final-byte.
2185         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
2186         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
2187         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
2188         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
2189         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
2190         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
2191         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
2192         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
2193         (LEADING_BYTE_THAI_TIS620): Likewise.
2194         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
2195         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
2196         (CHARSET_ID_OFFSET_94x94): New macro.
2197         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
2198         CHARSET_ID_OFFSET_94x94 and final-byte.
2199         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
2200         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
2201         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
2202         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
2203         (LEADING_BYTE_CHINESE_GB2312): Likewise.
2204         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
2205         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
2206         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
2207         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
2208         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
2209         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
2210         (CHARSET_TYPE_128X128): New macro.
2211         (CHARSET_TYPE_256X256): New macro.
2212         (XCHARSET_PRIVATE_P): Delete unconditionally.
2213         (charset_by_attributes): Delete array about direction.
2214         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
2215         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
2216         (MIN_CHAR_94): New macro.
2217         (MAX_CHAR_94): New macro.
2218         (MIN_CHAR_96): New macro.
2219         (MAX_CHAR_96): New macro.
2220         (MIN_CHAR_94x94): New macro.
2221         (MAX_CHAR_94x94): New macro.
2222         (MIN_CHAR_96x96): New macro.
2223         (MAX_CHAR_96x96): New macro.
2224         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
2225         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2226         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
2227         - 32)'.
2228         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
2229         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
2230         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
2231         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
2232         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
2233         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
2234         `XCHARSET_LEADING_BYTE' to make code-point.
2235         (latin_a_char_to_charset): New variable.
2236         (latin_a_char_to_byte1): New variable.
2237         (latin_a_char_to_byte2): New variable.
2238         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
2239         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
2240         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
2241
2242         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
2243         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
2244         (find_charsets_in_emchar_string): Likewise.
2245         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
2246
2247         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
2248         `int'.
2249         (decode_coding_iso2022): Likewise.
2250
2251         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
2252         of `unsigned char'.
2253
2254         * redisplay.c (redisplay_text_width_emchar_string): Use
2255         `Charset_ID' instead of `unsigned char'.
2256         (redisplay_frame_text_width_string): Likewise.
2257
2258         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
2259         `unsigned char'.
2260
2261         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
2262         instead of `unsigned char'.
2263         (face_cachel_charset_font_metric_info): Likewise.
2264
2265         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
2266         (get_non_ascii_char_table_value): Likewise.
2267         (get_char_table): Likewise.
2268         (put_char_table): Likewise.
2269         (map_over_other_charset): Likewise.
2270         (map_char_table): Likewise.
2271
2272         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
2273         instead of `unsigned char'.
2274
2275 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
2276
2277         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
2278         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
2279
2280         * mule-charset.c (leading_code_private_11): Don't define in
2281         UTF-2000.
2282
2283         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
2284         in UTF-2000 because it is not ported yet and not to use
2285         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
2286
2287 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
2288
2289         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
2290
2291 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2292
2293         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
2294         in UTF-2000.
2295
2296         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
2297         of unsigned char to store leading-byte.
2298
2299         * chartab.c (get_non_ascii_char_table_value): Don't use
2300         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
2301
2302         * file-coding.c (encode_coding_big5): Delete bogus implementation
2303         in UTF2000.
2304
2305         * character.h (LEADING_BYTE_*): Delete definition for
2306         non-UTF-2000.
2307         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
2308         (LEADING_BYTE_PREFIX_P): Deleted.
2309         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
2310         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
2311         (BUFBYTE_LEADING_BYTE_P): Deleted.
2312         (CHARSET_PRIVATE_P): Deleted unconditionally.
2313         (rep_bytes_by_first_byte): Deleted unconditionally.
2314         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
2315         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
2316         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2317         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
2318         (CHAR_FIELD2): Deleted.
2319         (CHAR_FIELD3): Deleted.
2320         (MAKE_CHAR): Delete definition for non-UTF-2000.
2321         (BREAKUP_CHAR_1_UNSAFE): Deleted.
2322         (breakup_char_1): New implementation.
2323         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
2324         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
2325
2326 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2327
2328         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
2329         condition.
2330
2331 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2332
2333         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
2334         (CHARSET_PRIVATE_P): Likewise.
2335         (XCHARSET_PRIVATE_P): Likewise.
2336         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
2337
2338         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
2339         UTF2000.
2340         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
2341
2342 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2343
2344         * character.h (LEADING_BYTE_*): Changed in UTF2000.
2345         (NUM_LEADING_BYTES): Changed from 128 to 256.
2346         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
2347         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
2348         UTF2000.
2349         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
2350
2351         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
2352         UTF2000.
2353         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
2354         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
2355         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
2356         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
2357         (Qchinese_cns11643_3): New variable in UTF2000.
2358         (Qchinese_cns11643_4): New variable in UTF2000.
2359         (Qchinese_cns11643_5): New variable in UTF2000.
2360         (Qchinese_cns11643_6): New variable in UTF2000.
2361         (Qchinese_cns11643_7): New variable in UTF2000.
2362         (syms_of_mule_charset): Define `chinese-cns11643-3',
2363         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2364         and `chinese-cns11643-7' in UTF2000.
2365         (vars_of_mule_charset): Initialize
2366         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
2367         + 1 in UTF2000.
2368         (complex_vars_of_mule_charset): Setup charset
2369         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
2370         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
2371
2372 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2373
2374         * mule-charset.c: Move setting for `leading-code-private-11' from
2375         `syms_of_mule_charset' to `vars_of_mule_charset'.
2376
2377 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2378
2379         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
2380         and `NUM_LEADING_BYTES' in assert.
2381
2382 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2383
2384         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
2385         instead of 128.
2386         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
2387         `NUM_LEADING_BYTES' instead of 128.
2388
2389 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
2390
2391         * mule-charset.h (charset_by_leading_byte): Use
2392         `NUM_LEADING_BYTES' instead of 128.
2393         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
2394
2395         * mule-charset.c (charset_by_leading_byte): Use
2396         `NUM_LEADING_BYTES' instead of 128.
2397         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
2398
2399         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
2400         128.
2401
2402 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2403
2404         * mule-charset.c (syms_of_mule_charset): Update to
2405         0.4 (Shin-Imamiya).
2406
2407 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
2408
2409         * file-coding.c (encode_coding_sjis): New implementation for
2410         UTF2000.  (decode_coding_sjis): Ditto.
2411
2412 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2413
2414         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
2415         Don't define in UTF2000.
2416
2417         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
2418         defined.
2419
2420         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
2421         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
2422         MULE.
2423
2424 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2425
2426         * config.h.in (CHAR_IS_UCS4): New macro.
2427
2428         * mule-charset.c (rep_bytes_by_first_byte): Modify for
2429         conventional MULE representation.
2430         (syms_of_mule_charset): Update to 0.3 (Imamiya).
2431
2432         * mule-charset.h: Reverted to original.
2433
2434         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
2435         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
2436         "mule-charset.h" if CHAR_IS_UCS4 is defined.
2437
2438         * character.h: New file.
2439
2440         * file-coding.c (Fmake_coding_system): Set 1 to
2441         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
2442         defined.
2443         (encode_coding_no_conversion): New implementation for UTF2000.
2444
2445         * file-coding.h (struct Lisp_Coding_System): Add new member
2446         `fixed.size'.
2447
2448 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
2449
2450         * file-coding.c (decode_coding_iso2022): Code-point arguments of
2451         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
2452         (encode_coding_iso2022): New implementation for UTF2000.
2453
2454 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2455
2456         * mule-canna.c (c2mu): New implementation for UTF2000.
2457         (m2c): Likewise.
2458
2459 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2460
2461         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
2462
2463 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2464
2465         * file-coding.c (reset_encoding_stream): Set 0 to
2466         `str->iso2022.current_char_boundary' in UTF2000.
2467         (encode_utf8): Don't define in UTF2000.
2468         (encode_coding_utf8): New implementation for UTF-8 representation
2469         of UTF2000.
2470         (complex_vars_of_file_coding): Define coding-system `utf-8'.
2471
2472 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
2473
2474         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
2475
2476         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
2477         UTF2000.
2478         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2479
2480         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
2481
2482         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
2483         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
2484         as UTF-8 in UTF2000.
2485         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
2486         (non_ascii_valid_char_p): Don't define in UTF2000.
2487         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
2488         (Lstream_get_emchar_1): Likewise.
2489         (utf-2000-version): New variable in UTF2000.
2490
2491         * lread.c (read_escape): Add new reader `u'.
2492
2493         * insdel.c (three_to_one_table): Don't define in UTF2000.
2494         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
2495         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
2496         UTF2000.
2497         (bytind_to_bufpos_func): Likewise.
2498         (buffer_mule_signal_inserted_region): Likewise.
2499         (vars_of_insdel): Don't initialize `three_to_one_table'.
2500         (init_buffer_text): Use `buf->text->mule_size' instead of
2501         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
2502         UTF2000.
2503
2504         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
2505         UTF-8 representation in UTF2000.
2506         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
2507         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
2508         (decode_coding_iso2022): Don't define local variable `lb' in
2509         UTF2000; don't use LEADING_BYTE in UTF2000; use
2510         `DECODE_ADD_UCS_CHAR' in UTF2000.
2511         (convert_to_external_format): Decode as UTF-8 in UTF2000.
2512
2513         * config.h.in (UTF2000): New macro.
2514
2515         * buffer.h (struct buffer_text): Add new member `mule_size' and
2516         don't add `mule_shifter' and `mule_three_p' in UTF2000.
2517         (valid_char_p): Return always 1 in UTF2000.
2518         (MAX_EMCHAR_LEN): 6 in UTF2000.
2519         (three_to_one_table): Don't define in UTF2000.
2520         (real_bufpos_to_bytind): Modify for UTF-8 representation in
2521         UTF2000.
2522         (real_bytind_to_bufpos): Likewise.
2523
2524         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
2525
2526 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2527
2528         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
2529         representation change.
2530         (Vutf_2000_version): New variable.
2531         (leading_code_private_11): New variable.
2532         (syms_of_mule_charset): Add new variables `utf-2000-version' and
2533         `leading-code-private-11'.
2534
2535         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
2536         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
2537         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
2538         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
2539         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
2540         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
2541         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
2542         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
2543         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
2544         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
2545         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
2546         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
2547         (MIN_CHAR_GREEK): New macro.
2548         (MAX_CHAR_GREEK): New macro.
2549         (MIN_CHAR_CYRILLIC): New macro.
2550         (MAX_CHAR_CYRILLIC): New macro.
2551         (MIN_CHAR_HEBREW): New macro.
2552         (MAX_CHAR_HEBREW): New macro.
2553         (MIN_CHAR_THAI): New macro.
2554         (MAX_CHAR_THAI): New macro.
2555         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
2556         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
2557         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
2558         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
2559         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
2560         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
2561         (CHAR_FIELD2): New inline function.
2562         (CHAR_FIELD3): New inline function.
2563         (MULE_CHAR_PRIVATE_OFFSET): New macro.
2564         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
2565         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
2566         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
2567         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
2568         (MIN_CHAR_COMPOSITION): Likewise.
2569         (CHAR_LEADING_BYTE): Modified for character representation change.
2570         (MAKE_CHAR): Likewise.
2571
2572         * lisp.h (Vcharset_latin_iso8859_1): New variable.
2573         (Vcharset_greek_iso8859_7): Likewise.
2574         (Vcharset_cyrillic_iso8859_5): Likewise.
2575         (Vcharset_hebrew_iso8859_8): Likewise.
2576         (Vcharset_thai_tis620): Likewise.
2577         (Vcharset_katakana_jisx0201): Likewise.
2578
2579 2000-07-19  Martin Buchholz <martin@xemacs.org>
2580
2581         * XEmacs 21.2.35 is released.
2582
2583 2000-07-19  Martin Buchholz  <martin@xemacs.org>
2584
2585         * select-x.c (x_handle_selection_request): 
2586         Text selected in xemacs and pasted into xterm failed to appear.
2587         Spelling fixes and cosmetic changes.
2588
2589 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2590
2591         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
2592         XEmacs frame (fix for doubling chars in dialog boxes).
2593
2594 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
2595
2596         * select.c (select_convert_in, select_convert_out):
2597         Don't call intern() every time.
2598
2599         * select.c (Qselect_convert_in, Qselect_convert_out): New.
2600         * select.c (vars_of_select): Initialise them.
2601
2602 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
2603
2604         * select.c (selection-coercible-types): New.
2605
2606         * select.c (own-selection-internal):
2607         * select.c (get-selection-internal):
2608         MULE bug fix - these should default to COMPOUND_TEXT and not
2609         STRING for MULE. I think.
2610
2611         * select.c (select_convert_out): Use selection-coercible-types
2612         to find types that we can attempt to perform coercions on.
2613
2614 2000-07-18  Martin Buchholz  <martin@xemacs.org>
2615
2616         * mule-wnnfns.c:
2617         * mule-canna.c:
2618         Add coding: cookie to identify encoding.
2619
2620         * mule-canna.c (CANNA_mode_keys): make static.
2621         Use proper prototypes, even for functions of no arguments.
2622         Remove external prototype for Fding().
2623
2624         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
2625
2626         * select.c (syms_of_select): Add missing DEFSUBR.
2627
2628 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
2629
2630         * select.c (get_selection_internal, own_selection_internal):
2631         Make the type default to STRING, rather than placing a nil type
2632         into Vselection_alist.
2633
2634 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
2635
2636         * gpmevent.c (tty_selection_exists_p):
2637         * gpmevent.c (tty_own_selection):
2638         Updated parameter lists.
2639
2640 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
2641
2642         * select.h (selection-alist): Removed declaration.
2643
2644         * select.h (get_local_selection):
2645         * select.c (get_local_selection):
2646         Made static.
2647
2648         * select.h (convert_selection): Removed declaration.
2649         * select.c (convert_selection): Removed.
2650         This function belongs in Lisp.
2651
2652         * select.h (select_convert_in): Declare.
2653         * select.h (select_convert_out): Declare.
2654         * select.c (select_convert_in): New.
2655         * select.c (select_convert_out): New.
2656         New conversion functions for other files to call.
2657
2658         * select.h (select_notify_buffer_kill): Declare.
2659         * select.c (select_notify_buffer_kill): New.
2660         New functions that get called from kill-buffer.
2661
2662         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
2663         X-specific lisp code.
2664
2665         * select.h: Declare some of the lisp-visible functions for
2666         external use.
2667
2668         * select.c (clean_local_selection_data): Removed. This was
2669         a disgusting function, and previously should have been in
2670         select-x.c in any case. The functionality is now provided
2671         in select-convert-from-integer (select.el).
2672
2673         * select.c (available-selection-types): Fixed stupidity where
2674         INTEGER and ATOM got added twice. Also add STRING when we see an
2675         extent.
2676
2677         * select.c (get-selection-internal): Removed symbol stripping. No
2678         longer causes conversion when data comes from the internal cache.
2679
2680         * select.c (syms_of_select): Added new functions.
2681
2682         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
2683         error checking - previously this called abort!
2684         
2685         * select-x.c (x_own_selection): Changed comment.
2686         
2687         * select-x.c (x_handle_selection_request): Use select_convert_out.
2688         Don't mess with selection-alist; it's an internal variable of select.c.
2689         
2690         * select-x.c (x_get_foreign_selection): Use select_convert_in.
2691         
2692         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
2693         rather than messing with selection-alist.
2694         
2695         * select-msw.c (mswindows_get_foreign_selection):
2696         Use TO_INTERNAL_FORMAT rather than hacking.
2697
2698 2000-07-14  Martin Buchholz  <martin@xemacs.org>
2699
2700         * process-unix.c (unix_open_multicast_group):
2701         (unix_open_multicast_group): Remove useless casts.
2702
2703 2000-07-13  Martin Buchholz  <martin@xemacs.org>
2704
2705         * sound.c (Fplay_sound): Fix `unused variable' warning.
2706
2707         * emacs.c (main): Use correct type for _environ on SCO5.
2708
2709 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
2710
2711         * console.h (own_selection_method):
2712         * console.h (selection_exists_p_method):
2713         * console.h (available_selection_types_method): New.
2714         * console.h (register_selection_data_type_method): New.
2715         * console.h (selection_data_type_name): New.
2716         
2717         * console-msw.h (mswindows_destroy_selection): Declare it.  New
2718         function & alist to track GlobalAlloc()'d handles that need
2719         releasing when the clipboard data gets replaced or emptied.
2720
2721         * event-msw.c (mswindows_wnd_proc): Call it.
2722
2723         * lisp.h, general.c (Qappend): New symbol representing a
2724         `how-to-add' mode.
2725         
2726         * select.c (own-selection-internal):
2727         * select.c (selection-exists-p):
2728         * select.c (available-selection-types): New.
2729         * select.c (register-selection-data-type): New.
2730         * select.c (selection-data-type-name): New.  New functions to deal
2731         with device-specific selection data formats.
2732         * select.c (selection-converter-out-alist): Renamed.
2733         * select.c (selection-converter-in-alist): New.
2734         * select.c (selection-appender-alist): New.  Added new alists.
2735         * select.c (syms_of_select, vars_of_select): Added new symbols &
2736         variables.
2737         * select.c (get_local_selection): Split.
2738         * select.c: Removed spurious type checking - selections may now be
2739         of any type, not just strings.
2740         * select.c (own-selection-internal):
2741
2742         * select.h, select.c (convert_selection): New. Created
2743         convert_selection() function based on get_local_selection().
2744         * select.h, select.c (QCF_*): New symbols representing mswindows
2745         clipboard formats.
2746         * select.h, select.c (Qreplace_all, Qreplace_existing): New
2747         symbols representing `how-to-add' modes.
2748
2749         * select-msw.c (x_sym_p): New.
2750         * select-msw.c (symbol_to_ms_cf): New.
2751         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
2752         symbols & clipboard formats. Can also handle string names.
2753         * select-msw.c (mswindows_own_selection):
2754         * select-msw.c (mswindows_selection_exists_p):
2755         Added `data-type' parameter. Use it.
2756         * select-msw.c (mswindows_available_selection_types): New.
2757         * select-msw.c (mswindows_register_selection_data_type): New.
2758         * select-msw.c (mswindows_selection_data_type_name): New.
2759         * select-msw.c (mswindows_own_selection):
2760         * select-msw.c (mswindows_get_foreign_selection):
2761         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
2762         * select-msw.c (console_create_select_mswindows): Added new methods.
2763         * select-msw.c (mswindows_destroy_selection): New.
2764         * select-msw.c (Vhandle_alist): New list.
2765         * select-msw.c (mswindows_own_selection):
2766
2767         * select-x.c (x_own_selection):
2768         * select-x.c (x_selection_exists_p):
2769         * select-x.c: Added some comments about maybe using new
2770         functionality.
2771         * select-x.c (x_own_selection):
2772
2773         * specifier.c: Remove definition of Qappend (now in general.c)
2774         * specifier.c (syms_of_specifier): Remove Qappend.
2775
2776 2000-07-12  Martin Buchholz  <martin@xemacs.org>
2777
2778         * config.h.in: Add socklen_t.
2779
2780         * s/decosf4-0.h: No special compiler flags needed or desired.
2781         In particular, undefine _BSD for DEC OSF 4.0.
2782
2783 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2784
2785         * redisplay-msw.c (msprinter_frame_output_end): Added.
2786         (console_type_create_redisplay_mswindows): Referred the above.
2787
2788         * frame.c (setup_frame_without_minibuffer): Do not create a
2789         default minibuffer frame on a printer device.
2790
2791         * frame-msw.c (apply_dc_geometry): Added.
2792         (msprinter_start_page): 
2793         (msprinter_init_frame_3): 
2794         (msprinter_eject_page): Use it.
2795
2796         * console-msw.h (struct msprinter_frame): Added pix_left and top,
2797         and removed residual duplex and orientation properties.
2798
2799 2000-07-11  Martin Buchholz  <martin@xemacs.org>
2800
2801         * eval.c (function_argcount): Work around a DEC CC compiler bug.
2802
2803         * unexalpha.c: Remove system prototypes from C sources!
2804
2805 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
2806
2807         * eval.c: Remove references to M-x edit-options in DEFUNs for
2808         `defvar' and `defconst'.
2809
2810 2000-07-09  Martin Buchholz  <martin@xemacs.org>
2811
2812         * config.h.in: Remove SMART_INCLUDE hackery.
2813         
2814         PostgreSQL hacking:
2815         * config.h.in: Don't use SMART_INCLUDE.
2816
2817         * postgresql.h: Include libpq-fe.h here.  Fix typo.
2818         * inline.c: Simply #include "postgresql.h"
2819         * postgresql.c:
2820         - Don't use SMART_INCLUDE
2821         - Use simply "const".
2822         - Use standard doc string conventions.
2823         - Use correct type for result of PQstatus.
2824
2825 2000-07-09  Martin Buchholz  <martin@xemacs.org>
2826
2827         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
2828
2829         C++ compilation changes.
2830         * config.h.in (EXTERN_C): Define.
2831         * config.h.in (not): This is also a C++ keyword.
2832         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
2833         * cm.c: Use EXTERN_C.
2834         * redisplay-tty.c: Use EXTERN_C.
2835         * sysdep.c: Use EXTERN_C.  Remove Gould support.
2836
2837 2000-07-09  Martin Buchholz  <martin@xemacs.org>
2838
2839         * general.c: Remove duplicate definition for Qfunction.
2840
2841 2000-07-08  Ben Wing  <ben@xemacs.org>
2842
2843         * device-msw.c (msprinter_init_device):
2844         * device-msw.c (sync_printer_with_devmode):
2845         * device-msw.c (handle_devmode_changes):
2846         * device-msw.c (print_dialog_worker):
2847         * device-msw.c (Fmsprinter_apply_settings):
2848         * device-msw.c (hash_devmode):
2849         * device-msw.c (Fmsprinter_settings_despecialize):
2850         use Qmswindows_tstr, not Qctext.
2851         
2852         * vm-limit.c (check_memory_limits):
2853         avoid infinite loop printing warning messages.
2854
2855 2000-07-05  Craig Lanning  <lanning@scra.org>
2856
2857         * Makefile.in.in: Add support for including the Windows resources
2858         when building with the cygwin and mingw targets.
2859
2860         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
2861         not set or not correct.
2862         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
2863         (init_initial_directory): Don't try to use $PWD on the
2864         WIN32_NATIVE target.
2865
2866         * s\cygwin32.h:
2867         [[Add -mwindows to eliminate console window.]] not required --ben
2868         (HAVE_NATIVE_SOUND): removed; now handled by configure.
2869         (MAIL_USE_POP): removed; now handled by configure.
2870
2871         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
2872         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
2873         (HAVE_NATIVE_SOUND): removed; now handled by configure.
2874         (MAIL_USE_POP): removed; now handled by configure.
2875         (ENCAPSULATE_STAT): from Dan Holmsand, added.
2876         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
2877         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
2878         constant string.
2879         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
2880         up from <winsock.h> via systime.h.
2881         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
2882         (getpagesize): from Dan Holmsand, added.
2883         Added #endif which was left dangling by Ben's mega patch; added
2884         comment to help prevent this in the future.
2885
2886         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
2887
2888 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
2889
2890         * console-msw.h (struct mswindows_device): Removed unnecessary
2891         cached device geometry values.
2892         Added update_tick and an accessor macro.
2893         (Lisp_Devmode): Added lrecord declaration. 
2894         (struct msprinter_device): Contain devmode as a Lisp object.
2895         Added mswindows_get_selected_frame_hwnd();
2896
2897         * console.h (struct console_methods): Indentation nitpicking.
2898
2899         * device-msw.c (mswindows_init_device): Do not initialize geometry
2900         cache. Initialize update tick.
2901         (mswindows_device_system_metrics): Ask the device for its geometry.
2902         (global_free_2_maybe): 
2903         (devmode_to_hglobal): 
2904         (handle_printer_changes): 
2905         (ensure_not_printing): 
2906         (print_dialog_worker): 
2907         (Fmsprinter_print_setup_dialog): 
2908         (Fmsprinter_print_dialog): 
2909         (plist_get_margin): 
2910         (plist_set_margin): 
2911         (Fmsprinter_page_setup_dialog): Added functions.
2912         (sync_printer_with_devmode): 
2913         (handle_devmode_changes): 
2914         (Fmsprinter_get_settings): 
2915         (Fmsprinter_select_settings): 
2916         (Fmsprinter_apply_settings):
2917         (allocate_devmode): 
2918         (Fmsprinter_settings_copy): 
2919         (Fmsprinter_settings_despecialize): 
2920         (print_devmode): 
2921         (finalize_devmode): 
2922         (equal_devmode): 
2923         (hash_devmode): Added functions
2924         (syms_of_device_mswindows): Init devmode lrecord class.
2925
2926         * device.h: Added an exfun for find-device.
2927
2928         * event-msw.c (mswindows_wnd_proc): Do not update the cached
2929         geometry; although, recreate the device compatible DC.
2930
2931         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
2932         (msprinter_init_frame_3):
2933         (msprinter_frame_property): 
2934         (msprinter_internal_frame_property_p):
2935         (msprinter_frame_properties): 
2936         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
2937         print job properties (will move to device settings).
2938
2939         * lisp.h: Added symbols.
2940
2941         * general.c (syms_of_general): Declared them.
2942
2943         * hash.c (string_hash): Added.
2944
2945         * lrecord.h (lrecord_type): Added devmode lrecord type.
2946
2947 2000-07-02  Mike Sperber <mike@xemacs.org>
2948
2949         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
2950         FreeBSD 4.0.
2951
2952 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2953
2954         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2955         integer.
2956
2957 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2958
2959         * data.c (Fstring_to_number): Don't recognize floating point if
2960         base is not 10.
2961
2962 2000-06-22  Martin Buchholz  <martin@xemacs.org>
2963
2964         * glyphs-widget.c (tab_control_query_geometry):
2965         (widget_query_geometry):
2966         (button_query_geometry):
2967         * glyphs.c (text_query_geometry):
2968         Enforce type correctness.
2969
2970 2000-06-18  Martin Buchholz  <martin@xemacs.org>
2971
2972         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
2973         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
2974
2975 2000-06-17  Martin Buchholz  <martin@xemacs.org>
2976
2977         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
2978         conflicts with gcc's fixincluded version of FOO.h.
2979
2980         * glyphs.h (image_instance_geometry): Remove trailing `,'
2981
2982 2000-06-08  Mike Alexander  <mta@arbortext.com>
2983
2984         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
2985         (shove_thread): Don't write the same output twice
2986         (make_ntpipe_output_stream): Increase priority of shove thread
2987         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
2988         chance to run
2989         (ntpipe_shove_closer): Don't delete the pipe until we're done with
2990         it.
2991
2992 2000-06-12  Ben Wing  <ben@xemacs.org>
2993
2994         * s\mingw32.h (sigset):
2995         * s\windowsnt.h (sigset):
2996         rename msw_ to mswindows_ for consistency with general convention.
2997
2998 2000-06-12  Ben Wing  <ben@xemacs.org>
2999
3000         * console-msw.c:
3001         * console-msw.c (mswindows_get_console_hwnd):
3002         * console-msw.c (mswindows_ensure_console_allocated):
3003         * console-msw.c (mswindows_hide_console):
3004         * console-msw.c (mswindows_show_console):
3005         * console-msw.c (mswindows_ensure_console_buffered):
3006         * console-msw.c (mswindows_output_console_string):
3007         * console-msw.c (mswindows_windows9x_p):
3008         * console-msw.h:
3009         * device-msw.c (mswindows_get_workspace_coords):
3010         * device-msw.c (mswindows_device_system_metrics):
3011         * dialog-msw.c (mswindows_popup_dialog_box):
3012         * event-msw.c (mswindows_wnd_proc):
3013         * frame-msw.c (mswindows_size_frame_internal):
3014         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
3015         * menubar-msw.c (displayable_menu_item):
3016         * menubar-msw.c (mswindows_char_is_accelerator):
3017         * nt.c:
3018         * nt.c (mswindows_sigset):
3019         * nt.c (mswindows_sigrelse):
3020         * nt.c (mswindows_sigpause):
3021         * nt.c (mswindows_raise):
3022         * nt.c (timer_proc):
3023         * ntproc.c:
3024         * ntproc.c (find_child_console):
3025         * ntproc.c (sys_kill):
3026         * print.c:
3027         * print.c (std_handle_out_external):
3028         * process-nt.c (find_child_console):
3029         * process-nt.c (send_signal_the_95_way):
3030         * process-nt.c (ensure_console_window_exists):
3031         * process-nt.c (nt_create_process):
3032         * syssignal.h:
3033         rename msw_ to mswindows_ for consistency with general convention.
3034
3035         * emacs.c:
3036         * dumper.c:
3037         include nt.h, not syswindows.h.
3038
3039         * nt.c (mswindows_fstat):
3040         * nt.c (mswindows_stat):
3041         prefix mswindows_ instead of attempting to directly override the
3042         library functions.  fix declarations.
3043         
3044         * nt.h:
3045         include syswindows.h.  move some sysdep.h stuff here.
3046         
3047         * ntheap.h:
3048         include syswindows.h, not <windows.h>.
3049
3050         * ntplay.c:
3051         clean up headers.
3052         
3053         * sysdep.c:
3054         clean up headers.
3055         
3056         * sysdep.c (sys_fstat):
3057         * sysdep.c (sys_stat):
3058         call mswindows versions when appropriate.
3059         
3060         * sysdep.h:
3061         move mswin decls to nt.h.
3062         
3063         * syswindows.h:
3064         add long comment describing appropriate use of the various windows
3065         headers.
3066
3067 2000-06-11  Ben Wing  <ben@xemacs.org>
3068
3069         * device-x.c: Correct doc string for sixth arg of x-get-resource.
3070
3071 2000-06-10  Ben Wing  <ben@xemacs.org>
3072
3073         * Makefile.in.in (release):
3074         Correction to make sure xemacs.exe always dumped when correct.
3075         
3076         * alloca.c:
3077         * balloon_help.c:
3078         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
3079         
3080         * buffer.c (set_buffer_internal):
3081         [[[[2]]]]: Remove HAVE_FEP code.
3082
3083         * buffer.c (init_initial_directory):
3084         [3].
3085         
3086         * bytecode.c:
3087         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
3088         individual files.
3089         
3090         * callproc.c:
3091         * callproc.c (call_process_cleanup):
3092         * callproc.c (Fold_call_process_internal):
3093         * callproc.c (child_setup):
3094         * callproc.c (getenv_internal):
3095         * callproc.c (init_callproc):
3096         * callproc.c (vars_of_callproc):
3097         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
3098         __CYGWIN32__ -> CYGWIN.
3099         DOS_NT -> WIN32_NATIVE.
3100         Remove MSDOS support/references, converting to WIN32_NATIVE
3101           where correct.
3102         __MINGW32__ -> MINGW.
3103         Fix windows.h includes.
3104         Remove bogus HAVE_NTGUI.
3105
3106         * config.h.in:
3107         [2].
3108         
3109         * console-msw.c:
3110         mswindows_message_outputted added for use in allowing startup
3111         errors on the console to be seen.
3112         
3113         * console-msw.c (msw_ensure_console_allocated):
3114         * console-msw.c (msw_output_console_string):
3115         * console-msw.c (DHEADER):
3116         * console-msw.c (DOPAQUE_DATA):
3117         * console-msw.c (DEVENT):
3118         * console-msw.c (DCONS):
3119         * console-msw.c (DCONSCDR):
3120         * console-msw.c (DSTRING):
3121         * console-msw.c (DVECTOR):
3122         * console-msw.c (DSYMBOL):
3123         * console-msw.c (DSYMNAME):
3124         Fix warnings.
3125         
3126         * console-stream.c (stream_init_console):
3127         Fix text/binary problems.
3128         
3129         * device-msw.c:
3130         * device-msw.c (mswindows_finish_init_device):
3131         * device-msw.c (mswindows_delete_device):
3132         [1].
3133         
3134         * device.c (handle_asynch_device_change):
3135         [3].
3136         
3137         * dgif_lib.c:
3138         * dgif_lib.c (DGifOpenFileName):
3139         * dgif_lib.c (DGifOpenFileHandle):
3140         * dgif_lib.c (DGifGetLine):
3141         * dgif_lib.c (DGifGetPixel):
3142         Added config.h/lisp.h, fix up includes.
3143         [1].
3144         
3145         * dired-msw.c:
3146         [4].
3147         
3148         * dired.c:
3149         * dired.c (file_name_completion):
3150         * dired.c (Ffile_attributes):
3151         * dired.c (syms_of_dired):
3152         [1].
3153         
3154         * dumper.c:
3155         * dumper.c (pdump_file_unmap):
3156         * dumper.c (pdump_load):
3157         [1].
3158         
3159         * editfns.c:
3160         * editfns.c (Ftemp_directory):
3161         * editfns.c (user_login_name):
3162         * editfns.c (Fuser_real_login_name):
3163         * editfns.c (get_home_directory):
3164         [1].
3165         
3166         * elhash.c (finish_marking_weak_hash_tables):
3167         [[[[5]]]]: Fix GCC warnings.
3168         
3169         * emacs.c:
3170         * emacs.c (mswindows_handle_hardware_exceptions):
3171         * emacs.c (make_arg_list_1):
3172         * emacs.c (main_1):
3173         * emacs.c (Fkill_emacs):
3174         * emacs.c (Fdump_emacs):
3175         [1].
3176         Fix problems with nested crashes, add long comment.
3177         
3178         * event-Xt.c (init_event_Xt_late):
3179         [1].
3180         
3181         * event-msw.c:
3182         * event-msw.c (mswindows_dde_callback):
3183         * event-msw.c (mswindows_handle_sticky_modifiers):
3184         * event-msw.c (mswindows_wnd_proc):
3185         [1].
3186         [5].
3187         
3188         * events.c (character_to_event):
3189         [1].
3190         
3191         * fileio.c:
3192         * fileio.c (Ffile_name_directory):
3193         * fileio.c (Ffile_name_nondirectory):
3194         * fileio.c (directory_file_name):
3195         * fileio.c (Fexpand_file_name):
3196         * fileio.c (Fsubstitute_in_file_name):
3197         * fileio.c (Ffile_name_absolute_p):
3198         * fileio.c (check_executable):
3199         * fileio.c (Ffile_readable_p):
3200         * fileio.c (Ffile_accessible_directory_p):
3201         * fileio.c (Ffile_modes):
3202         * fileio.c (Funix_sync):
3203         * fileio.c (vars_of_fileio):
3204         [1]. [4].
3205
3206         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
3207         
3208         Expand getdefdir defn.
3209         Fix bogus rename() comment.
3210
3211         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
3212         to use standard XEmacs include files, e.g. sysfile.h, rather
3213         than system-specific includes.
3214         
3215         * fns.c:
3216         * fns.c (Fsubseq):
3217         [5]. [6].
3218         
3219         * frame.c (vars_of_frame):
3220         [1].
3221         
3222         * getloadavg.c:
3223         * getloadavg.c (getloadavg):
3224         [1]. [6].
3225         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
3226         (We don't use it elsewhere in the code; just add a comment.)
3227         
3228         * gif_io.c:
3229         [6].
3230         Add config.h.
3231         
3232         * glyphs-msw.c:
3233         * glyphs-msw.c (mswindows_resource_instantiate):
3234         [1].
3235         
3236         * glyphs-x.c (x_native_layout_instantiate):
3237         [5].
3238         
3239         * gui-msw.c (Fmswindows_shell_execute):
3240         [1].
3241         
3242         * insdel.c:
3243         [4].
3244         
3245         * lisp.h:
3246         [4]. [5].
3247         
3248         * lread.c (locate_file_in_directory_mapper):
3249         [1].
3250         
3251         * lstream.c:
3252         [4].
3253         
3254         * mem-limits.h:
3255         * mem-limits.h (get_lim_data):
3256         [1].
3257         
3258         * menubar-msw.c:
3259         [4].
3260         
3261         * ndir.h:
3262         [1].
3263         
3264         * nt.c:
3265         * nt.c (getwd):
3266         * nt.c (closedir):
3267         * nt.c (rva_to_section):
3268         * nt.c (mswindows_executable_type):
3269         [1]. [6].
3270         Fix closedir() defn.
3271         
3272         * nt.h:
3273         [[[[8]]]]: *_OK defs moved to sysfile.h.
3274         
3275         * ntproc.c:
3276         [6]. [7].
3277         
3278         * objects-x.c:
3279         [4].
3280         
3281         * print.c:
3282         * print.c (std_handle_out_external):
3283         [1]. [4].
3284         
3285         * process-nt.c:
3286         * process-nt.c (nt_create_process):
3287         [6].
3288         try to fix process quoting somewhat.
3289         
3290         * process-unix.c (unix_create_process):
3291         [1].
3292         
3293         * process.c:
3294         * process.c (vars_of_process):
3295         Add Vnull_device.
3296         
3297         * process.h:
3298         [1].
3299         
3300         * realpath.c:
3301         * realpath.c (xrealpath):
3302         [1].
3303         
3304         * redisplay-tty.c (init_tty_for_redisplay):
3305         [3].
3306         
3307         * redisplay.c:
3308         [4]. [6].
3309         
3310         * scrollbar-msw.c:
3311         [4].
3312         
3313         * sheap.c:
3314         * sheap.c (more_static_core):
3315         * sheap.c (report_sheap_usage):
3316         [5]. [6].
3317         
3318         * signal.c:
3319         * signal.c (alarm_signal):
3320         [1]. [6]. 
3321         
3322         * sound.c:
3323         [6].
3324         
3325         * strftime.c:
3326         * strftime.c (zone_name):
3327         [1]. [5].
3328         
3329         * symsinit.h (init_sunpro):
3330         [1].
3331         
3332         * syscommctrl.h:
3333         commctrl.h not in Cygwin b20.1.
3334         
3335         * sysdep.c:
3336         * sysdep.c (endif):
3337         * sysdep.c (sys_subshell):
3338         * sysdep.c (init_baud_rate):
3339         * sysdep.c (emacs_get_tty):
3340         * sysdep.c (emacs_set_tty):
3341         * sysdep.c (tty_init_sys_modes_on_device):
3342         * sysdep.c (init_system_name):
3343         * sysdep.c (sys_open):
3344         * sysdep.c (interruptible_open):
3345         * sysdep.c (sys_fopen):
3346         * sysdep.c (sys_mkdir):
3347         * sysdep.c (sys_rename):
3348         * sysdep.c (get_process_times_1):
3349         [1]. [6].
3350         
3351         * sysdep.h:
3352         [1].
3353         
3354         * sysdir.h:
3355         * sysdir.h (DIRENTRY_NONEMPTY):
3356         [1]. [6].
3357         
3358         * sysdll.c (dll_init):
3359         * sysdll.h:
3360         [1].
3361                 
3362         * sysfile.h:
3363         [1]. [6]. [8].
3364         added text/binary defs.
3365         
3366         * sysfloat.h:
3367         [1].
3368         
3369         * sysproc.h:
3370         * sysproc.h (EDESTADDRREQ):
3371         * sysproc.h (poll_fds_for_input):
3372         [1]. [6].
3373         
3374         * syspwd.h:
3375         [6].
3376         
3377         * syssignal.h:
3378         [1].
3379         
3380         * systime.h:
3381         [1]. [6].
3382         
3383         * systty.h:
3384         [1].
3385         
3386         * syswindows.h:
3387         [1].
3388         Always define WIN32_LEAN_AND_MEAN.
3389         
3390         * unexcw.c (unexec):
3391         [5].
3392         
3393         * unexec.c:
3394         * unexec.c (copy_text_and_data):
3395         * unexec.c (adjust_lnnoptrs):
3396         [1].
3397         
3398         * unexnt.c:
3399         * unexnt.c (_start):
3400         [1].
3401         
3402 2000-06-07  Ben Wing  <ben@xemacs.org>
3403
3404         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
3405         was used only as a model.  We've long since extracted any useful
3406         logic or code out of this. (I just did an exhaustive search.)
3407
3408         * s\msdos.h: Removed.
3409
3410         * s\windows95.h: Removed.
3411
3412 2000-06-10  Ben Wing  <ben@xemacs.org>
3413
3414         * s\cygwin32.h:
3415         [1]. [5].
3416         Don't use extern with fun defs.
3417         
3418         * s\mingw32.h:
3419         [1]. [7].
3420         Remove nt\inc include.
3421         Remove getdisk, getdefdir. (The former is unused, the latter
3422         expanded in fileio.h.)
3423         
3424         * s\windowsnt.h:
3425         * s\windowsnt.h (WIN32_NATIVE):
3426         * s\windowsnt.h (HAVE_STRCASECMP):
3427         [1]. [7].
3428         Add long comment about preprocessor changes.
3429         Remove getdisk, getdefdir. (The former is unused, the latter
3430         expanded in fileio.h.)
3431
3432 2000-06-10  Ben Wing  <ben@xemacs.org>
3433
3434         * m\arm.h:
3435         * m\delta.h:
3436         * m\intel386.h:
3437         * m\sequent.h:
3438         * m\template.h:
3439         * m\windowsnt.h:
3440         [1].
3441         Remove bogus/unused NO_SOCK_SIGIO.
3442         
3443 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
3444
3445         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
3446         not an Emchar.
3447
3448 2000-06-04  Mike Sperber <mike@xemacs.org>
3449
3450         * casetab.c (set_case_table): For `set-standard-case-table',
3451         actually deposit the new case tables where the rest of XEmacs can
3452         see them.
3453
3454 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
3455
3456         * data.c (Faset): Don't cast XCHAR() to unsigned char.
3457
3458 2000-06-05  Ben Wing  <ben@xemacs.org>
3459
3460         * callproc.c (child_setup): Don't do close_load_descs() under
3461         MS Windows.  Put in a comment explaining why.
3462
3463 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
3464
3465         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
3466         Toolkit shell" which breaks `kill-compilation' on Windows NT
3467         native, retaining STDERR handling improvements.
3468
3469 2000-06-01  Andreas Jaeger  <aj@suse.de>
3470
3471         * s/s390.h: Support for S390, based on a patch by Martin
3472         Schwidefsky <schwidefsky@de.ibm.com>.
3473
3474 2000-05-30  Andy Piper  <andy@xemacs.org>
3475
3476         * window.c (allocate_window): 
3477         (make_dummy_parent): 
3478         (Fset_window_configuration): use new hashtable type.
3479
3480         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY): 
3481         (struct image_instantiator_methods): 
3482         (struct Lisp_Image_Instance): make instance geometry signed.
3483
3484         * glyphs.c (instantiate_image_instantiator): 
3485         (image_instance_query_geometry): 
3486         (image_instance_layout): 
3487         (image_instance_layout): 
3488         (query_string_geometry): 
3489         (text_query_geometry): 
3490         (image_instantiate): 
3491         (image_instantiate): 
3492         (cache_subwindow_instance_in_frame_maybe): 
3493         (subwindow_query_geometry): make instance geometry signed.
3494
3495         * glyphs-widget.c (widget_query_geometry): 
3496         (widget_layout): 
3497         (button_query_geometry): 
3498         (tree_view_query_geometry): 
3499         (tab_control_query_geometry): 
3500         (layout_query_geometry): 
3501         (layout_layout): 
3502         (native_layout_layout): make instance geometry signed.
3503
3504 2000-05-29  Olivier Galibert  <galibert@pobox.com>
3505
3506         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
3507         constant.
3508
3509         * general.c (syms_of_general): Add Qfull_assoc symbol.
3510
3511         * data.c (finish_marking_weak_lists): Mark full-assoc lists
3512         correctly.
3513         (decode_weak_list_type): Decode full-assoc type.
3514         (encode_weak_list_type): Encode full-assoc type.
3515         (Fmake_weak_list): Update doc string.
3516
3517 2000-05-30  Andy Piper  <andy@xemacs.org>
3518
3519         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
3520
3521         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
3522         (decode_hash_table_weakness): ditto.
3523         (Fhash_table_weakness): ditto.
3524         (Fhash_table_type): ditto.
3525         (finish_marking_weak_hash_tables): ditto.
3526         (hash_table_weakness_validate): ditto.
3527         (syms_of_elhash): ditto.
3528
3529 2000-05-28  Martin Buchholz <martin@xemacs.org>
3530
3531         * XEmacs 21.2.34 is released.
3532
3533 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
3534
3535         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
3536         start cache.
3537         (updating_line_start_cache): Gone.
3538         (regenerate_window): Replace resetting of VERTICAL_CLIP by
3539         generic code to force a minimum of 1 line laid out in the
3540         CMOTION_DISP case.
3541
3542 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
3543
3544         * glyphs.c (instantiate_image_instantiator): Check for initialized
3545         height & width no longer special cases IMAGE_NOTHING.
3546         (nothing_instantiate): Set height and width of instance.
3547
3548 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
3549
3550         * unexelf.c (unexec): Search for ".data" section.
3551         Initialize new_data2_offset from old_data_index.
3552         Remove redundant check for ElfW.
3553
3554 2000-05-23  Andy Piper  <andy@xemacs.org>
3555
3556         * glyphs.c (get_image_instantiator_governing_domain): allow more
3557         specific domains as the governing domain rather than expecting an
3558         exact match. This fixes problems with layouts.
3559
3560 2000-05-22  Andy Piper  <andy@xemacs.org>
3561
3562         * redisplay-output.c (compare_runes): check for non-images
3563
3564         * glyphs.c (set_glyph_dirty_p): ditto.
3565         (update_glyph_cachel_data): ditto.
3566
3567         * glyphs-widget.c (layout_post_instantiate): ditto.
3568         (layout_post_instantiate): ditto.
3569
3570         * event-msw.c (mswindows_wnd_proc): warning removal.
3571
3572 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
3573
3574         * s\mingw32.h: Added #undef for CLASH_DETECTION.
3575
3576         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
3577
3578         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
3579
3580         * nt.c (rva_to_section): mingw32 needs rva_to_section.
3581         (mswindows_executable_type): mingw32 now has enough headers for
3582         this to work.
3583
3584 2000-05-20  Andy Piper  <andy@xemacs.org>
3585
3586         * console-msw.c (mswindows_output_last_error): ; -> ,
3587
3588 2000-05-12  Andy Piper  <andy@xemacs.org>
3589
3590         * console-msw.c (FROB): compare ints with ints.
3591
3592 2000-05-11  Andy Piper  <andy@xemacs.org>
3593
3594         * glyphs-x.c (x_finalize_image_instance): make minimal build
3595         happy.
3596
3597 2000-05-20  Ben Wing  <ben@xemacs.org>
3598
3599         * event-Xt.c:
3600         * event-Xt.c (vars_of_event_Xt):
3601         move modifier-keys-are-sticky to event-stream.c.
3602         
3603         * event-msw.c:
3604         * event-msw.c (mswindows_enqueue_mouse_button_event):
3605         * event-msw.c (key_needs_default_processing_p):
3606         * event-msw.c (XEMSW_LCONTROL):
3607         * event-msw.c (mswindows_handle_sticky_modifiers):
3608         * event-msw.c (FROB):
3609         * event-msw.c (clear_sticky_modifiers):
3610         * event-msw.c (output_modifier_keyboard_state):
3611         * event-msw.c (output_alt_keyboard_state):
3612         * event-msw.c (mswindows_wnd_proc):
3613         * event-msw.c (mswindows_modifier_state):
3614         * event-msw.c (emacs_mswindows_handle_magic_event):
3615         implement sticky modifiers.
3616         
3617         * event-stream.c:
3618         * event-stream.c (vars_of_event_stream):
3619         move modifier-keys-are-sticky here.
3620
3621         * lisp.h:
3622         add CHECK_FUNCTION.
3623         
3624         * rangetab.c:
3625         implement map-range-table.
3626
3627
3628 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
3629
3630         * redisplay-tty.c (reset_tty_modes):
3631         (tty_redisplay_shutdown): Adjust argument type to
3632         tty_frame_output_end.
3633
3634 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
3635
3636         * eval.c (Fbacktrace): Don't output a line with only right
3637         parenthesis.
3638
3639 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
3640
3641         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
3642         (Fpq_reset_poll): Ditto.
3643
3644 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
3645
3646         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
3647
3648 2000-05-16  Ben Wing  <ben@xemacs.org>
3649
3650         * buffer.c:
3651         * buffer.c (dfc_convert_to/from_internal_format):
3652         * buffer.c (reinit_vars_of_buffer):
3653         Fix conversion functions to allow reentrancy.
3654         
3655         * console-msw.c:
3656         * console-msw.c (mswindows_output_last_error):
3657         New fun, generally useful -- output a human-readable
3658         version of GetLastError() on the console.
3659         
3660         * console-msw.h:
3661         * console-msw.h (struct mswindows_frame):
3662         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
3663         
3664         * console-stream.c (stream_output_begin):
3665         * console-stream.c (stream_output_end):
3666         * console-stream.c (stream_output_vertical_divider):
3667         * console-stream.c (stream_clear_region):
3668         * console-stream.c (stream_flash):
3669         * console-stream.c (console_type_create_stream):
3670         Delete blank stream methods, not needed.
3671         
3672         * console.h (struct console_methods):
3673         Split begin/end methods into window and frame.
3674         
3675         * event-msw.c:
3676         * event-msw.c (mswindows_handle_paint):
3677         * event-msw.c (output_alt_keyboard_state):
3678         * event-msw.c (mswindows_wnd_proc):
3679         * event-msw.c (vars_of_event_mswindows):
3680         Comment about problems with ignored-expose.
3681         Define mswindows-debug-events; not really implemented.
3682         
3683         * frame-msw.c (mswindows_init_frame_1):
3684         random cleanups.
3685         
3686         * glyphs-msw.c:
3687         * glyphs-msw.c (begin_defer_window_pos):
3688         * glyphs-msw.c (mswindows_unmap_subwindow):
3689         * glyphs-msw.c (mswindows_map_subwindow):
3690         * glyphs-msw.c (mswindows_resize_subwindow):
3691         Use DeferWindowPos to reduce flashing when mapping/unmapping.
3692         
3693         * glyphs.c (make_image_instance_1):
3694         Fix crash.
3695         
3696         * gutter.c (Fredisplay_gutter_area):
3697         Use new begin/end methods.
3698         
3699         * lisp.h (Dynarr_new2):
3700         New creation fun.
3701         
3702         * redisplay-msw.c:
3703         * redisplay-msw.c (mswindows_frame_output_begin):
3704         * redisplay-msw.c (mswindows_frame_output_end):
3705         * redisplay-msw.c (console_type_create_redisplay_mswindows):
3706         New begin/end methods -- handle DeferWindowPos.
3707         
3708         * redisplay-output.c (redisplay_move_cursor):
3709         * redisplay-output.c (redraw_cursor_in_window):
3710         * redisplay-output.c (redisplay_update_line):
3711         * redisplay-output.c (redisplay_output_window):
3712         New begin/end methods.
3713
3714         * redisplay-tty.c:
3715         * redisplay-tty.c (tty_frame_output_begin):
3716         * redisplay-tty.c (tty_frame_output_end):
3717         * redisplay-tty.c (console_type_create_redisplay_tty):
3718         New begin/end methods.
3719
3720         * redisplay-x.c:
3721         * redisplay-x.c (x_window_output_begin):
3722         * redisplay-x.c (x_window_output_end):
3723         * redisplay-x.c (console_type_create_redisplay_x):
3724         New begin/end methods.
3725
3726         * redisplay.c (redisplay_frame):
3727         * redisplay.c (Fredisplay_echo_area):
3728         New begin/end methods.
3729         use MAYBE_DEVMETH for clear_frame; it may not exist.
3730
3731         * window.h (WINDOW_XFRAME):
3732         WINDOW_XFOO macros -- get locale and decode struct pointer.
3733
3734
3735 2000-05-12  Ben Wing  <ben@xemacs.org>
3736
3737         * emacs.c:
3738         * emacs.c (ensure_no_quitting_from_now_on):
3739         * emacs.c (fatal_error_signal):
3740         * emacs.c (mswindows_handle_hardware_exceptions):
3741         * emacs.c (main):
3742         * emacs.c (Fkill_emacs):
3743         * emacs.c (shut_down_emacs):
3744         * emacs.c (assert_failed):
3745         various improvements in fatal error handling.
3746         
3747         * eval.c:
3748         move preparing_for_armageddon to emacs.c.
3749         
3750         * lisp.h:
3751         declare fatal_error_in_progress.
3752         
3753         * print.c:
3754         * print.c (std_handle_out_external):
3755         * print.c (std_handle_out_va):
3756         * print.c (stderr_out):
3757         * print.c (stdout_out):
3758         use console under mswin when no standard output.
3759         don't do code conversion during fatal error.
3760         
3761         * scrollbar.c (Fscrollbar_page_up):
3762         * scrollbar.c (Fscrollbar_page_down):
3763         fix missing else.  reindent.
3764
3765 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
3766
3767         Emergency fix.  
3768         
3769         * glyphs.h (GLYPH_CACHEL_DESCENT): 
3770         (GLYPH_CACHEL_DESCENT): 
3771         (GLYPH_CACHEL_DESCENT): 
3772         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
3773         used in case these are inline functions.
3774         Use more absurd values to error check.
3775
3776         include window.h for error check functions.
3777
3778 2000-05-11  Ben Wing  <ben@xemacs.org>
3779
3780         * cmdloop.c (Freally_early_error_handler):
3781         Display message box under windows; otherwise, message will disappear
3782         before it can be viewed.
3783
3784         * console-msw.c:
3785         * console-msw.c (Fmswindows_message_box):
3786         * console-msw.c (FROB):
3787         * console-msw.c (syms_of_console_mswindows):
3788         Define new fun `mswindows-message-box'.
3789         #### I will merge this into `popup-dialog-box'; just give me
3790         a bit of time.
3791         
3792         * general.c:
3793         * general.c (syms_of_general):
3794         Some new symbols used in `mswindows-message-box'.
3795         
3796         * glyphs.c:
3797         * glyphs.c (Fset_image_instance_property):
3798         put warning in this fun.
3799         
3800         * glyphs.h:
3801         * glyphs.h (GLYPH_CACHEL_WIDTH):
3802         * glyphs.h (GLYPH_CACHEL_ASCENT):
3803         * glyphs.h (GLYPH_CACHEL):
3804         * glyphs.h (GLYPH_CACHEL_GLYPH):
3805         define error-checking versions to try to catch a bug i've seen --
3806         redisplay gets in an infinite loop because the glyph width of the
3807         continuation glyph is 65535.
3808         
3809         * lisp.h:
3810         Extern message-box stuff.
3811
3812         * window.c (allocate_window):
3813         * window.c (make_dummy_parent):
3814         * window.c (Fset_window_configuration):
3815         Use EQUAL not EQ for subwindow caches to make them work a bit
3816         better. (Something is still very broken.)
3817         
3818
3819 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
3820
3821         * glyphs.c (image_instantiate): Suppress gcc warnings.
3822         (Fmake_image_instance): Fix doc string.
3823         * specifier.c (Fmake_specifier): Ditto.
3824
3825 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
3826
3827         * paths.h.in (PATH_LOCK): Removed.
3828         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
3829         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
3830
3831 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
3832
3833         * fns.c (Ffeaturep): Update e-mail address in doc-string.
3834         Document (featurep '(and xemacs 21.02)).
3835
3836 2000-05-09  Ben Wing  <ben@xemacs.org>
3837
3838         * buffer.c (complex_vars_of_buffer):
3839         update modeline-format doc.
3840         
3841         * device.h:
3842         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
3843         
3844         * emacs.c:
3845         timeline of all released versions of Emacs, for use in creating
3846         authorship comments and in synching up.
3847         
3848         * glyphs-widget.c (image_instantiator_buttons):
3849         * glyphs-widget.c (image_instantiator_edit_fields):
3850         * glyphs-widget.c (image_instantiator_combo_box):
3851         * glyphs-widget.c (image_instantiator_scrollbar):
3852         * glyphs-widget.c (image_instantiator_progress_guage):
3853         * glyphs-widget.c (image_instantiator_tree_view):
3854         * glyphs-widget.c (image_instantiator_tab_control):
3855         * glyphs-widget.c (image_instantiator_labels):
3856         * glyphs-widget.c (image_instantiator_layout):
3857         * glyphs-widget.c (image_instantiator_native_layout):
3858         rename decode_domain method to governing_domain.
3859         
3860         * glyphs.c:
3861         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
3862         * glyphs.c (add_entry_to_device_ii_format_list):
3863         make sure we don't put an entry more than once into the list.
3864         * glyphs.c (check_instance_cache_mapper):
3865         *************************************************************
3866         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
3867         HAVE BEEN GETTING.
3868         *************************************************************
3869         * glyphs.c (get_image_instantiator_governing_domain):
3870         clean up, expand on new concept of governing domain.
3871         * glyphs.c (instantiate_image_instantiator):
3872         * glyphs.c (allocate_image_instance):
3873         use governing_domain instead of cache_domain in naming.
3874         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
3875         * glyphs.c (make_image_instance_1):
3876         * glyphs.c (Fmake_image_instance):
3877         allow for any domain (not just device), and process the
3878         governing domain correctly.  very big doc fix.
3879         * glyphs.c (Fimage_instance_domain):
3880         new primitive, to retrieve the governing domain of an image instance.
3881         * glyphs.c (image_instantiate):
3882         use new governing_domain stuff.  this fixes a crash you could get
3883         by instantiating certain widget glyphs in frame locales. (should
3884         signal an error instead of crashing.)
3885         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
3886         * glyphs.c (Fglyphp): clean up doc.
3887         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
3888         * glyphs.c (syms_of_glyphs):
3889         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
3890         * glyphs.c (image_instantiator_format_create): add some comments about
3891         bogus code.
3892         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
3893         for current-display-table. (Apparently Hrjove implemented in 1998 a
3894         design I wrote up in 1996, but didn't update the doc string.)
3895         
3896         * glyphs.h: clean up a doc string.
3897         * glyphs.h (governing_domain):
3898         * glyphs.h (struct image_instantiator_methods):
3899         changes for governing_domain stuff.
3900         
3901         * gutter.c:
3902         * gutter.c (Fgutter_specifier_p):
3903         * gutter.c (Fgutter_size_specifier_p):
3904         * gutter.c (Fgutter_visible_specifier_p):
3905         * objects.c:
3906         * objects.c (Fcolor_specifier_p):
3907         * objects.c (Ffont_specifier_p):
3908         * objects.c (Fface_boolean_specifier_p):
3909         doc strings moved to make-*-specifier.
3910         
3911         * redisplay.c (add_disp_table_entry_runes_1):
3912         * redisplay.c (generate_fstring_runes):
3913         * redisplay.c (screen):
3914         add random comments and doc strings.
3915         
3916         * specifier.c:
3917         * specifier.c (Fmake_specifier):
3918         major overhaul of this doc string.
3919         
3920         * specifier.c (Fvalid_specifier_domain_p):
3921         comment about the bogosity of image instances being domains.
3922         * specifier.c (decode_domain):
3923         now non-static, used in glyphs.c.
3924         * specifier.c (specifier_instance):
3925         comment about the bogosity of image instances being domains.
3926         * specifier.c (Fgeneric_specifier_p):
3927         move doc string to make-generic-specifier.
3928         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
3929         rebackslashify.
3930         
3931         * specifier.h:
3932         * specifier.h (DOMAIN_FRAME):
3933         * specifier.h (DOMAIN_LIVE_P):
3934         * specifier.h (DOMAIN_XDEVICE):
3935         rebackslashify.
3936         add comments about problems with these macros.
3937         prototype for decode_domain.
3938         
3939         * toolbar.c:
3940         * toolbar.c (Ftoolbar_specifier_p):
3941         move doc string to `make-toolbar-specifier'.
3942         
3943         * window.c (window_unmap_subwindows_cache_mapper):
3944         *************************************************************
3945         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
3946         HAVE BEEN GETTING.
3947         *************************************************************
3948
3949 2000-05-09  Andy Piper  <andy@xemacs.org>
3950
3951         * glyphs.h: declare reset_frame_subwindow_instance_cache.
3952
3953         * window.c (Fset_window_configuration): reset the frame subwindow
3954         cache and re-initialize the window subwindow caches.
3955
3956         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
3957
3958 2000-05-09  Ben Wing  <ben@xemacs.org>
3959
3960         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
3961         DWORD.
3962
3963 2000-04-26  Mike Woolley  <mike@bulsara.com>
3964
3965         * ntheap.c: Changed recreate_heap to limit the amount reserved
3966         for the heap to that which is actually available. Also now
3967         displays a message box (with some dignostics) in the event that
3968         it still can't start.
3969
3970 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
3971
3972         * callproc.c (Fold_call_process_internal): GCPRO path
3973
3974 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
3975
3976         Patch by Bill Perry.
3977         
3978         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call 
3979         back data instead of #ifdef.
3980         (Fscrollbar_page_down): ditto.
3981
3982 2000-05-07  Ben Wing  <ben@xemacs.org>
3983
3984         * buffer.h:
3985         Kludge for defining Qmswindows_tstr.
3986         
3987         * nt.c:
3988         * nt.c (open_input_file):
3989         * nt.c (open_output_file):
3990         * nt.c (rva_to_section):
3991         * nt.c (mswindows_executable_type):
3992         Move all memory-mapped-file routines here (some were in unexnt.c,
3993         which is bad because they are used by process-nt.c, and unexnt
3994         won't be around when portable dumping).  Synched the above routines
3995         with FSF 20.6.
3996         
3997         * nt.h:
3998         Removed ifdef'd out bogus code.
3999         Fixed some prototypes.
4000         
4001         * nt.h (file_data):
4002         * nt.h (OFFSET_TO_RVA):
4003         * nt.h (RVA_TO_OFFSET):
4004         * nt.h (RVA_TO_PTR):
4005         Moved the memory-mapped-file structures, macros and prototypes
4006         here, to parallel nt.c.  ntheap.h should really be removed
4007         entirely, and it's a non-portable-dumper specific file.
4008         
4009         * ntheap.h (round_to_next):
4010         Moved the memory-mapped-file structures, macros and prototypes
4011         to nt.h.
4012
4013         * ntproc.c (compare_env):
4014         Moved rva_to_section and mswindows_executable_type to nt.c.
4015         Moved compare_env to process-nt.c.
4016         ntproc.c will die, one day.
4017
4018         * ntproc.c (sys_spawnve):
4019         Account for win32_ -> mswindows_.
4020
4021         * process-nt.c:
4022         * process-nt.c (struct nt_process_data):
4023         * process-nt.c (ensure_console_window_exists):
4024         * process-nt.c (compare_env):
4025         * process-nt.c (nt_create_process):
4026         * process-nt.c (nt_kill_process_by_pid):
4027         * process-nt.c (syms_of_process_nt):
4028         * process-nt.c (vars_of_process_nt):
4029         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
4030         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
4031         changes).  Eliminate our old `nt-quote-process-args' mechanism.
4032         Synch up nt_create_process with FSF 20.6 sys_spawnve.
4033         Move compare_env here from ntproc.c.
4034         
4035         * process.c (Fprocess_send_region):
4036         Takes an optional fourth argument, BUFFER, which should fix some
4037         problems with call-process.
4038         
4039         * syscommctrl.h:
4040         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
4041         
4042         * syswindows.h:
4043         Move ICC_BAR_CLASSES to syscommctrl.h.
4044         Add preliminary macros for MSWindows/Mule.  More to come.
4045
4046         * unexnt.c:
4047         * unexnt.c (unexec):
4048         open_output_file moved to nt.c.
4049
4050
4051 2000-05-05  Andy Piper  <andy@xemacs.org>
4052
4053         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
4054         instance from the frame cache also since GC may catch up too late
4055         to make frame deletion sane.
4056
4057 2000-05-04  Andy Piper  <andy@xemacs.org>
4058
4059         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
4060         (x_finalize_image_instance): ungcpro on deletion.
4061
4062         * glyphs.c (image_instantiator_format_create): give pointers a
4063         query geometry method so that the geometry is at least set.
4064
4065         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
4066         initialize layouts if using widgets.
4067
4068 2000-05-03  Andy Piper  <andy@xemacs.org>
4069
4070         * nt.c: remove bogus reference to sysmmsystem.h
4071
4072         * gui-x.c (popup_selection_callback): fix no selection abort.
4073
4074 2000-05-02  Andy Piper  <andy@xemacs.org>
4075
4076         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
4077         (mswindows_widget_instantiate): ditto.
4078
4079         * glyphs-widget.c (initialize_widget_image_instance): initialize
4080         children correctly.
4081         (widget_instantiate): cope with children and items in the same
4082         instance.
4083
4084         * glyphs.c (mark_image_instance): cope with children as a first
4085         class member.
4086         (image_instance_equal): ditto.
4087         (image_instance_hash): ditto.
4088         (image_instance_changed): ditto.
4089
4090 2000-04-30  Andy Piper  <andy@xemacs.org>
4091
4092         * glyphs.c (subwindow_query_geometry): new function. Return some
4093         defaults.
4094         (subwindow_instantiate): don't assign dimensions if none have been
4095         given.
4096         (image_instantiator_format_create): add subwindow_query_geometry.
4097         (print_image_instance): cope with layouts as widgets.
4098
4099 2000-04-29  Andy Piper  <andy@xemacs.org>
4100
4101         * frame.c (delete_frame_internal): call
4102         free_frame_subwindow_instance_cache so that all subwindows are
4103         finalized before their parent.
4104         (mark_frame): remove subwindow_cachels.
4105         (Fmake_frame): remove subwindow_cachel manipulation.
4106         (allocate_frame_core): subwindow_instance_cache is a weak list.
4107         (delete_frame_internal): set subwindow_instance_cache to nil.
4108
4109         * glyphs-msw.c (mswindows_finalize_image_instance): make double
4110         finalization safe.
4111         (mswindows_finalize_image_instance): use the device
4112         not the domain as the domain may have died already.
4113
4114         * glyphs-x.c (x_finalize_image_instance): ditto.
4115         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
4116         HEIGHT.
4117
4118         * redisplay-output.c (redisplay_unmap_subwindows): update for
4119         subwindow instance cache as a weak list.
4120         (redisplay_unmap_subwindows_maybe): ditto.
4121         (redisplay_unmap_subwindows_except_us): ditto.
4122
4123         * glyphs.c (unmap_subwindow): error checking will check the domain
4124         so don't deal with it here. Don't use cachels anymore.
4125         (map_subwindow): ditto.
4126         (update_subwindow_cachel_data): remove old accessor names.
4127         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
4128         (Fresize_subwindow): don't update cachel.
4129         (mark_subwindow_cachels):
4130         (update_subwindow_cachel_data):
4131         (add_subwindow_cachel):
4132         (get_subwindow_cachel_index):
4133         (update_subwindow_cachel):
4134         (reset_subwindow_cachels):
4135         (mark_subwindow_cachels_as_not_updated): deleted.
4136         (cache_subwindow_instance_in_frame_maybe): new function. Add a
4137         subwindow instance to the frame cache.
4138         (find_matching_subwindow): update for subwindow instance cache as
4139         a weak list.
4140         (update_widget_instances): ditto.
4141         (image_instance_type_to_mask):inlined.
4142         (free_frame_subwindow_instance_cache): new function. finalize all
4143         subwindows that are instantiated.
4144
4145         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
4146         of cachel information.
4147         (IMAGE_INSTANCE_DISPLAY_X):
4148         (IMAGE_INSTANCE_DISPLAY_Y):
4149         (IMAGE_INSTANCE_DISPLAY_WIDTH):
4150         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
4151         (XIMAGE_INSTANCE_DISPLAY_X):
4152         (XIMAGE_INSTANCE_DISPLAY_Y):
4153         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
4154         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.  
4155         remove subwindow_cachel structure and function references.
4156         (image_instance_type_to_mask): inline from glyphs.c
4157
4158         * redisplay.c (redisplay_frame): remove subwindow_cachel
4159         references.
4160
4161         * frame.h (struct frame): remove subwindow_cachels.
4162         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
4163
4164         * frameslots.h: add subwindow_instance_cache.
4165
4166         * window.c (replace_window): check subwindow cache of replacement.
4167         (window_unmap_subwindows_cache_mapper):
4168         (window_unmap_subwindows): new functions. Unmap all subwindows
4169         cached on this window.
4170         (mark_window_as_deleted): unmap all subwindows.
4171
4172 2000-04-27  Andy Piper  <andy@xemacs.org>
4173
4174         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
4175
4176         * glyphs-widget.c (widget_layout): return something.
4177         (layout_layout): return something. Fail if not intialized.
4178         (layout_query_geometry): ditto.
4179         (image_instantiator_native_layout): new function. Initialized the
4180         native layout type.
4181         (widget_instantiate): don't do layout stuff here.
4182
4183         * glyphs.c (instantiate_image_instantiator): reorded calling or
4184         instantiate and post_instantiate with layout in between.
4185         (image_instance_layout): be more selective about deciding whether
4186         the layout has been done or not.
4187
4188         * glyphs.h (struct image_instantiator_methods): return a value
4189         from layout_method.
4190
4191 2000-04-26  Andy Piper  <andy@xemacs.org>
4192
4193         * glyphs.c (allocate_image_instance): make initial width and
4194         height unspecified. Set initialized to 0.
4195
4196         * syscommctrl.h new file. Encapsulates commctrl.h.
4197
4198         * syswindows.h new file. Encapsulates windows.h.
4199
4200         * ntplay.c: use new syswindows.h and syscommctrl.h header.
4201         * nt.c: ditto.
4202         * console-msw.h: ditto.
4203         
4204         * redisplay-tty.c (tty_output_display_block): remove layout references.
4205
4206         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
4207         window handle rather than just the frame.
4208
4209         * glyphs.c (mark_image_instance): remove layout references.
4210         (print_image_instance): ditto.
4211         (image_instance_equal): ditto.
4212         (image_instance_hash): ditto.
4213         (decode_image_instance_type): ditto.
4214         (encode_image_instance_type): ditto.
4215         (image_instantiate): ditto.
4216         (allocate_glyph): ditto.
4217         (Fimage_instance_height): ditto.
4218         (Fimage_instance_width): ditto.
4219         (update_subwindow): ditto.
4220
4221         * redisplay-x.c (x_output_display_block): recode for layouts as
4222         widgets.
4223
4224         * redisplay-output.c (redisplay_output_layout): recode for layouts
4225         as widgets.
4226         (compare_runes): remove layout references.
4227
4228         * redisplay-msw.c (mswindows_output_display_block): recode for
4229         layouts as widgets.
4230
4231         * glyphs-widget.c (image_instantiator_layout): remove
4232         layout_possible_dest_types.
4233         (layout_possible_dest_types): deleted.
4234
4235         * glyphs.h (image_instance_type): remove layout references.
4236         (struct Lisp_Image_Instance): ditto. Add initialized flag.
4237         (IMAGE_INSTANCE_INITIALIZED): new accessor.
4238         (XIMAGE_INSTANCE_INITIALIZED): ditto.
4239         
4240 2000-04-25  Andy Piper  <andy@xemacs.org>
4241
4242         * glyphs-widget.c (image_instantiator_buttons):
4243         (image_instantiator_edit_fields):
4244         (image_instantiator_combo_box):
4245         (image_instantiator_scrollbar):
4246         (image_instantiator_progress_guage):
4247         (image_instantiator_tree_view):
4248         (image_instantiator_tab_control):
4249         (image_instantiator_labels):
4250         (image_instantiator_layout): call default post_instantiate method.
4251         (widget_post_instantiate): new function. Simply lays out the
4252         widgets.
4253
4254         * glyphs.h (struct image_instantiator_methods): add
4255         post_instantiate method.
4256
4257         * glyphs.c (instantiate_image_instantiator): add post_instantiate
4258         method calls.
4259
4260 2000-04-23  Andy Piper  <andy@xemacs.org>
4261
4262         * glyphs.h (struct image_instantiator_methods): add
4263         decode_domain_method.
4264         (struct Lisp_Image_Instance): remove subwindow frame - it can be
4265         derived from the domain.
4266         (IMAGE_INSTANCE_FRAME): new accessor.
4267         (XIMAGE_INSTANCE_FRAME): ditto.
4268
4269         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
4270         instead of _SUBWINDOW_FRAME.
4271         (finalize_image_instance): ditto.
4272         (Fimage_instance_foreground): ditto.
4273         (Fimage_instance_background): ditto.
4274         (image_instantiate): ditto.
4275         (update_subwindow_cachel): ditto.
4276         (update_subwindow): ditto.
4277         (unmap_subwindow): ditto.
4278         (map_subwindow): ditto
4279         (subwindow_instantiate): ditto.
4280         * glyphs-msw.c (mswindows_update_widget): ditto.
4281         (mswindows_progress_gauge_instantiate): ditto.
4282         (mswindows_tab_control_update): ditto.
4283         * glyphs-x.c (x_update_widget): ditto.
4284         (x_widget_instantiate): ditto.
4285         (x_tab_control_instantiate): ditto.
4286         (x_tab_control_update): ditto.
4287         * event-msw.c (mswindows_wnd_proc): ditto
4288
4289         * glyphs-widget.c (image_instantiator_layout): use
4290         subwindow_decode_domain.
4291         (image_instantiator_buttons): ditto.
4292         (image_instantiator_edit_fields): ditto.
4293         (image_instantiator_combo_box): ditto.
4294         (image_instantiator_scrollbar): ditto.
4295         (image_instantiator_progress_guage): ditto.
4296         (image_instantiator_tree_view): ditto.
4297         (image_instantiator_tab_control): ditto.
4298         (image_instantiator_labels): ditto.
4299         (image_instantiator_layout): ditto.
4300
4301         * glyphs.c: add instance error checking to many functions.
4302         (instantiate_image_instantiator): decode device from cache_domain.
4303         (image_instantiate): partially rewrite by using
4304         decode_image_instantiator_domain to determine what domain the
4305         instance needs to be cached in.
4306         (decode_image_instantiator_domain): new function. Determine what
4307         domain the image needs to be cached in.
4308         (check_window_subwindow_cache): new error checking function.
4309         (check_instance_cache_mapper): ditto.
4310         (check_image_instance_structure): ditto.
4311         (subwindow_decode_domain): new function. Encodes a window as a
4312         subwindow's cache domain.
4313         (image_instantiator_format_create): use it for text and
4314         subwindows.
4315
4316 2000-04-21  Andy Piper  <andy@xemacs.org>
4317
4318         * glyphs.c (image_instance_device): new function.
4319         (image_instance_frame): new function.
4320         (image_instance_window): new function.
4321         (image_instance_live_p): new function.
4322
4323         * window.c (mark_window_as_deleted): reset the subwindow_instance_
4324         cache to nil.
4325
4326         * glyphs.h (struct Lisp_Image_Instance): device->domain.
4327         (IMAGE_INSTANCE_DOMAIN): new accessor.
4328         (XIMAGE_INSTANCE_DOMAIN): ditto.
4329
4330         * glyphs-x.c (x_finalize_image_instance): device->domain.
4331
4332         * glyphs-msw.c (init_image_instance_geometry): device->domain.
4333         (mswindows_finalize_image_instance): ditto.
4334
4335         * glyphs-eimage.c (jpeg_instantiate): device->domain.
4336         (gif_instantiate): ditto.
4337         (png_instantiate): ditto.
4338         (tiff_instantiate): ditto.
4339
4340         * glyphs.c (instantiate_image_instantiator): use domain rather
4341         than device.
4342         (mark_image_instance): device -> domain.
4343         (print_image_instance): ditto.
4344         (finalize_image_instance): ditto.
4345         (image_instance_equal): ditto.
4346         (allocate_image_instance): ditto.
4347         (Fcolorize_image_instance): ditto.
4348         (query_string_geometry): ditto.
4349         (image_instantiate): ditto
4350         (query_string_font): ditto.
4351         (image_instantiate): ditto.
4352         (update_subwindow): ditto.
4353         (unmap_subwindow): ditto.
4354         (map_subwindow): ditto.
4355         (subwindow_instantiate): ditto.
4356
4357         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
4358         (DOMAIN_FRAME): ditto.
4359         (DOMAIN_WINDOW): ditto.
4360         (DOMAIN_LIVE_P): ditto.
4361         (XDOMAIN_DEVICE): ditto.
4362         (XDOMAIN_FRAME): ditto.
4363         (XDOMAIN_WINDOW): ditto.
4364
4365         * specifier.c (Fvalid_specifier_domain_p): add image instances as
4366         a valid specifier domain.
4367
4368 2000-04-19  Andy Piper  <andy@xemacs.org>
4369
4370         * glyphs-widget.c (syms_of_glyphs_widget): remove
4371         widget-callback-current-channel.
4372         (vars_of_glyphs_widget): ditto.
4373         * glyphs.h: ditto
4374
4375         * gui.c (get_gui_callback): revert to previous behaviour.
4376
4377 2000-04-18  Andy Piper  <andy@xemacs.org>
4378
4379         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
4380         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
4381         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
4382
4383         * glyphs.c (image_instance_equal): add margin_width.
4384         (image_instance_hash): ditto.
4385
4386         * glyphs-widget.c (widget_instantiate): deal with margin-width.
4387         (layout_query_geometry): ditto.
4388         (layout_layout): ditto.
4389         (syms_of_glyphs_widget): add margin-width.
4390         (image_instantiator_layout): allow margin-width.
4391
4392         * glyphs.c (update_widget_instances): make a normal function.
4393         (syms_of_glyphs): remove Qupdate_widget_instances.
4394         * glyphs.h: ditto.
4395
4396         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
4397         so that we don't corrupt ideas about the last event or
4398         command. Remove widget-callback-current-channel fiddling.
4399         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
4400
4401 2000-05-01  Martin Buchholz <martin@xemacs.org>
4402
4403         * XEmacs 21.2.33 is released.
4404
4405 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
4406
4407         * make-src-depend: Allow dots in header file name.
4408
4409 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
4410
4411         * mule-charset.h (struct charset_lookup): Add
4412         next_allocated_1_byte_leading_byte and
4413         next_allocated_2_byte_leading_byte.
4414         * mule-charset.c: Move above two variables so that those values
4415         will be dumped.
4416
4417 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
4418
4419         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
4420         when string length is zero.
4421         (find_charsets_in_emchar_string): Ditto.
4422
4423 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
4424
4425         * lisp.h: extern Qdialog and Qmenubar.
4426
4427         * gui-x.c: added events.h.
4428                 also fixed typo which made the file uncompilable.
4429
4430         * general.c: Added Qmenubar and Qdialog
4431
4432 2000-04-28  Ben Wing  <ben@xemacs.org>
4433
4434         * frame-msw.c (mswindows_init_frame_1):
4435         * frame-msw.c (mswindows_mark_frame):
4436         * event-msw.c (mswindows_enqueue_dispatch_event):
4437         * console-msw.h:
4438         * console-msw.h (struct mswindows_frame):
4439         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
4440         there are now three hash tables for callbacks.
4441         mswindows_enqueue_dispatch_event is no longer static.
4442         
4443         * dialog-x.c (maybe_run_dbox_text_callback):
4444         * dialog-x.c (dbox_descriptor_to_widget_value):
4445         switch to new cons3 form for callbacks.
4446         
4447         * glyphs-msw.c (mswindows_register_gui_item):
4448         * glyphs-msw.c (mswindows_widget_instantiate):
4449         * glyphs-msw.c (add_tree_item):
4450         * glyphs-msw.c (add_tab_item):
4451         new image instance parameter, so it can be passed to callback-ex.
4452         respect :callback-ex as well as :callback.
4453         
4454         * glyphs-widget.c (VALID_GUI_KEYWORDS):
4455         add :callback-ex.
4456         
4457         * glyphs.c (print_image_instance):
4458         prettify, e.g. now prints widget type.
4459         
4460         * gui-x.h:
4461         certain funs have new image instance parameter.
4462         
4463         * gui.c:
4464         * gui.c (get_gui_callback):
4465         * gui.c (gui_item_add_keyval_pair):
4466         * gui.c (gui_item_init):
4467         * gui.c (gui_add_item_keywords_to_plist):
4468         * gui.c (mark_gui_item):
4469         * gui.c (gui_item_hash):
4470         * gui.c (gui_item_equal):
4471         * gui.c (copy_gui_item):
4472         * gui.c (syms_of_gui):
4473         recognize callback-ex in a number of places.
4474         also, fix the annoying "can't get out of yes-no dialog" bug.
4475         
4476         * gui.h:
4477         * gui.h (struct Lisp_Gui_Item):
4478         recognize callback-ex in a number of places.
4479
4480         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4481         new parameter in button_item_to_widget_value.
4482         
4483         * glyphs-x.c (x_update_widget):
4484         * glyphs-x.c (x_button_instantiate):
4485         * glyphs-x.c (x_button_update):
4486         * glyphs-x.c (x_progress_gauge_instantiate):
4487         * glyphs-x.c (x_edit_field_instantiate):
4488         * glyphs-x.c (x_combo_box_instantiate):
4489         * glyphs-x.c (x_tab_control_instantiate):
4490         * glyphs-x.c (x_label_instantiate):
4491         new image instance parameter in various places.
4492         
4493         * event-Xt.c:
4494         * event-Xt.c (enqueue_Xt_dispatch_event):
4495         this fun gets exported.
4496         
4497         * gui-msw.c:
4498         * gui-msw.c (mswindows_handle_gui_wm_command):
4499         handle both :callback and :callback-ex, and generate our own
4500         event because it's one of the callback-ex arguments.
4501         
4502         * gui-x.c:
4503         * gui-x.c (popup_selection_callback):
4504         handle both :callback and :callback-ex, and generate our own
4505         event because it's one of the callback-ex arguments.
4506         * gui-x.c (button_item_to_widget_value):
4507         * gui-x.c (gui_items_to_widget_values_1):
4508         * gui-x.c (gui_item_children_to_widget_values):
4509         * gui-x.c (gui_items_to_widget_values):
4510         new image instance parameter in various places.
4511
4512         * fns.c (Freplace_list):
4513         fix small typo in doc string.
4514         
4515         * lisp.h:
4516         declare enqueue_Xt_dispatch_event.
4517
4518 2000-04-28  Ben Wing  <ben@xemacs.org>
4519
4520         * buffer.c:
4521         * buffer.c (Frecord_buffer):
4522         * buffer.c (syms_of_buffer):
4523         delete record-buffer-hook.
4524         
4525         * fns.c:
4526         * fns.c (Freplace_list):
4527         * fns.c (syms_of_fns):
4528         new primitive replace-list.
4529         
4530         * frameslots.h:
4531         slot for old buffer-alist.
4532         
4533         * lisp.h:
4534         exfun replace-list.
4535         
4536         * redisplay.c:
4537         * redisplay.c (redisplay_frame):
4538         * redisplay.c (syms_of_redisplay):
4539         * redisplay.c (vars_of_redisplay):
4540         new hook buffer-list-changed-hook.
4541         call it.
4542
4543 2000-04-27  Ben Wing  <ben@xemacs.org>
4544
4545         * extents.h: extern in_modeline_generation.
4546
4547         * redisplay.c (generate_formatted_string_db): set
4548         in_modeline_generation.
4549
4550         * extents.c (extent_changed_for_redisplay): don't mark redisplay
4551         flags if in modeline generation.  otherwise frame-modified-tick
4552         is ticked far too often.
4553         Declare in_modeline_generation.
4554
4555 2000-04-26  Ben Wing  <ben@xemacs.org>
4556
4557         * emacs.c (vars_of_emacs): document quick-build "error-checking"
4558         option.
4559         (vars_of_emacs): add quick-build as an error-checking option.
4560         A bit kludgy, but there doesn't seem much point in creating
4561         a real var for this.
4562
4563         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
4564
4565 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
4566
4567         * redisplay.h (struct display_line): Add a new variable,
4568         line_continuation.
4569
4570         * redisplay.c (create_text_block): Set dl->line_continuation if
4571         the line continues.
4572         (create_string_text_block): Ditto.
4573         (regenerate_window_incrementally): Use line_continuation instead
4574         of searching continuation glyph.
4575         (add_margin_runes): Call add_glyph_rune.
4576         (add_glyph_rune): Handle margin glyph.
4577
4578 2000-04-20  Martin Buchholz  <martin@xemacs.org>
4579
4580         * filelock.c (fill_in_lock_file_name): 
4581         ANSIfy.
4582         Check for IS_ANY_SEP instead of '/'.
4583         (lock_file_1): 
4584         Avoid generating gratuitous garbage.  Call user_login_name() directly.
4585         Never check errno without first seeing that system call failed.
4586         (unlock_file): Add GCPRO.
4587         (Flock_buffer): Fix docstring.
4588         (Ffile_locked_p): Fix docstring.  Add GCPRO.
4589
4590 2000-04-19  Martin Buchholz  <martin@xemacs.org>
4591
4592         * sysdep.c (get_pty_max_bytes): 
4593         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
4594         strings longer than 252 bytes.
4595
4596         * md5.c: Unconditionally include ANSI header <limits.h>
4597
4598         * glyphs-x.c (convert_EImage_to_XImage): 
4599         * lisp-union.h (union Lisp_Object): 
4600         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
4601
4602 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4603
4604         * filelock.c (current_lock_owner): Remove unused variable o, p.
4605
4606 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
4607
4608         * callint.c: Remove multiply defined symbol Qlet
4609         (syms_of_callint): ditto.
4610
4611 2000-04-14  Andy Piper  <andy@xemacs.org>
4612
4613         * general.c (syms_of_general): add last-command, this-command, let
4614         and funcall.
4615
4616         * lisp.h: declare various symbols.
4617
4618         * glyphs.h: declare Qwidget_callback_current_channel;
4619
4620         * glyphs-widget.c (syms_of_glyphs_widget): add
4621         Qgui_callback_current_channel.
4622         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
4623
4624         * gui-msw.c (mswindows_handle_gui_wm_command): bind
4625         widget-callback-current-channel when invoking the interactive
4626         arg. Also bind last-command and next-command when invoking the
4627         widget updates.
4628         * gui-x.c (popup_selection_callback): ditto.
4629
4630         * gui.c (get_gui_callback): massage args so that we are always
4631         calling eval. This allows us to add our own variable bindings
4632         outside.
4633
4634         * glyphs-x.c (x_button_instantiate): use
4635         gui_items_to_widget_values since this is GC safe.
4636         (x_progress_gauge_instantiate): ditto.
4637         (x_edit_field_instantiate): ditto.
4638         (x_label_instantiate): ditto.
4639
4640         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
4641         (emacs_Xt_event_widget_focus_out): new function
4642         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
4643         focus.
4644         (emacs_Xt_event_add_widget_actions): new function. add focus
4645         functions as actions.
4646         (init_event_Xt_late): use it.
4647
4648 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
4649
4650         * event-stream.c (Fdispatch_event): Doc fix.
4651
4652 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
4653
4654         * postgresql.c: Remove all references to PQsetenv*.
4655
4656         * postgresql.h: Remove references to PGsetenvHandler object.
4657         * lrecord.h (lrecord_type): Ditto.
4658
4659 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
4660
4661         * glyphs-msw.h (struct mswindows_image_instance_data): Added
4662         real_heigh and real_width members, and accessor macros for these.
4663
4664         * glyphs-msw.c (init_image_instance_geometry): New function.
4665         (init_image_instance_from_dibitmap): Use it.
4666         (mswindows_resource_instantiate): Use it.
4667         (init_image_instance_from_xbm_inline): Use it.
4668         (mswindows_initialize_image_instance_mask): Use real bitmap
4669         geometry.
4670         (mswindows_create_resized_bitmap): Ditto.
4671         (mswindows_create_resized_mask): Ditto.
4672         
4673         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
4674         and bitmap to their surface size.
4675
4676 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
4677
4678         * process-unix.c (unix_send_process): Guard against process MIA
4679         after Faccept_process_output.
4680
4681 2000-04-11  Ben Wing  <ben@xemacs.org>
4682
4683         * eval.c (unbind_to_hairy): fix brokenness introduced by
4684         nanosecond speed improvements.
4685
4686 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
4687
4688         * sunplay.c (init_device): To play sounds correctly, the device
4689         apparently needs to be initialized at least once by XEmacs.  Make
4690         it so.
4691
4692 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
4693
4694         * redisplay.c (add_margin_runes): Add text image glyph
4695           handling.
4696
4697 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4698
4699         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
4700         gcc is newer than 2.5.
4701
4702 2000-04-06  Colin Rafferty  <colin@xemacs.org>
4703
4704         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
4705         
4706         * fns.c (size_bit_vector):
4707         * alloc.c (size_vector):
4708         (make_vector_internal):
4709         (make_bit_vector_internal):
4710         (sweep_bit_vectors_1):
4711         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
4712
4713 2000-04-06  Andy Piper  <andy@xemacs.org>
4714
4715         * gmalloc.c (malloc): undo previous change.
4716         (malloc): ditto.
4717         (free): ditto.
4718         (realloc): ditto.
4719
4720 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
4721
4722         * line-number.c (buffer_line_number): Revert to former version.
4723
4724 2000-04-06  Andy Piper  <andy@xemacs.org>
4725
4726         * gmalloc.c (malloc): add error checking.
4727         (malloc): ditto.
4728         (free): ditto.
4729         (realloc): ditto.
4730
4731         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
4732         button_item_to_widget_value arg.
4733
4734         * glyphs-x.c (x_button_instantiate): add extra
4735         button_item_to_widget_value arg.
4736         (x_progress_gauge_instantiate): ditto.
4737         (x_edit_field_instantiate): ditto.
4738         (x_label_instantiate): ditto.
4739
4740         * gui-x.c (gui_items_to_widget_values_1): add extra
4741         button_item_to_widget_value arg.
4742         (button_item_to_widget_value): add extra menu_item_p arg.
4743
4744         * gui-x.h: change signature of button_item_to_widget_value.
4745
4746         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
4747         button_item_to_widget_value arg.
4748
4749 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4750
4751         * buffer.h (struct buffer): auto_save_modified should be long.
4752
4753 2000-04-05  Andy Piper  <andy@xemacs.org>
4754
4755         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
4756         type.
4757         (button_query_geometry): give a little more room so that athena
4758         buttons fit.
4759
4760 2000-04-05  Andy Piper  <andy@xemacs.org>
4761
4762         * faces.c (complex_vars_of_faces): The widget face should inherit
4763         the font of the gui-element face.
4764
4765 2000-04-04  Andy Piper  <andy@xemacs.org>
4766
4767         * glyphs-x.c (x_button_update): new function. unconditionally
4768         update a button's state when the instance is dirty.
4769         (image_instantiator_format_create_glyphs_x): add x_button_update.
4770         (x_widget_instantiate): remove old resize cruft.
4771
4772 2000-04-02  Andy Piper  <andy@xemacs.org>
4773
4774         * frame.c (change_frame_size_1): The introduction of gutters means
4775         that we need to allow 0 as a potential frame dimension.
4776
4777 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
4778
4779         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
4780         image glyph if allow_cursor.
4781         (add_hscroll_rune): Don't allow cursor to border glyph.
4782         (create_text_block): Ditto.
4783
4784         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
4785         text not in buffer.
4786         (redisplay_output_layout): Call ensure_face_cachel_complete for
4787         text image glyph.
4788
4789
4790 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
4791
4792         * redisplay.c (add_glyph_rune): Adding text image as text runes.
4793
4794         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
4795         not in buffer
4796
4797         * redisplay-tty.c (tty_output_display_block): Delete the routine
4798         for text image glyph
4799         * redisplay-x.c (x_output_display_block): ditto
4800         * redisplay-msw.c (mswindows_output_display_block): ditto
4801
4802 2000-02-02  Mike Alexander  <mta@arbortext.com>
4803
4804         Note: Some of these were committed by accident as part of other
4805         patches.
4806         
4807         * regex.c (regex_compile): Avoid compiler warnings.
4808
4809         * ntproc.c (sys_spawnve): Avoid compiler warnings.
4810
4811         * nt.h: Declare term_ntproc correctly.
4812
4813         * nt.c: Remove incorrect declaration of get_home_directory which
4814         is declared correctly in lisp.h.
4815
4816         * keymap.c (get_keyelt): Avoid compiler warnings.
4817         (raw_lookup_key_mapper): Avoid compiler warnings.
4818
4819         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
4820
4821         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
4822
4823         * filemode.c (mode_string): Avoid compiler warnings.
4824
4825         * file-coding.c (Fcoding_system_aliasee): Add return statement to
4826         avoid warning.
4827
4828         * events-mod.h: Undef some things that winuser.h defines differently.
4829
4830         * data.c (Faset): Avoid compiler warnings.
4831
4832         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
4833
4834 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
4835
4836         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
4837         Fall through to simple beep on error.
4838         Replace "extern" by real header file.
4839
4840         * linuxplay.c: Use nativesound.h
4841         (play_sound_data): Return error code. Be less verbose on error.
4842
4843         * sunplay.c: Use nativesound.h
4844         (play_sound_data): Return error code. Be less verbose on error.
4845
4846         * ntplay.c: Use nativesound.h
4847         (play_sound_data): Return fake error code
4848
4849         * sgiplay.c: Use nativesound.h
4850         (play_sound_data): Return error code
4851
4852         * hpplay.c: Use nativesound.h, partially implement
4853         new error code. Break compilation until finished.
4854         (play_sound_data): error code.
4855
4856         * nativesound.h (play_sound_file): 
4857           (play_sound_data): Prototype in new header.
4858
4859 2000-03-31  Andy Piper  <andy@xemacs.org>
4860
4861         * glyphs-widget.c: (button_query_geometry): new function. Adjust
4862         for toggle and radio buttons.
4863         (image_instantiator_buttons): use it.
4864
4865 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
4866
4867         * scrollbar-x.c (x_update_vertical_scrollbar_callback): 
4868         (x_update_horizontal_scrollbar_callback): Return if no mirror was
4869         found. Scrollbar event probably belonged to some old config.
4870
4871 2000-03-31  Andy Piper  <andy@xemacs.org>
4872
4873         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
4874         than 1.
4875         (initialize_widget_image_instance): default layout to
4876         LAYOUT_HORIZONTAL rather than 0.
4877         (widget_instantiate): reverse the item list at the end rather than
4878         every iteration.
4879         (layout_layout): re-code for the border text at the front of the
4880         item list rather than at the end.
4881         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
4882         provided by the user.
4883         (widget_query_geometry): comment.
4884
4885 2000-03-30  Andy Piper  <andy@xemacs.org>
4886
4887         * glyphs-widget.c (image_instantiator_layout): allow standard
4888         widget keywords in layouts.
4889
4890         * gutter.c (output_gutter): cope with nil gutter contents.
4891
4892         * frame.c (Fset_frame_properties): add gutter docs.
4893
4894 2000-03-29  Andy Piper  <andy@xemacs.org>
4895
4896         * toolbar-msw.c (TBSTYLE_FLAT): add.
4897         (mswindows_output_toolbar): minor fiddling.
4898
4899 2000-03-29  Andy Piper  <andy@xemacs.org>
4900
4901         * gutter.c (output_gutter): force gutter size recalculation if
4902         what we are trying to display won't fit.
4903         (update_gutter_geometry): new function. A per-gutter version of
4904         update_frame_gutter_geometry.
4905         (update_frame_gutter_geometry): use it.
4906         (redraw_exposed_gutter): add extra debugging output.
4907
4908 2000-03-28  Mike Alexander  <mta@arbortext.com>
4909
4910         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
4911         (pdump_file_unmap): Implement it on Windows
4912         (pdump_file_get): Save alocated handles for pdump_file_unmap
4913
4914 2000-03-28  Andy Piper  <andy@xemacs.org>
4915
4916         * gui.c (get_gui_callback): treat Quit specially.
4917
4918 2000-03-27  Andy Piper  <andy@xemacs.org>
4919
4920         * glyphs.c (image_instantiate): be careful to check in the same
4921         way we assigned.
4922
4923 2000-03-27  Didier Verna  <didier@xemacs.org>
4924
4925         * config.h.in: define the proper SMART_INCLUDE macro.
4926         handle renaming of `foo_h_path' to `foo_h_file'.
4927
4928         * database.c: ditto.
4929
4930         * emacs.c: ditto.
4931
4932         * linuxplay.c: ditto.
4933
4934         * terminfo.c: ditto.
4935
4936         * tooltalk.h: ditto.
4937
4938 2000-03-27  Andy Piper  <andy@xemacs.org>
4939
4940         * glyphs-msw.c (mswindows_update_widget): make sure the widget
4941         gets updated whenever the face might have changed.
4942
4943 2000-03-26  Mike Alexander  <mta@arbortext.com>
4944
4945         * dumper.c (pdump_resource_free): Fix the comment.
4946
4947 2000-03-21  Olivier Galibert  <galibert@pobox.com>
4948
4949         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
4950
4951 2000-03-22  Mike Alexander  <mta@arbortext.com>
4952
4953         * dumper.c: Include Windows headers on Windows
4954         (pdump_resource_free): Add a body to the function
4955         (pdump_load): exe_name -> exe_path and add some comments.
4956
4957 2000-03-25  Mike Alexander  <mta@arbortext.com>
4958
4959         * gui.c (copy_gui_item_tree): Return a value in all cases
4960
4961 2000-03-21  Didier Verna  <didier@xemacs.org>
4962
4963         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
4964         lwlib/config.h.in.
4965         (SMART_INCLUDE): new macro.
4966         (POSTGRES_INCLUDE): new macro to include postgresql headers from
4967         the proper location.
4968
4969         * postgresql.c: use it.
4970
4971         * inline.c: ditto.
4972
4973 2000-03-24  Andy Piper  <andy@xemacs.org>
4974
4975         * gutter.c (redraw_exposed_gutters): must be "in display" when we
4976         do this.
4977
4978 2000-03-24  Andy Piper  <andy@xemacs.org>
4979
4980         * redisplay-output.c (compare_runes): use image_instance_changed
4981         to detect changes. Do not depend on glyphs_changed, only depend on
4982         dirtiness.
4983          (redisplay_output_layout): add debug messages.
4984         (compare_runes): ditto.
4985
4986         * glyphs.h: declare new functions.
4987         (struct Lisp_Image_Instance): remove percent and associated
4988         accessors.
4989
4990         * gui.h: declare new copying functions.
4991
4992         * gui.c (copy_gui_item_tree): new function.
4993         (copy_gui_item): new function.
4994         (gui_item_id_hash): revert to standard hash.
4995         (gui_item_hash): ditto.
4996         (gui_item_hash_internal): deleted.
4997         (mark_gui_item): mark value.
4998         (gui_item_add_keyval_pair): add value.
4999         (gui_item_init): ditto.
5000         (gui_add_item_keywords_to_plist): ditto.
5001         (gui_item_equal): ditto.
5002         (syms_of_gui): add Q_value.
5003
5004         * glyphs-x.c (x_progress_gauge_update): use pending items and
5005         value for setting the state.
5006         (x_update_widget): don't set items from pending here.
5007
5008         * glyphs-widget.c (update_widget): update items here.
5009         (progress_gauge_set_property): use items for storing value. Put
5010         new value in pending items.
5011
5012         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
5013         items for new value. Convert percent -> value.
5014         (mswindows_tab_control_update): don't update items here.
5015
5016         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
5017         (update_subwindow): ditto.
5018         (image_instance_changed): new function. Compare hash values and
5019         past and present widget items.
5020         (image_instantiate): We more careful about where we instantiate
5021         things.
5022         (image_instantiate): add error checking.
5023
5024         * gutter.c (syms_of_gutter): use -hook.
5025
5026 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
5027
5028         * console-tty.c (Fset_console_tty_input_coding_system): Use
5029         Qkeyboard.
5030         (Fset_console_tty_output_coding_system): Use Qterminal.
5031         (tty_init_console): Use Qkeyboard and Qterminal.
5032
5033 2000-03-21  Ben Wing  <ben@xemacs.org>
5034
5035         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
5036         From Mike Alexander <mta@arbortext.com>.
5037
5038 2000-03-21  Ben Wing  <ben@xemacs.org>
5039
5040         * event-msw.c (mswindows_need_event): Horrible kludge to fix
5041         process brokenness.  Proper implementation to come.
5042         * callproc.c:
5043         Rename call-process-internal to old-call-process-internal.
5044         New impl. in process.el.
5045
5046 2000-03-21  Martin Buchholz  <martin@xemacs.org>
5047
5048         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
5049
5050 2000-03-20  Andy Piper  <andy@xemacs.org>
5051
5052         * glyphs.c (full_list_hash): make hashes of the same elements in
5053         different orders return different values.
5054
5055 2000-03-20  Martin Buchholz <martin@xemacs.org>
5056
5057         * XEmacs 21.2.32 is released.
5058
5059 2000-03-20  Martin Buchholz  <martin@xemacs.org>
5060
5061         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
5062         (DFC_MALLOC_USE_CONVERTED_DATA):
5063         Add aliasing-safe casts to allow use with char* or unsigned char*
5064         lvalues.
5065
5066         * eldap.c (Fldap_open):
5067         (Fldap_search_basic):
5068         (Fldap_add):
5069         (Fldap_modify):
5070         Make C++-compilable.
5071         Make sure GCPRO'ed variables are initialized.
5072         Use temp variables to avoid repeated calls to Flength.
5073
5074 2000-03-16  Martin Buchholz  <martin@xemacs.org>
5075
5076         * sysfile.h:
5077         Make sure PATH_MAX is always defined.
5078         Include limits.h for PATH_MAX.
5079         Deprecate use of MAXPATHLEN.
5080
5081 2000-03-10  Martin Buchholz  <martin@xemacs.org>
5082
5083         * emacs.c: Add reinit_vars_of_fileio.
5084         * symsinit.h: Add reinit_vars_of_fileio.
5085         * fileio.c (reinit_vars_of_fileio): New.
5086         * fileio.c (Fmake_temp_name):
5087         Initialize temp_name random number from microseconds to make
5088         collisions even less likely.  Initialize always at process startup
5089         time.  (make-temp-name) used to return the same file name twice in
5090         a row when PDUMP.
5091         Random stylistic fiddling.
5092         Comment fixes.
5093
5094 2000-03-20  Andy Piper  <andy@xemacs.org>
5095
5096         * glyphs.c (image_instantiate): allow text glyphs to be
5097         instantiated in the minibuffer window.
5098
5099 2000-03-19  Andy Piper  <andy@xemacs.org>
5100
5101         * glyphs.c (image_instance_hash): be careful about which items we
5102         hash on.
5103
5104         * glyphs-widget.c (tab_control_set_property): record into pending
5105         items rather than the actual items.
5106
5107         * glyphs-x.c (x_update_widget): use pending items to update with.
5108
5109         * glyphs-msw.c (mswindows_tab_control_update): use pending items
5110         to update with.
5111
5112         * glyphs.c (mark_image_instance): mark pending items.
5113
5114         * window.c (Fset_window_configuration): record the buffer.
5115         (Fselect_window): totally revert previous change which breaks many
5116         things.
5117
5118 2000-03-18  Andy Piper  <andy@xemacs.org>
5119
5120         * glyphs-msw.c (mswindows_tab_control_update): force selected
5121         item.
5122
5123         * glyphs.c (image_instantiate): don't allow the minibuffer as a
5124         window domain cache, otherwise we get inconsistencies at
5125         startup. There is something fishy at startup which can lead to the
5126         minibuffer being the selected window when the gutter content is
5127         instantiated.
5128
5129         * gui.c (parse_gui_item_tree_list): add probably unneccessary
5130         gcpros.
5131         (parse_gui_item_tree_children): ditto.
5132         (parse_gui_item_tree_item): ditto.
5133
5134         * glyphs.c (Fupdate_widget_instances): return something.
5135
5136 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
5137
5138         * window.c (Fselect_window): Undo 2000-03-17 change.
5139
5140 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
5141
5142         * postgresql.c (Fpq_setenv): Remove this turkey when linking
5143         against v7.0 libraries.  Insta-coredump city until the postgres
5144         folks fix it.
5145
5146 2000-03-17  Andy Piper  <andy@xemacs.org>
5147
5148         * faces.c (complex_vars_of_faces): don't give the widget face an
5149         inherited background pixmap.
5150
5151         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
5152         selected item.
5153
5154         * event-stream.c (Fdispatch_non_command_events): return something.
5155
5156         * gutter.c (output_gutter): use widget face.
5157         (clear_gutter): ditto.
5158
5159         * NEWS: adjust again.
5160
5161         * window.c (Fselect_window): make sure this runs to completion to
5162         avoid oddities with Fset_window_configuration.
5163         (Fcurrent_window_configuration): in general do not save the
5164         minibuffer as the selected window.
5165
5166         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
5167
5168 2000-03-16  Olivier Galibert  <galibert@pobox.com>
5169
5170         * emacs.c (Frunning_temacs_p): Revert previous patch.
5171         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
5172
5173 2000-03-16  Andy Piper  <andy@xemacs.org>
5174
5175         * glyphs-x.c (x_tab_control_update): if no widget values then
5176         return.
5177
5178         * NEWS: update for new features.
5179
5180         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
5181         synthetic event to the native system.
5182         (reinit_vars_of_event_Xt): set force_event_pending to
5183         emacs_Xt_force_event_pending.
5184
5185         * events.h (struct event_stream): add force_event_pending.
5186
5187         * specifier.c (recompute_one_cached_specifier_in_window): add
5188         comment.
5189
5190         * redisplay.c (redisplay_frame): don't call
5191         update_frame_subwindows. Reset subwindow cachels when
5192         subwindows_changed, removing this was an optimization too far.
5193
5194         * redisplay-output.c (compare_runes): reorganize so that we catch
5195         glyph changes when we want them. Set optimize_output when this
5196         would help layouts.
5197         (redisplay_output_layout): remove frame_really_changed, use
5198         optimize_output instead.
5199
5200         * redisplay-msw.c (mswindows_output_display_block): reset
5201         optimize_output after outputting a glyph.
5202         * redisplay-x.c (x_output_display_block): ditto.
5203         * redisplay-tty.c (tty_output_display_block): ditto.
5204
5205         * gutter.c: (specifier_vars_of_gutter): use new spec changed
5206         functions.
5207         (gutter_specs_changed): do specific gutter positions.
5208         (top_gutter_specs_changed): new function. Only update the
5209         specified gutter specs.
5210         (bottom_gutter_specs_changed): ditto.
5211         (left_gutter_specs_changed): ditto.
5212         (right_gutter_specs_changed): ditto.
5213
5214         * gui.c (gui_item_hash_internal): new function, does a real hash.
5215         (gui_item_id_hash): use it.
5216         (gui_item_hash): hash the eval'ed gui_item.
5217
5218         * gui-x.c (popup_selection_callback): send an eval event to call
5219         Fupdate_widget_instances.
5220
5221         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
5222         to call Fupdate_widget_instances.
5223
5224         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
5225         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
5226
5227         * glyphs.c: (update_frame_subwindows): deleted.
5228         (Fupdate_widget_instances): new function for updating the dirty
5229         state of widgets that might have changed.
5230         (syms_of_glyphs): add Qupdate_widget_instances.
5231         (full_list_hash): hash a list completely.
5232         (image_instance_hash): use it for items and properties.
5233
5234         * frame-msw.c (mswindows_size_frame_internal): remove unused
5235         variable.
5236
5237         * faces.h (struct face_cachel): fix comment.
5238
5239         * event-stream.c (Fdispatch_non_command_events): new
5240         function. Process non-command events, forcing an event cycle
5241         beforehand.
5242         (syms_of_event_stream): declare.
5243         (event_stream_force_event_pending): new function. Force an event
5244         on the native event queue so that an event cycle will occur next
5245         time we check.
5246
5247         * event-msw.c:
5248         (struct ntpipe_shove_stream):
5249         (mswindows_enqueue_dispatch_event):
5250         (mswindows_dequeue_dispatch_event):
5251         (mswindows_cancel_dispatch_event):
5252         (mswindows_pump_outstanding_events):
5253         (mswindows_drain_windows_queue):
5254         (mswindows_handle_paint):
5255         (mswindows_wnd_proc):
5256         (mswindows_key_to_emacs_keysym):
5257         (get_process_input_waitable):
5258         (emacs_mswindows_delete_stream_pair): re-indent file.
5259         (mswindows_need_event): do not process further fds if the windows
5260         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
5261         fixes the 100% cpu problem.
5262         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
5263
5264 2000-03-15  Olivier Galibert  <galibert@pobox.com>
5265
5266         * alloc.h: New.
5267         * dumper.h: New.
5268         * dumper.c: New.
5269
5270         * emacs.c: Moved dump file searching to dumper.c.
5271         (Frunning_temacs_p): Fixed.
5272
5273         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
5274         last_lrecord_type_index_assigned.
5275
5276 2000-02-20  Olivier Galibert  <galibert@pobox.com>
5277
5278         * symsinit.h: Added reinit parameter to init_console_stream
5279         declaration.
5280
5281         * lisp.h: Added file parameter to pdump_load declaration.
5282
5283         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
5284         support.  Added dump file searching.
5285
5286         * config.h.in: Added EMACS_PROGNAME.
5287
5288         * console-stream.c (init_console_stream): Fix reinitialisation
5289         when running from temacs.
5290
5291         * alloc.c (pdump): Add id support.
5292         (pdump_load): Add file parameter and signature/id support.
5293
5294         * Makefile.in.in: Add full pdump support.
5295
5296 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
5297
5298         * postgresql.c: Update documentation to reflect latest code
5299         status.
5300         (print_result): Show tuple counts in printed representation when
5301         appropriate.
5302         (Fpq_put_nbytes): MULE-ize.
5303         (Fpq_get_line_async): Ditto.
5304
5305 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
5306
5307         * postgresql.c (Fpq_lo_import): Fix return value.
5308         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
5309
5310 2000-03-13  Ben Wing  <ben@xemacs.org>
5311
5312         * alloc.c (pdump_load):
5313         Fix compile warning under mswin.
5314
5315 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
5316
5317         * postgresql.c: Mule-ization, bug fixes.
5318         Use PG_CODING to encapsulate coding system name changes.
5319         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
5320         (pg-coding-system): Create.
5321
5322         (Fpq_conn_defaults): Mule-ize.
5323         (Fpq_connectdb): Mule-ize & bug fix.
5324         (Fpq_connect_start): Mule-ize.
5325         (Fpq_set_client_encoding): Mule-ize.
5326         (Fpq_finish): Document `DEAD' connection status.
5327         (Fpq_clear): Ditto.
5328         (Fpq_pgconn): Mule-ize.
5329         (Fpq_exec): Mule-ize & bug fix.
5330         (Fpq_send_query): Ditto.
5331         (Fpq_get_result): Ditto.
5332         (Fpq_res_status): Mule-ize.
5333         (Fpq_result_error_message): Mule-ize.
5334         (Fpq_ntuples): fix comments.
5335         (Fpq_fname): Mule-ize.
5336         (Fpq_fnumber): Mule-ize.
5337         (Fpq_ftype): fix comments.
5338         (Fpq_get_value): Mule-ize.
5339         (Fpq_cmd_status): Ditto.
5340         (Fpq_cmd_tuples): Ditto.
5341         (Fpq_oid_value): Ditto.
5342         (Fpq_notifies): Ditto.
5343         (Fpq_lo_import): Ditto.
5344         (Fpq_lo_export): Ditto.
5345         (Fpq_get_line): Ditto.
5346         (Fpq_put_line): Mule-ize and bug fix.
5347         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
5348
5349 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
5350
5351         * postgresql.c (vars_of_postgresql): Mule-ize.
5352         (Fpq_conn_defaults): Ditto.
5353
5354 2000-03-12  Ben Wing  <ben@xemacs.org>
5355
5356         * alloc.c (Fmake_byte_code):
5357         * alloc.c (debug_string_purity_print):
5358         * alloc.c (pdump_backtrace):
5359         * alloc.c (pdump_get_indirect_count):
5360         * alloc.c (pdump_register_sub):
5361         * alloc.c (pdump_register_object):
5362         * alloc.c (pdump_register_struct):
5363         * alloc.c (pdump_dump_data):
5364         * alloc.c (pdump_reloc_one):
5365         Minor cleanups.
5366
5367         * console-msw.c:
5368         * console-msw.c (GetConsoleHwnd):
5369         * console-msw.c (msw_hide_console):
5370         * console-msw.c (msw_show_console):
5371         * console-msw.c (msw_ensure_console_buffered):
5372         * console-msw.c (msw_output_console_string):
5373         * console-msw.c (console_type_create_mswindows):
5374
5375         a) Added functions to manipulate the console window for use with
5376         shell support.
5377
5378         b) Added support for writing text to the console, which is now
5379         used under Windows when xemacs is not being run non-interactively,
5380         to write text that would otherwise be destined for stdout because
5381         under these circumstances, text written to stdout tends to
5382         disappear and not be seen.
5383
5384         * console-msw.h:
5385         * event-Xt.c:
5386         * event-Xt.c (x_event_to_emacs_event):
5387         * event-Xt.c (describe_event_window):
5388         * events-mod.h (XEMACS_MOD_CONTROL):
5389         * events.c:
5390         * events.c (Fmake_event):
5391         * events.c (character_to_event):
5392         * events.c (event_to_character):
5393         * events.c (format_event_object):
5394         * events.c (Fevent_modifiers):
5395         * events.h:
5396         * events.h (struct key_data):
5397         * events.h (struct button_data):
5398         * events.h (struct misc_user_data):
5399         * frame-x.c (Fcde_start_drag_internal):
5400         * frame-x.c (Foffix_start_drag_internal):
5401         * gpmevent.c (Freceive_gpm_event):
5402         * keymap.c:
5403         * keymap.c (bucky_sym_to_bucky_bit):
5404         * keymap.c (control_meta_superify):
5405         * keymap.c (make_key_description):
5406         * keymap.c (keymap_lookup_directly):
5407         * keymap.c (create_bucky_submap):
5408         * keymap.c (keymap_store):
5409         * keymap.c (define_key_check_and_coerce_keysym):
5410         * keymap.c (define_key_parser):
5411         * keymap.c (define_key_alternate_name):
5412         * keymap.c (Fdefine_key):
5413         * keymap.c (raw_lookup_key_mapper):
5414         * keymap.c (struct map_keymap_unsorted_closure):
5415         * keymap.c (map_keymap_unsorted_mapper):
5416         * keymap.c (map_keymap_sort_predicate):
5417         * keymap.c (map_keymap_sorted):
5418         * keymap.c (accessible_keymaps_mapper_1):
5419         * keymap.c (where_is_recursive_mapper):
5420         * keymap.c (describe_map_mapper):
5421         * keymap.c (describe_map_sort_predicate):
5422         * keymap.c (describe_map):
5423         * keymap.c (complex_vars_of_keymap):
5424         And a number of other files, the key modifier preprocessor
5425         constants that xemacs uses have names that conflict with constants
5426         defined under MS Windows for other purposes, so they were renamed
5427         to begin with the prefix XEMACS_. The variables that hold such
5428         modifiers were changed to consistently be of type int to fix
5429         various compile warnings.
5430
5431         * console.c (complex_vars_of_console):
5432         * device.c:
5433         * device-msw.c:
5434         * device-msw.c (mswindows_finish_init_device):
5435         * device-msw.c (msw_get_workspace_coords):
5436         * device-msw.c (mswindows_device_system_metrics):
5437         and various other files, added support for a new
5438         device property called offset-workspace which returns the position
5439         of the upper left corner of the workspace area and goes along with
5440         the existing size-workspace property.
5441
5442         * dialog-msw.c:
5443         * dialog-msw.c (push_bufbyte_string_as_unicode):
5444         * dialog-msw.c (mswindows_popup_dialog_box):
5445         Added support for XEmacs-style accelerator specifications in
5446         button text.  Note: I didn't add support for this under X Windows,
5447         and somebody needs to do this.
5448
5449         * dialog.c:
5450         * dialog.c (Fpopup_dialog_box):
5451         Documented the support for accelerators that was just mentioned.
5452
5453         editfns.c (get_home_directory): Changed behavior under Windows
5454         when HOME not defined; former behavior was irretrievably broken.
5455
5456         * emacs.c:
5457         * emacs.c (main_1):
5458         * emacs.c (main):
5459         * minibuf.c (clear_echo_area_internal):
5460         * minibuf.c (echo_area_append):
5461         * print.c:
5462         * print.c (std_handle_out_external):
5463         * print.c (std_handle_out_va):
5464         * print.c (fatal):
5465         * print.c (write_string_to_stdio_stream):
5466         * print.c (output_string):
5467         * print.c (debug_print):
5468         * print.c (debug_backtrace):
5469         * print.c (debug_short_backtrace):
5470         Cleaned up the code that prints text to stdout so that this can be
5471         changed to output into a console window instead under MS Windows,
5472         as described above.
5473
5474         * eval.c:
5475         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
5476         * eval.c (internal_catch):
5477         * eval.c (unwind_to_catch):
5478         * eval.c (throw_or_bomb_out):
5479         * eval.c (condition_case_1):
5480         * eval.c (signal_1):
5481         * eval.c (check_error_state_sanity):
5482         * eval.c (call_with_suspended_errors_1):
5483         * eval.c (call_with_suspended_errors):
5484         * eval.c (reinit_vars_of_eval):
5485         Added code to catch throw loops and check for a pesky bug that may
5486         be gone now.
5487
5488         * event-msw.c:
5489         * event-msw.c (key_needs_default_processing_p):
5490         * event-msw.c (mswindows_wnd_proc):
5491         * event-msw.c (mswindows_modifier_state):
5492         * event-msw.c (emacs_mswindows_quit_p):
5493         * event-msw.c (vars_of_event_mswindows):
5494         a) Added support for using the alt key to select menu items as is
5495         standard under MS Windows.  This is controlled using the variable
5496         menu-accelerator-enabled, just like under X Windows.  There is an
5497         option on the options menu to turn this support on.  I really
5498         think that it should be on by default under Windows, but I'm not
5499         going to make this change yet.
5500
5501         b)  Added support for dynamic display size changes under Windows.
5502
5503         * event-stream.c:
5504         * event-stream.c (maybe_echo_keys):
5505         * event-stream.c (Fnext_event):
5506         * event-stream.c (command_builder_find_leaf):
5507         * event-stream.c (lookup_command_event):
5508         * event-stream.c (execute_command_event):
5509         * event-stream.c (pre_command_hook):
5510         * event-stream.c (post_command_hook):
5511         * event-stream.c (syms_of_event_stream):
5512         * event-stream.c (vars_of_event_stream):
5513         * event-stream.c (complex_vars_of_event_stream):
5514         * events.h (struct command_builder):
5515
5516         a) Tried to clean up a little bit the horribly written x-specific
5517         accelerator code that crept into this file.  I moved this code
5518         into menubar-x.c where it belongs. I also needed to move the
5519         command builder structure into the file events.h because it is
5520         accessed directly by this accelerator code.  What I didn't do, but
5521         which should be done at some point, is to properly abstract this
5522         code using device methods instead of the kludgy way that it
5523         currently hooks into the event code.
5524
5525         b) Added the lisp variables this-command-properties and
5526         last-command- properties, which should be used to synchronize two
5527         adjacent commands in preference to playing games with the variable
5528         this-command, which is typically what happens.
5529
5530         c) Added some slightly nasty code to hook into the lisp support
5531         for shifted- motion-key selection.  This is actually necessary for
5532         somewhat complicated reasons, which are described in
5533         simple.el. (NB: I think the proper thing would be to have the code
5534         that calls the pre and post command hooks also call out to generic
5535         lisp functions in simple.el, where all built-in stuff could be
5536         added.  I will think about this more.)
5537
5538         * event-unixoid.c (poll_fds_for_input):
5539         * lread.c (readchar):
5540         * redisplay-tty.c (tty_clear_frame):
5541         * redisplay-x.c (x_get_gc):
5542         * signal.c (interrupt_signal):
5543         And a whole bunch of other files: fixed up places that printed
5544         directly to stderr to instead call the function stderr_out so that
5545         the changes I made under Windows work correctly.
5546
5547         * filemode.c (mode_string):
5548         Warning fixes.
5549
5550         * frame-msw.c:
5551         * frame-msw.c (mswindows_size_frame_internal):
5552         Fixed the computation of frame size and position to keep the frame
5553         within the workspace area, rather than within the physical
5554         dimensions of the screen, so that the frame doesn't overlap window
5555         manager decorations, such as the start menu and toolbar, typically
5556         at the bottom of the screen.
5557
5558         * frame.c (vars_of_frame):
5559         Changed the default frame title format under MS Windows to consist
5560         of buffername-XEmacs, which is standard under MS Windows.  I think
5561         it might be a good idea to change this everywhere because I think
5562         it is superior to the current frame title format, but this is the
5563         kind of change that is likely to cause some people to get annoyed,
5564         so I'm not making it.
5565
5566         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
5567
5568         * gui-msw.c (mswindows_handle_gui_wm_command):
5569         Fixed compile warnings.
5570
5571         * gui-x.c:
5572         * gui-x.c (strdup_and_add_accel):
5573         * gui-x.c (button_item_to_widget_value):
5574         * gui-x.h:
5575         Added code to automatically put an accelerator onto the beginning
5576         of menu items that don't have one as is now the standard, and is
5577         described more later.  Also fixed things so that the menu item
5578         name can be an evaluated expression, again a new standard.
5579
5580         * gui.c:
5581         * gui.c (gui_item_add_keyval_pair):
5582         * gui.c (make_gui_item_from_keywords_internal):
5583         * gui.c (gui_add_item_keywords_to_plist):
5584         * gui.c (gui_item_accelerator):
5585         * gui.c (gui_name_accelerator):
5586         * gui.c (gui_item_included_p):
5587         * gui.c (gui_item_display_flush_left):
5588         * gui.c (gui_item_display_flush_right):
5589         * gui.c (parse_gui_item_tree_item):
5590         * gui.c (parse_gui_item_tree_children):
5591         * gui.c (parse_gui_item_tree_list):
5592         Mule-ized.  Cleanup.  GCPRO addition.
5593
5594         * line-number.c (buffer_line_number):
5595         * lisp.h:
5596         * lisp.h (EMACS_INT_MAX):
5597         Added the manifest constant EMACS_INT_MIN corresponding to the
5598         existing constant EMACS_INT_MAX.  This is partially to fix compile
5599         warnings under Windows, and partly for cleanliness.
5600
5601         * menubar-msw.c:
5602         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
5603         * menubar-msw.c (msw_translate_menu_or_dialog_item):
5604         * menubar-msw.c (displayable_menu_item):
5605         * menubar-msw.c (populate_menu_add_item):
5606         * menubar-msw.c (populate_or_checksum_helper):
5607         * menubar-msw.c (populate_menu):
5608         * menubar-msw.c (update_frame_menubar_maybe):
5609         * menubar-msw.c (prune_menubar):
5610         * menubar-msw.c (msw_char_is_accelerator):
5611         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
5612         * menubar-msw.c (mswindows_handle_wm_command):
5613         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
5614         * menubar-msw.c (mswindows_handle_wm_initmenu):
5615         * menubar-msw.c (mswindows_update_frame_menubars):
5616         * menubar-msw.c (mswindows_free_frame_menubars):
5617         * menubar-msw.c (mswindows_popup_menu):
5618         Fixed a bug in handling accelerators where an extra character
5619         would be displayed in the menu item.  Also generalized the
5620         function displayable_menu_item because it is now used by the
5621         dialog box code as well.  And finally, added code in the functions
5622         that create the menubar to extract a list of accelerators for the
5623         top level menubar, which is used in the event code to determine
5624         whether a particular alt-key combination should be used to invoke
5625         a menu item, or should be passed through to access the standard
5626         XEmacs keymap binding for this key combination.
5627
5628         Much needed GCPROing.
5629
5630         * menubar-x.c:
5631         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5632         * menubar-x.c (menu_item_descriptor_to_widget_value):
5633         * menubar-x.c (restore_in_menu_callback):
5634         * menubar-x.c (x_popup_menu):
5635         * menubar-x.c (menu_move_up):
5636         * menubar-x.c (menu_move_down):
5637         * menubar-x.c (menu_move_left):
5638         * menubar-x.c (menu_move_right):
5639         * menubar-x.c (menu_select_item):
5640         * menubar-x.c (command_builder_operate_menu_accelerator):
5641         * menubar-x.c (menu_accelerator_junk_on_error):
5642         * menubar-x.c (command_builder_find_menu_accelerator):
5643         * menubar-x.c (Faccelerate_menu):
5644         * menubar.h:
5645         Moved a whole bunch of code here that was previously in
5646         event-stream.c as described above.  There is also code connected
5647         to the new standard of adding an accelerator to the beginning of
5648         menu items that don't have one as described above and below.
5649
5650         * menubar.c:
5651         * menubar.c (menu_parse_submenu_keywords):
5652         * menubar.c (Fmenu_find_real_submenu):
5653         * menubar.c (Fnormalize_menu_item_name):
5654         * menubar.c (syms_of_menubar):
5655         * menubar.c (vars_of_menubar):
5656         * menubar.c (complex_vars_of_menubar):
5657
5658         a) Cleaned up a bunch of documentation and improved it.
5659
5660         b) XEmacs now automatically adds an accelerator onto the beginning
5661         of any menu items that don't have one.  I did this because there
5662         will inevitably be some menu items on the main menubar that don't
5663         have accelerators on them because the package that adds that
5664         particular menu item hasn't yet been fixed up to have accelerators
5665         in them and it looked rather strange to have some items with and
5666         some items without accelerators, especially since even in items
5667         without accelerators, you can, at least under windows, still
5668         access the item through an accelerator corresponding to the first
5669         character in the item's name.  If people don't like this behavior,
5670         I can add a variable to turn it off optionally, but I'm not sure
5671         this is a good idea because we really do need to have accelerators
5672         on all of the menu items, and if a package doesn't like the
5673         accelerators being put on the first character, then it should put
5674         the accelerators where they belong.
5675
5676         c) I made a behavior change, which is that the descriptor that
5677         specifies the text of the menu item, which formerly was just a
5678         string, can now also be an evaluated expression.  This makes this
5679         descriptor parallel with all of the others, which could also be
5680         evaluated expressions.  This also obviates the need for the
5681         keyword :label, which was previously listed in the documentation
5682         as unimplemented, and which was for the same purpose.
5683
5684         d) GCPROing.
5685
5686         * ntproc.c:
5687         * ntproc.c (new_child):
5688         * ntproc.c (sys_spawnve):
5689         * ntproc.c (find_child_console):
5690         * ntproc.c (sys_kill):
5691         Fixed compile warnings.  By the way, this file should really go
5692         away entirely, and this will happen as soon as Kirill makes his
5693         final round of process cleanups, which affect the function
5694         call-process.
5695
5696         * process-nt.c:
5697         * process-nt.c (struct nt_process_data):
5698         * process-nt.c (find_process_from_pid):
5699         * process-nt.c (send_signal_the_nt_way):
5700         * process-nt.c (enable_child_signals):
5701         * process-nt.c (find_child_console):
5702         * process-nt.c (send_signal_the_95_way):
5703         * process-nt.c (nt_finalize_process_data):
5704         * process-nt.c (ensure_console_window_exists):
5705         * process-nt.c (nt_create_process):
5706         * process-nt.c (nt_kill_child_process):
5707         * process-nt.c (nt_kill_process_by_pid):
5708         * process-nt.c (nt_open_network_stream):
5709         * process-nt.c (vars_of_process_nt):
5710         Copied over code from Emacs 20.5 to correctly send signals to sub-
5711         processes under Windows 95.  Also added code to automatically
5712         create and hide console window when a sub-process is created under
5713         Windows 95, which obviates the need for the separate runemacs.exe
5714         executable, and finally implemented some variables that were
5715         implemented in Emacs 20.5, but previously not in XEmacs.  These
5716         include mswindows- start-process-share-console and
5717         mswindows-start-process-inherit-error-mode. (Both of these only
5718         apply to Windows 95.)
5719
5720         * regex.c (regex_compile): Fixed a compile warning.
5721
5722         * select-msw.c:
5723         * select-msw.c (mswindows_own_selection):
5724         * select-msw.c (mswindows_get_foreign_selection):
5725         * select-msw.c (mswindows_disown_selection):
5726         * select-msw.c (console_type_create_select_mswindows):
5727         * select-msw.c (syms_of_select_mswindows):
5728         Cleaned up the file and implemented the device method
5729         selection_exists_p, which had accidentally been left out.  Also
5730         removed four lisp functions that were remnants from before the
5731         time when the selection code was properly device abstracted.
5732         These functions are no longer needed because there are generic
5733         equivalents, and because they were added recently and don't exist
5734         in FSF Emacs, I don't think there's any problem with just deleting
5735         them.
5736
5737         * sysdep.c:
5738         * sysdep.c (sys_subshell):
5739         Fixed a compile warning, although in this case there's probably
5740         something wrong with this code, and it ought to be looked into
5741         more thoroughly by somebody who understands it.
5742
5743         * window.c:
5744         * window.c (Fwindow_text_area_height):
5745         * window.c (Fwindow_width):
5746         * window.c (Fwindow_full_width):
5747         * window.c (Fwindow_pixel_width):
5748         * window.c (debug_print_window):
5749         * window.c (syms_of_window):
5750         Added functions window-text-area-height and window-full-width,
5751         which are functions for returning various width and height
5752         characteristics of a window. (One of these functions is necessary
5753         for making the file dialog box work correctly, and the other one
5754         was added for completeness.)  Also added a table to the
5755         documentation for window-height which describes the entire scheme
5756         for accessing width and height characteristics of a window.
5757
5758 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5759
5760         * nt.c (fstat): Added a comment for another problem with
5761         non-encapsulated [f]stat(), reported by Adrian Aichner
5762         <aichner@ecf.teradyne.com>.
5763
5764 2000-03-11  Andy Piper  <andy@xemacs.org>
5765
5766         * window.c (make_dummy_parent): initialize subwindow instance
5767         cache.
5768         (Fset_window_configuration): zero extent_modiff.
5769
5770 2000-03-10  Andy Piper  <andy@xemacs.org>
5771
5772         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
5773         more changes can be triggered.
5774         (Fredisplay_frame): ditto.
5775         (Fredraw_device): ditto.
5776         (Fredisplay_device): ditto.
5777         (redisplay_frame): make non-static.
5778         (redisplay_frame): call update_frame_gutter_geometry outside of
5779         display proper.
5780
5781         * gutter.h: declare update_frame_gutter_geometry.
5782
5783         * redisplay.h: declare redisplay_frame.
5784
5785         * gutter.c (update_frame_gutter_geometry): move geometry changes
5786         in update_frame_gutters here. Geometry changes can only occur
5787         outside of redisplay.
5788         (update_frame_gutters): remove geometry change code.
5789         (Fredisplay_gutter_area): make sure that we are in display when we
5790         update and that we have flushed any size changes.
5791
5792 2000-03-11  Andy Piper  <andy@xemacs.org>
5793
5794         * alloc.c (pdump_dump_data): remove i & count shadows.
5795
5796 2000-02-27  Mike Alexander  <mta@arbortext.com>
5797
5798         * sysdep.h: Declare pdump_read_file
5799
5800         * sysdep.c (pdump_read_file): New function
5801
5802         * alloc.c (pdump_load): Call pdump_read_file to get the portable
5803         dump data
5804
5805 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
5806
5807         * lrecord.h: add `lrecord_type_pgsetenv'.
5808
5809 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
5810
5811         * symsinit.h: declare (vars|syms)_of* functions.
5812         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
5813
5814 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
5815
5816         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
5817
5818         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
5819         GCCs.
5820
5821         * emacs.c (main_1): Call postgres initialization code.
5822
5823         * postgresql.h: New file.  PostgreSQL RDBMS support.
5824         * postgresql.c: New file.
5825
5826 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
5827
5828         * redisplay-output.c (redisplay_output_display_block): Disable
5829         redundant code.
5830
5831 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5832
5833         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
5834         (Fcanna_henkan_next): Ditto.
5835         (Fcanna_bunsetu_henkou): Ditto.
5836         (Fcanna_henkan_kakutei): Ditto.
5837         (Fcanna_henkan_end): Ditto.
5838         (Fcanna_henkan_quit): Ditto.
5839         (Fcanna_henkan_next): Set retun value correctly.
5840         (c2mu): Use unsigned char instead of signed char.
5841
5842 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5843
5844         * emacs.c (main_1): Always call syms_of_gui.
5845         * inline.c: include gui.h
5846
5847 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
5848
5849         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
5850         converted to Lisp_Object.
5851         (Qtop_bottom): New variable.
5852         (syms_of_redisplay): Initialize it.
5853         * redisplay.h (Vvisible_bell): Ditto.
5854         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
5855         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
5856         only flash top and bottom.
5857
5858 2000-03-08  Andy Piper  <andy@xemacs.org>
5859
5860         * buffer.c (Frename_buffer): record new buffer name the right way.
5861
5862 2000-03-08  Andy Piper  <andy@xemacs.org>
5863
5864         * glyphs.c (update_subwindow): increase hash depth so that widget
5865         items get picked up properly.
5866
5867         * redisplay-output.c (compare_runes): increase hash depth so that
5868         widget items get picked up properly.
5869
5870 2000-03-08  Andy Piper  <andy@xemacs.org>
5871
5872         * gutter.c (output_gutter): add some debug.
5873
5874         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
5875         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
5876         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
5877
5878         * redisplay-output.c (compare_runes): use display_hash to
5879         determine if glyphs really are not the same.
5880
5881         * glyphs.c (update_subwindow): check display_hash to see if
5882         anything really needs to be updated. If not then do
5883         nothing. Record the display_hash after updating.
5884         (image_instance_equal): compare the image_instance face also.
5885
5886 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
5887
5888         * redisplay.h: Fix comment style.
5889
5890 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5891
5892         * consle-msw.h (struct mswindows_frame):
5893         Added new member paint_pending to indicate whether a WM_PAINT
5894         magic event has been queued for this frame.
5895
5896         * event-msw.c (mswindows_drain_windows_queue):
5897         Don't queue a WM_PAINT magic event if one is already queued.
5898         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
5899
5900         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
5901
5902 2000-03-07  Didier Verna  <didier@xemacs.org>
5903
5904         * dired.c: #include `regex.h' after `sysfile.h'.
5905
5906 2000-03-06  Martin Buchholz  <martin@xemacs.org>
5907
5908         * sound.c (init_nas_sound): Fix compiler warning.
5909
5910         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
5911         (FREE_STRUCT_P):
5912         (MARK_STRUCT_AS_FREE):
5913         (MARK_STRUCT_AS_NOT_FREE):
5914         Make `gcc -fstrict-aliasing' work properly.
5915
5916 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5917
5918         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
5919         (mswindows_delete_device): Call CoUnnitialize().
5920
5921         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
5922
5923 2000-02-25    <CraigL@DyCon.com>
5924
5925         * process-nt.c: MinGW now has <shellapi.h>, but still needs
5926         <errno.h>.
5927
5928         * sysdep.c: This extern declaration for environ prevents MinGW
5929         from finding the variable in CRTDLL.DLL.
5930
5931         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
5932         windows headers.
5933         (SHGFI_EXETYPE): ..
5934         (WM_MOUSEWHEEL): ..
5935         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
5936         definitions.
5937         (MMRESULT): Removed, now defined in cygwin's windows headers.
5938         (TIMECAPS): ..
5939         (uid_t,gid_t,pid_t,ssize_t): ..
5940         (_timeb): Removed, MinGW defines both _timeb and timeb.
5941         (HAVE_H_ERRNO): Added.
5942         (HAVE_TZNAME): Added, configure is not detecting this.
5943
5944 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
5945
5946         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
5947         * syntax.c (syntax_match): Use it.
5948
5949         * cmds.c: Import auto-fill-chars from FSF Emacs.
5950         (Vauto_fill_chars): New variables.
5951         (internal_self_insert): Check Vauto_fill_chars.
5952         (vars_of_cmds):
5953         Declare auto-fill-chars as a Lisp variable and initialize it.
5954
5955 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5956
5957         * fileio.c (Fmake_symbolic_link):
5958         (Ffile_symlink_p):
5959         Run handlers even if local machine doesn't have symlinks.
5960
5961 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5962
5963         * event-msw.c (mswindows_drain_windows_queue):
5964         Don't generate paint magic events for non-XEmacs frames.
5965
5966 2000-03-05  Andy Piper  <andy@xemacs.org>
5967
5968         * redisplay.c (redisplay_frame): generate_displayable_area and
5969         friends assumes that we are not in GC, we therefore have to make
5970         sure that this doesn't happen.
5971
5972         * gutter.c (calculate_gutter_size): generate_displayable_area
5973         assumes that we are not in GC, we therefore have to make sure that
5974         this doesn't happen.
5975
5976 2000-03-05  Martin Buchholz  <martin@xemacs.org>
5977
5978         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
5979
5980 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
5981
5982         * redisplay.c (regenerate_window): Make sure we set a sane value
5983         for end_pos even if we jump out of the loop.
5984         (regenerate_window): Answer Ben's question :-).
5985         (start_end_of_last_line): Add may_error argument.
5986         (start_of_last_line):
5987         (end_of_last_line): Pass may_error = 0.
5988         (end_of_last_line_may_error): New function.
5989         (pixel_to_glyph_translation): Use it, so we don't crash in
5990         event_to_glyph.
5991
5992 2000-03-04  Andy Piper  <andy@xemacs.org>
5993
5994         * window.h (struct window): add gutter_extent_modiff.
5995
5996         * window.c (allocate_window): zero out gutter_extent_modiff.
5997
5998         * redisplay.h: declare sync_display_line_structs.
5999
6000         * redisplay.c (add_glyph_rune): add a better comment.
6001
6002         * redisplay-output.c (sync_display_line_structs): made non-static.
6003         (compare_runes): remove unneccesary glyph cachel access.
6004
6005         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
6006
6007         * gutter.c (output_gutter): don't output the gutter if extent
6008         changes only involve extents in buffers. use 4 sets of display
6009         lines.
6010         (gutter_extent_signal_changed_region_maybe): new function. Mark
6011         extents in gutters as changed.
6012         (update_frame_gutters): use 4 sets of display lines.
6013         (reset_gutter_display_lines): ditto.
6014         (free_frame_gutters): ditto.
6015         (redraw_exposed_gutter): force output of gutters.
6016
6017         * frame.h (struct frame): add 4 sets of gutter display lines.
6018
6019         * extents.c: (extent_changed_for_redisplay): signal changes to
6020         extents in strings in the gutter as well as extents in buffers.
6021
6022 2000-03-02  Andy Piper  <andy@xemacs.org>
6023
6024         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
6025
6026         * frame.c (Fmake_frame): make sure the gutters get initialized
6027         after the frame is visible.
6028         (set_frame_selected_window): re-arrange compilation macros a
6029         little.
6030         (change_frame_size_1): mark gutters changed.
6031
6032         * device.c (Fset_device_class): mark gutters changed.
6033
6034 2000-03-01  Andy Piper  <andy@xemacs.org>
6035
6036         * window.c (window_top_frame_gutter_height): deleted.
6037         (window_bottom_frame_gutter_height): ditto.
6038         (window_left_frame_gutter_height): ditto.
6039         (window_right_frame_gutter_height): ditto.
6040         (window_top_gutter_height): don't use them.
6041         (window_bottom_gutter_height): ditto.
6042         (window_left_gutter_width): ditto.
6043         (window_right_gutter_width): ditto.
6044         (Fsplit_window): ditto.
6045         (Fwindow_pixel_edges): don't use border dimensions here.
6046
6047         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
6048         (update_scrollbar_instance): ditto.
6049
6050         * redisplay.c (generate_modeline): don't take gutters into account.
6051         (generate_modeline): ditto.
6052         (redisplay_frame): small gutter display optimisation.
6053
6054         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
6055
6056         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
6057         gutters into account.
6058
6059         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
6060         for window position and type.
6061
6062         * gutter.c (get_gutter_coords): fix for frame gutters.
6063         (update_frame_gutters): update frame geometry if the gutters have
6064         changed.
6065         (init_frame_gutters): record current gutter geometries.
6066
6067         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
6068         var.
6069         (mswindows_widget_instantiate): ditto.
6070
6071         * frame.h (struct frame): add current_gutter_bounds.
6072
6073         * frame.c (change_frame_size_1): position window and minibuffer
6074         appropriately taking into account the frame gutters.
6075
6076         * frame-x.c: (x_initialize_frame_size): take into account the
6077         frame gutters.
6078
6079 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
6080
6081         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
6082
6083 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
6084
6085         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
6086
6087 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
6088
6089         * file-coding.c (reset_decoding_stream): Clear previous
6090         detection state when autodetect.
6091
6092 2000-02-29  Didier Verna  <didier@xemacs.org>
6093
6094         * extents.c (set_extent_glyph_1): don't require extents to be
6095         attached.
6096
6097 2000-02-27  Andy Piper  <andy@xemacs.org>
6098
6099         * gutter.c (Fset_default_gutter_position): don't default left and
6100         right gutter visibility to t.
6101         (Fset_default_gutter_position): run
6102         default-gutter-position-changed-hook.
6103         (syms_of_gutter): add default-gutter-position-changed-hook.
6104
6105 2000-02-26  Andy Piper  <andy@xemacs.org>
6106
6107         * specifier.c (Fmake_specifier): add gutter references.
6108
6109         * gutter.h (RAW_WINDOW_GUTTER): new macro.
6110
6111         * lisp.h: declare Fvalid_plist_p.
6112
6113         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
6114         as changed.
6115         (default_gutter_visible_p_changed_in_window): invalidate gutter as
6116         well as its visibility so that it gets reconstructed.
6117         (construct_window_gutter_spec): new function. Construct a string
6118         to be displayed in the gutter from a plist of strings. Take care
6119         to only use elements that are declared as visible.
6120         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
6121         WINDOW_GUTTER.
6122         (gutter_validate): allow plists of strings in the specifier.
6123         (gutter_specs_changed): construct the real_gutter from the gutter
6124         specs using construct_window_gutter_spec.
6125         (gutter_visible_validate): gutter-visible is a new specifier type.
6126         (Fgutter_visible_specifier_p): new function for the new specifier.
6127         (syms_of_gutter): declare gutter-visible and
6128         Fgutter_visible_specifier_p.
6129         (specifier_type_create_gutter): intitalize new gutter-visible
6130         specifier.
6131         (reinit_specifier_type_create_gutter): ditto.
6132         (specifier_vars_of_gutter): use new specifier type for gutter
6133         visibility.
6134         (init_frame_gutters): construct real_gutter correctly.
6135         (Fgutter_specifier_p): beef up documentation.
6136         (Fgutter_size_specifier_p): ditto.
6137
6138         * winslots.h: add real_gutter slots.
6139
6140 2000-02-25  Andy Piper  <andy@xemacs.org>
6141
6142         * device-msw.c: Be kind to older cygwin versions. From Raymond
6143         Toy <toy@rtp.ericsson.se>.
6144
6145         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
6146         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
6147
6148 2000-02-25  Martin Buchholz  <martin@xemacs.org>
6149
6150         * elhash.c (MARK_OBJ): Practice macro hygiene.
6151
6152 2000-02-24  Martin Buchholz  <martin@xemacs.org>
6153
6154         * miscplay.c: s/__inline__/inline/g;
6155         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
6156         (get_device_compdc): INLINE ==> static inline
6157         * *.[ch]: Change INLINE to INLINE_HEADER globally.
6158         find -name '*.h' | \
6159         xargs global-replace \
6160         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
6161
6162 2000-02-25  Andy Piper  <andy@xemacs.org>
6163
6164         * window.c (window_top_frame_gutter_height): new function.
6165         (window_top_window_gutter_height): ditto.
6166         (window_top_gutter_height): use them.
6167         (window_bottom_frame_gutter_height): new function.
6168         (window_bottom_window_gutter_height): ditto.
6169         (window_bottom_gutter_height): use them.
6170         (window_left_window_gutter_width): new function.
6171         (window_left_frame_gutter_width): ditto.
6172         (window_left_gutter_width): use them.
6173         (window_right_window_gutter_width): new function.
6174         (window_right_frame_gutter_width): ditto.
6175         (window_right_gutter_width): use them.
6176         (window_pixel_height): new function. calulate window pixel height
6177         with frame gutter involvement.
6178         (Fsplit_window): calculate new sizes taking frame gutters into
6179         account.
6180         (window_char_height_to_pixel_height): don't include frame gutters.
6181         (window_char_height): use window_pixel_height.
6182         (window_pixheight): rename from window_pixel_height.
6183         (change_window_height): use it.
6184         (window_pixel_height_to_char_height): don't include frame gutters.
6185         (window_char_width_to_pixel_width): ditto.
6186
6187 2000-02-25  Andy Piper  <andy@xemacs.org>
6188
6189         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
6190         if it is.
6191
6192 2000-02-24  Martin Buchholz  <martin@xemacs.org>
6193
6194         * alloc.c (staticpro):
6195         (staticpro_nodump):
6196         (dumpstruct):
6197         (dumpopaque):
6198         (pdump_wire):
6199         (pdump_wire_list):
6200         (compact_string_chars):
6201         (pdump_dump_wired):
6202         Convert:  if (foo) abort();  ==>  assert (! foo);
6203
6204         * eldap.c (Fldap_search_basic):
6205         (Fldap_add):
6206         (Fldap_modify):
6207         (Fldap_delete):
6208         Fix compiler warnings, and possible crashes if (random) return
6209         value were to be used.
6210
6211 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6212
6213         * device-msw.c: Workaround ResetDC failure.
6214
6215         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
6216         applying a devmode.
6217
6218         * redisplay-msw.c (get_frame_dc): Added start_page_p.
6219         (mswindows_text_width): Do not start printer page.
6220
6221         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
6222
6223         * glyphs-msw.c: Added image methods to msprinter console and
6224         msprinter-specific image instantiation.
6225
6226 2000-02-20  Mike Alexander  <mta@arbortext.com>
6227
6228         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
6229         to avoid crashes when selection-sets-clipboard is on
6230         (mswindows_own_selection): ditto
6231
6232 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6233
6234         * glyphs-msw.c:
6235         * redisplay-msw.c (get_frame_dc):
6236         (get_frame_compdc):
6237         * console-msw.h:
6238         * device-msw.c (mswindows_init_device):
6239         (mswindows_delete_device):
6240         (msprinter_init_device):
6241         (msprinter_delete_device):
6242         * frame-msw.c (mswindows_init_frame_1):
6243         (mswindows_delete_frame):
6244         (msprinter_init_frame_3):
6245         (msprinter_delete_frame): Move compatible DC to device object from
6246         frame object, for both mswindows and msprinter. Only one at a time
6247         is needed, it is a real waste to have one per frame!
6248
6249 2000-02-23  Andy Piper  <andy@xemacs.org>
6250
6251         * glyphs.c: add dynamic width and height elements.
6252         (image_instance_equal): ditto.
6253
6254         * glyphs-widget.c (widget_query_geometry): calculate width and
6255         height dynamically if required.
6256         (initialize_widget_image_instance): initialize dynamic dimensions.
6257         (widget_instantiate): pick-up dynamic dimensions.
6258
6259         * glyphs.h (struct Lisp_Image_Instance): add width and height for
6260         dynamic determination. Add appropriate macros.
6261
6262         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
6263         dimensions safe.
6264         (WINDOW_GUTTER_SIZE): ditto.
6265         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
6266
6267         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
6268         inline.
6269         (get_frame_dc): ditto.
6270
6271         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
6272         here.
6273
6274 2000-02-23  Martin Buchholz <martin@xemacs.org>
6275
6276         * XEmacs 21.2.31 is released.
6277
6278 2000-02-22  Ben Wing <ben@xemacs.org>
6279
6280         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
6281
6282 2000-02-22  Andy Piper  <andy@xemacs.org>
6283
6284         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
6285
6286 2000-02-21  Mike Sperber <mike@xemacs.org>
6287
6288         * .dbxrc:
6289         * .gdbinit:
6290         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
6291         variables.
6292
6293 2000-02-21  Mike Sperber <mike@xemacs.org>
6294
6295         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
6296
6297 2000-02-21  Martin Buchholz <martin@xemacs.org>
6298
6299         * XEmacs 21.2.30 is released.
6300
6301 2000-02-20  Martin Buchholz  <martin@xemacs.org>
6302
6303         Performance hacking.
6304         * *.c (syms_of_*):
6305         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
6306         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
6307         * emacs.c (main_1):
6308         * lisp.h (DEFUN):
6309         * console.c (DEFVAR_CONSOLE_LOCAL_1):
6310         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
6311         * symeval.h (DEFVAR_SYMVAL_FWD):
6312         * symbols.c (guts_of_unbound_marker):
6313         Make all c_readonly objects also lisp_readonly and marked for life.
6314         * lrecord.h (struct lrecord_implementation):
6315         Document flags better.
6316         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
6317         * lrecord.h (DECLARE_LRECORD):
6318         * lrecord.h (XSETRECORD):
6319         * lrecord.h (RECORDP):
6320         * lrecord.h (RECORD_TYPEP):
6321         * lrecord.h (RECORD_MARKER): New.
6322         * lrecord.h (error_check_*):
6323         * lrecord.h (CONCHECK_NONRECORD):
6324         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
6325         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
6326         * lrecord.h (set_lheader_implementation):
6327         * lrecord.h (enum lrecord_type): New.
6328         * symeval.h (SYMBOL_VALUE_MAGIC_P):
6329         * alloc.c (disksave_object_finalization_1):
6330         * alloc.c (mark_object):
6331         * alloc.c (lrecord_type_index):
6332         * alloc.c (tick_lcrecord_stats):
6333         * alloc.c (Fgarbage_collect):
6334         * alloc.c (init_alloc_once_early):
6335         * alloc.c (pdump_load):
6336         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
6337         * alloc.c (lrecord_type_index): Delete.
6338         Make lisp object type indexes be constant.
6339           Makes (byte-compile) 5% faster.
6340         Put all marker functions into their own array.
6341           Makes (garbage-collect) 5% faster.
6342         Optimize SYMBOL_VALUE_MAGIC_P.
6343           Makes (byte-compile) 2-3% faster.
6344         * config.h.in (gc_checking_assert): New.
6345         * alloc.c: Use gc_checking_assert().
6346         * .dbxrc: Make compatible with new object type implementation.
6347         * .gdbinit: Make compatible with new object type implementation.
6348         * alloc.c: Delete all symbols defined only for debugging, such as
6349         Lisp_Type_Vector and lrecord_charset.
6350
6351 2000-02-21  Andy Piper  <andy@xemacs.org>
6352
6353         * gui-msw.c (Fmswindows_shell_execute): fix file location
6354         problems.
6355
6356         * buffer.c (Fkill_buffer): remove buffer from alist buffer
6357         unshowing so that set_window_buffer doesn't undo
6358         kill_buffer_hook's hard work.
6359
6360         * glyphs-widget.c (tab_control_query_geometry): don't count the
6361         first item when calculating geometry.
6362
6363         * glyphs.c (map_subwindow): remove redundant code.
6364         (update_frame_subwindows): be more circumspect about when to
6365         update subwindows.
6366
6367         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
6368         when items haven't changed. Update faces if faces have changed as
6369         well as just the widget face.
6370         (x_tab_control_update): Update faces if faces have changed as well
6371         as just the widget face.
6372
6373 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6374
6375         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
6376         registration.
6377         (build_syscolor_string): Use mswindows_color_to_string to try to
6378         get a named color.
6379         (mswindows_device_system_metrics): Reverse the foreground and
6380         background colors so that they match the documentation.
6381
6382         * objects-msw.c: (mswindows_X_color_map): tweak some values so
6383         they match the default Windows palette.
6384         (mswindows_color_to_string): New function.
6385
6386 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6387
6388         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
6389
6390 2000-02-18  Olivier Galibert  <galibert@pobox.com>
6391
6392         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
6393         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
6394
6395         * symbols.c (init_symbols_once_early): Removed obsolete
6396         DATA_SEG_BITS related kludge.
6397         (defvar_magic): Ditto.
6398
6399         * malloc.c: Removed obsolete DATA_SEG_BITS
6400         * ralloc.c: Ditto.
6401         * mem-limits.h: Ditto.
6402
6403         * Makefile.in.in: Removed obsolete HAVE_SHM
6404         * emacs.c: Ditto.
6405
6406 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6407
6408         *  device-msw.c (mswindows_delete_device): Free DDE string
6409         handles.
6410
6411 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6412
6413         * keymap.c (get_keyelt):
6414         * unexnt.c (unexec):
6415         * vm-limit.c (memory_warnings):
6416         * ntheap.c (recreate_heap):
6417         * ntheap.h (UNINIT_PTR):
6418         * select-msw.c (Fmswindows_get_clipboard):
6419         (Fmswindows_set_clipboard):
6420         * objects-msw.h (MSWINDOWS_BAD_HFONT):
6421         * objects-msw.c:
6422         * menubar-msw.c (displayable_menu_item):
6423         * glyphs-msw.c:
6424         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
6425         * sysdep.c (sys_subshell):
6426         * process-nt.c (nt_create_process):
6427         * nt.c (normalize_filename):
6428         (dostounix_filename):
6429         (unixtodos_filename):
6430         * ntproc.c (win32_executable_type):
6431         * ntplay.c (play_sound_data_1):
6432         (play_sound_file):
6433         * editfns.c (get_home_directory):
6434         * event-msw.c (struct winsock_stream):
6435         (mswindows_dde_callback):
6436         * device-msw.c (msprinter_init_device):
6437         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
6438
6439         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
6440         mswindows_clear_toolbar were swapped!
6441
6442         * objects-msw.c:(colormap_t):
6443         (fontmap_t):
6444         * emacs.c (struct standard_args): Fixed const jumble.
6445
6446         * glyphs-widget.c (update_widget): Fixed comparison notation.
6447
6448         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
6449
6450         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
6451         __declspec(noreturn) syntax.
6452
6453 2000-02-19  Martin Buchholz  <martin@xemacs.org>
6454
6455         * eldap.c (Fldap_open):
6456         (Fldap_search_basic):
6457         (Fldap_add):
6458         (Fldap_modify):
6459         Use new coding system conversion macros.
6460
6461 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
6462
6463         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
6464
6465 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
6466
6467         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
6468         (Fldap_add, Fldap_modify, Fldap_delete): New functions
6469
6470         * eldap.c (Qadd, Qreplace): New constant symbols
6471         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
6472         interruptions by XEmacs signals
6473         Remove unnecessary calls to slow_down_interrupts and
6474         speed_up_interrupts
6475         (Fldap_search_basic): Renamed from Fldap_search_internal
6476         Added new optional parameter VERBOSE that triggers the
6477         display of progress messages
6478         Remove unnecessary calls to slow_down_interrupts and
6479         speed_up_interrupts
6480         LDAP result code analysis rewritten
6481         (Fldap_add, Fldap_modify, Fldap_delete): New functions
6482         (syms_of_eldap): Define the new symbols and functions
6483
6484
6485 2000-02-17  Martin Buchholz  <martin@xemacs.org>
6486
6487         * realpath.c: Determine PATH_MAX maximally portably.
6488
6489         * insdel.c (bytecount_to_charcount): Optimize.
6490         The function used to be optimized for entirely ASCII sequences.
6491         Now it is optimized for successive characters from the same
6492         charset.  This also wins big for _mostly_ ASCII sequences.
6493
6494         * fileio.c (Ffile_truename): convert return from realpath() using
6495         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
6496         - Rewrite GCPROing slightly.
6497
6498         * sysdep.c (sys_open): Do filename conversion, like all other
6499         sys_* functions.  Fixes bug:
6500         (let ((file-name-coding-system 'iso-8859-2))
6501            (write-region x y latin2-name))
6502         ==> writes filename using internal encoding.
6503
6504 2000-02-18  Martin Buchholz  <martin@xemacs.org>
6505
6506         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
6507         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
6508         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
6509         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
6510         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
6511         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
6512         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
6513         (CONST_IF_NOT_DEBUG): Delete.
6514         * alloc.c (this_one_is_unmarkable): Delete.
6515         (mark_object): Don't check for this_one_is_unmarkable. Use the
6516         c_readonly flag instead.
6517         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
6518
6519 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6520
6521         * event-msw.c (mswindows_drain_windows_queue):
6522         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
6523         away redundant repaint events.
6524
6525 2000-02-17  Andy Piper  <andy@xemacs.org>
6526
6527         * redisplay.h: declare mark_redisplay_structs.
6528
6529         * redisplay.c (redisplay_window):
6530         (redisplay_frame): don't check subwindows_state_changed.
6531         (mark_redisplay): mark gutters here.
6532
6533         * glyphs.c: (instantiate_image_instantiator): always layout if we
6534         haven't done so already.
6535         (allocate_image_instance): don't mark as dirty.
6536         (update_subwindow): bind inhibit_quit.
6537
6538         * gutter.c (mark_gutters): new function.
6539
6540         * glyphs-x.c (x_update_widget): Always resize to get round a
6541         widget bug.
6542
6543         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
6544         breaking absolutely everything.
6545
6546         * gutter.h: declare mark_gutters.
6547
6548 2000-02-16  Martin Buchholz <martin@xemacs.org>
6549
6550         * XEmacs 21.2.29 is released.
6551
6552 2000-02-15  Olivier Galibert  <galibert@pobox.com>
6553
6554         * fns.c (size_bit_vector): Fix computation of the size.
6555
6556 2000-02-15  Martin Buchholz  <martin@xemacs.org>
6557
6558         * *.[ch]: Change CONST to const globally.
6559         find -name '*.[ch]' | \
6560         xargs global-replace \
6561         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
6562         - Remove vestigial references to CONST_IS_LOSING
6563
6564 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6565
6566         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
6567         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
6568         events instead of dispatching them directly.
6569         (mswindows_handle_paint): New function to do repainting.
6570         (mswindows_wnd_proc):
6571         (emacs_mswindows_handle_magic_event): Call above function.
6572
6573 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
6574
6575         * objects-msw.c (mswindows_create_font_variant): Return the new
6576         font handle.
6577         (initialize_font_instance): Get font metrics from the underlined
6578         variant of the font to cope with the case where the underlined
6579         font has a bigger descent.
6580
6581 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
6582
6583         * gui.c (gui_item_accelerator): Return the first underlined
6584         character in item name.
6585
6586 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6587
6588         * lisp.h: Added Qprinter.
6589
6590         * general.c (syms_of_general): Initialized it.
6591
6592         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
6593         (get_frame_dc):
6594         (get_frame_compdc): Made inline.
6595
6596         * console.h (struct console_methods): Added eject_page method.
6597
6598         * frame.h: Added FRAME_DISPLAY_P and friends.
6599         Aligned backslahes in many macros in more readable fashion.
6600         Added page_number to struct frame, and an accessor macro
6601         for it.
6602
6603         * defice.h: Added DEVICE_DISPLAY_P and friends.
6604
6605         * device.c (Fdevice_printer_p): Used these.
6606
6607         * frame.c (allocate_frame_core): Initialize page number.
6608         (Fprint_job_page_number):
6609         (Fprint_job_eject_page): Implemented.
6610
6611         * frame-msw.c (msprinter_eject_page): Added method.
6612         (msprinter_start_page): Added.
6613
6614         * window.c (Fwindow_truncated_p): Fixed docstring.
6615         (Fwindow_last_line_visible_height): Implemented.
6616
6617 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
6618
6619         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
6620
6621 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
6622
6623         * syntax.c (scan_words): Always advance at least one character.
6624
6625 2000-02-13  Andy Piper  <andy@xemacs.org>
6626
6627         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
6628         to make sure the glyph is in the cachels.
6629
6630         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
6631         global image instance flag.
6632         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
6633         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
6634
6635         * glyphs.c (allocate_image_instance): set dirty bits correctly.
6636         (Fset_image_instance_property): mark layout as changed.
6637         (invalidate_glyph_geometry_maybe): mark layout as changed.
6638         (glyph_width): use new NEEDS_LAYOUT macro.
6639         (glyph_ascent): ditto.
6640         (glyph_descent): ditto.
6641         (glyph_height): ditto.
6642         (image_instance_layout): mark layout as clean after laying out.
6643         (update_subwindow): don't mark layout as clean here.
6644
6645         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
6646         should no longer be needed.
6647
6648         * glyphs-x.c (x_update_widget): sanitize asserts.
6649         (x_finalize_image_instance): sanitize assignment to widgets.
6650
6651         * glyphs-widget.c (widget_instantiate): don't need to clear the
6652         layout flag here.
6653
6654 2000-02-13  Martin Buchholz  <martin@xemacs.org>
6655
6656         * sysdep.c (getcwd): Use standard prototype.
6657         * sysdep.h (getcwd): Use standard prototype.
6658
6659         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
6660         (sequence, start, end).
6661         Remove redundant type checking.
6662         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
6663         view of `caller-protects') to avoid a crash where the real fix was
6664         found elsewhere.
6665
6666 2000-02-12  Martin Buchholz  <martin@xemacs.org>
6667
6668         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
6669
6670         * s/sol2.h: Remove feature macro initialization.
6671
6672         * alloc.c (alloc_lcrecord): Add more type checking assertions.
6673         (vector_hash): New.  Code from internal_hash.
6674         * lrecord.h:
6675         Fix up allocation subsystem comments.
6676
6677         * config.h.in: Add __EXTENSIONS__ for Solaris.
6678
6679         * systime.h (EMACS_GETTIMEOFDAY): New.
6680         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
6681         Remove Solaris-specific code.
6682         Use void* for the (ignored) second arg for gettimeofday().
6683
6684         * elhash.c (hash_table_hash): Implement it, finally.
6685         * elhash.c:  Use hashcode_t.
6686
6687         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
6688         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
6689
6690         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
6691         * fns.c (size_bit_vector):
6692         * alloc.c (size_vector):
6693         (make_vector_internal):
6694         (make_bit_vector_internal):
6695         (sweep_bit_vectors_1):
6696         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
6697
6698 2000-02-10  Martin Buchholz  <martin@xemacs.org>
6699
6700         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
6701         Include strings.h to avoid warnings for bzero and strcasecmp.
6702
6703 2000-02-10  Olivier Galibert  <galibert@pobox.com>
6704
6705         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
6706         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
6707
6708         * fns.c (size_bit_vector): New.  Declare bit vectors as a
6709         sequence.
6710
6711 2000-02-10  Olivier Galibert  <galibert@pobox.com>
6712
6713         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
6714         use a value field instead.
6715         (symbol_value_forward_forward): Use value field.
6716         (DEFVAR_SYMVAL_FWD): Use value field.
6717         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
6718         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
6719         (DEFVAR_CONST_INT): Ditto.
6720         (DEFVAR_BOOL): Ditto.
6721         (DEFVAR_CONST_BOOL): Ditto.
6722         (DEFVAR_INT_MAGIC): Ditto.
6723         (DEFVAR_BOOL_MAGIC): Ditto.
6724
6725         * symbols.c (guts_of_unbound_marker): Use value field.
6726         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
6727         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
6728
6729         * lisp.h: Declare dumpopaque and noninteractive1.
6730
6731         * alloc.c (dumpopaque): Added.
6732         (pdump_dump_opaquevec): Added.
6733         (pdump): Call pdump_dump_opaquevec to dump opaque data.
6734         (pdump_load): Reload opaque data.  Sync noninteractive1 with
6735         noninteractive.
6736
6737 2000-02-10  Andy Piper  <andy@xemacs.org>
6738
6739         * glyphs.c (image_instance_layout): if the size changes, mark it
6740         as such.
6741
6742         * redisplay-output.c (redisplay_output_layout): Update the
6743         subwindow here.
6744         (redisplay_output_subwindow): ditto.
6745
6746         * glyphs.c (update_subwindow): make sure we reset flags for
6747         layouts as well as everything else.
6748
6749         * glyphs-widget.c (layout_layout): don't need to set the instances
6750         dimensions here.
6751
6752 2000-02-09  Martin Buchholz  <martin@xemacs.org>
6753
6754         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
6755         not HAVE_DLOPEN, which is a lower-level thing.
6756
6757         * .cvsignore: Ignore gmon.out
6758
6759 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
6760
6761         * .cvsignore: Ignore portable dumper xemacs.dmp file
6762
6763 2000-02-09  Andy Piper  <andy@xemacs.org>
6764
6765         * redisplay-output.c (redisplay_output_layout): be more clever
6766         about when we output based on the changed flags.
6767
6768         * glyphs.h (struct image_instantiator_methods): add update_method.
6769         (struct Lisp_Image_Instance): add changed flags. Declare new
6770         macros for manipulating them.
6771
6772         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
6773         (image_instance_parent_glyph): find an image_instance's parent
6774         glyph or image_instance.
6775         (image_instance_layout): mark the size as changed.
6776         (set_image_instance_dirty_p): new function. mark an image
6777         instance, plus all of its parents, as dirty.
6778         (Fset_image_instance_property): use it.
6779         (Fglyph_animated_timeout_handler): use it.
6780         (update_subwindow): call update_widget and device methods for
6781         update_subwindow. Mark all changed flags as clean.
6782         (Fresize_subwindow): mark size as changed.
6783
6784         * glyphs-x.c (x_finalize_image_instance): try and detect gc
6785         failures.
6786         (x_update_subwindow): only resize subwindows here.
6787         (x_update_widget): new function. Update all changed properties of
6788         a widget.
6789         (x_resize_subwindow): deleted.
6790         (x_widget_set_property): deleted.
6791         (x_progress_gauge_set_property): deleted.
6792         (x_progress_gauge_update): new function. Implement recorded
6793         changes.
6794         (x_tab_control_update): ditto.
6795         (x_tab_control_set_property): deleted.
6796         (console_type_create_glyphs_x): declare new functions.
6797         (image_instantiator_format_create_glyphs_x): ditto.
6798
6799         * glyphs-widget.c (widget_set_property): mark text changed.
6800         (update_widget): new function. Update properties of a widget.
6801         (widget_instantiate): for layouts make sure we set their
6802         children's parent correctly.
6803         (tab_control_set_property): new function. Record changes that will
6804         take place under redisplay's control.
6805         (progress_gauge_set_property): ditto.
6806         (image_instantiator_progress_guage): declare new functions.
6807         (image_instantiator_tab_control): ditto.
6808
6809         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
6810         now.
6811         (mswindows_update_widget): new function. Update all properties on
6812         a widget that have changed.
6813         (mswindows_button_update): new function. Update a button's set
6814         state.
6815         (mswindows_tab_control_update): new function. Update the items in
6816         a tab.
6817         (mswindows_tab_control_set_property): deleted.
6818         (mswindows_progress_gauge_update): new function. Update the
6819         progress gauge's progress.
6820         (mswindows_widget_set_property): deleted. This is all done
6821         asynchronously now.
6822         (mswindows_progress_gauge_set_property): ditto.
6823         (console_type_create_glyphs_mswindows): declare new methods.
6824         (image_instantiator_format_create_glyphs_mswindows): ditto.
6825
6826         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
6827         (msprinter_set_frame_properties): ditto.
6828
6829         * console.h (struct console_methods): Add update_widget_method.
6830
6831 2000-02-09  Andy Piper  <andy@xemacs.org>
6832
6833         * gui-msw.c (Fmswindows_shell_execute): Make
6834         mswindows-shell-execute industrial strength.
6835
6836 2000-02-08  Martin Buchholz  <martin@xemacs.org>
6837
6838         * lrecord.h: Make macro argument `props' match member function `plist'.
6839         * fns.c (Fget):
6840         * fns.c (Fput):
6841         * fns.c (Fremprop):
6842         * fns.c (Fobject_plist):
6843         * alloc.c:
6844         * symbols.c:
6845         Object property list frobbing cleanup.
6846         - Allow any lisp object (compared with `eq'), not just symbols, as
6847           keys in object plists.
6848         - Move symbol plist frobbing into symbols.c, where it belongs.
6849         - Move string plist frobbing into alloc.c, where it belongs.
6850         - Everything's an lrecord now, so no need to test for symbolp, etc.
6851         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
6852
6853         * extents.c: Reorder code to remove declarations.
6854
6855         * frame.h (store_in_alist): Remove useless declaration.
6856
6857 2000-02-07  Martin Buchholz  <martin@xemacs.org>
6858
6859         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
6860         * config.h.in: Add HAVE_XCONVERTCASE.
6861
6862 2000-02-07  Andy Piper  <andy@xemacs.org>
6863
6864         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
6865         it breaks many things.
6866
6867 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
6868
6869         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
6870         actually can start a common comment type.
6871         * src/syntax.h (SYNTAX_END_P): ditto for end.
6872
6873 2000-02-07  Martin Buchholz <martin@xemacs.org>
6874
6875         * XEmacs 21.2.28 is released.
6876
6877 2000-02-06  Martin Buchholz  <martin@xemacs.org>
6878
6879         * event-Xt.c (x_keysym_to_character): New.
6880         (maybe_define_x_key_as_self_inserting_character): New.
6881         (x_has_keysym): New.
6882         Auto-define all keys on the keyboard as self-insert-key.
6883
6884 2000-02-02  Martin Buchholz  <martin@xemacs.org>
6885
6886         * menubar.c (vars_of_menubar): A small code simplification.
6887
6888         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
6889
6890         * ExternalShell.c:
6891         * ExternalClient.c:
6892         * EmacsShell-sub.c:
6893         * EmacsManager.c:
6894         * EmacsFrame.c:
6895         Use consistent style for specifying X resources.
6896
6897         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
6898         This makes (dontusethis-set-symbol-value-handler) actually usable.
6899
6900         * lrecord.h (lrecord_decription_type):
6901         * alloc.c (pdump_register_sub):
6902         (pdump_dump_data):
6903         (pdump_reloc_one):
6904         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
6905         Comply with XEmacs coding style.
6906         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
6907         args, and XD_LISP_OBJECT_ARRAY with 3 args.
6908
6909         * keymap.c (Faccessible_keymaps):
6910         Make (accessible-keymaps map "\C-h") do the Right Thing.
6911         Make (accessible-keymaps map []) do the Right Thing.
6912         Make (accessible-keymaps map "") do the Right Thing.
6913         (check_keymap_definition_loop): New function.
6914         (keymap_store_internal): Keep luser from shooting self in foot,
6915           via (define-key ctl-x-4-map "p" global-map).
6916         Remove fullness slot from struct Lisp_Keymap, since hash tables
6917         are now reliable.
6918         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
6919
6920 2000-01-30  Martin Buchholz  <martin@xemacs.org>
6921
6922         * redisplay.c (init_redisplay): Fix small memory leak.
6923         * elhash.h:
6924         * elhash.c (pdump_reorganize_hash_table):
6925         Rename from reorganize_hash_table. Change prototype.
6926         Reuse the original memory for hentries.  Save 100k.
6927         * alloc.c (PDUMP_READ): new macro.
6928         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
6929         * alloc.c: No need to #ifndef before #undef.
6930
6931         * print.c: Allow debug_print() to print readably by modifying
6932         debug_print_readably.  Use consistent variable names.
6933
6934         * .dbxrc: Try to get things to work even if stopped in a function
6935         without source available by explicitly specifying source files.
6936 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6937
6938         * unexnt.c (_start): Removed bogus code which caused loading heap
6939         from differrent executable file.
6940         Removed bogus assignment to _fmode, which caused inconsistencies.
6941
6942 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6943
6944         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
6945         Have spawnve encapsulation regard DONT_ENCAPSULATE.
6946         Do not preliminary `#define signal sigset'.
6947
6948         * systime.h: Do not prototype environ on windows nt and cygwin,
6949         this conflicts with system header.
6950
6951         * syssignal.h: Use correct define for WINDOWSNT
6952
6953         * sysdep.h: Do not prototype environ on windows nt, this conflicts
6954         with system header.
6955
6956         * sysdep.c (near start of file): Fixed commentary and rearranged
6957         ifdefs in readable order.
6958         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
6959         (start_of_text):
6960         (end_of_text):
6961         (end_of_data): Do not compile in if using PDUMP.
6962
6963         * symsinit.h: Protptyped vars_of_nt().
6964
6965         * ntproc.c (windows9x_p): Added, instead of os_subtype.
6966         (find_child_console): Use it.
6967         (sys_kill): Use it.
6968
6969         * ntheap.h: Do not extern os_subtype.
6970
6971         * ntheap.c (cache_system_info): Do not cache unneeded:
6972         nt_major_version, nt_minor_version and os_subtype.
6973         (recreate_heap): Do not compile in when PDUMPing.
6974
6975         * nt.c (geteuid and friends): Use the new varibale
6976         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
6977         (init_user_info): Removed the above mentioned hackery.
6978         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
6979         stat has been fixed in the C runtime.
6980         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
6981
6982         * file-coding.c (struct file_coding_dump): Do not define
6983         ucs_to_mule_table in the struct if not MULE.
6984         (struct struct lrecord_description fcd_description_1): Do not dump
6985         the above.
6986
6987         * emacs.c (main_1): Call vars_of_nt().
6988         (right before Fdump_emacs_data): Don't need lastfile if using both
6989         portabe dumper and system malloc.
6990
6991         * alloc.c (Fmemory_limit): Conditionalized out.
6992         (pdump): Use OPEN_BINARY for the portable dump file.
6993         (pdump_load): Ditto.
6994
6995 2000-02-02  Mike Alexander  <mta@arbortext.com>
6996
6997         * nt.c (convert_time): Set tm_isdst before calling mktime and
6998         avoid calling it at all if the compiler supports 64 bit integers.
6999         Also initialize utc_base_ft before using it.
7000
7001 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
7002
7003         * frame.c (change_frame_size_1): Take f->internal_border_width
7004         into consideration when calculating the width of the frame.
7005
7006 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7007
7008         * window.c (frame_min_height):
7009         (frame_size_valid_p):
7010         (frame_pixsize_valid_p): Added.
7011         (check_frame_size): Generalized.
7012
7013         * window.h: Prototyped the above.
7014
7015         * lisp.h:
7016         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
7017         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
7018         Deleted Vwin32_* and Vbinary_process_* unused variables.
7019
7020         * device-msw.c (msprinter_init_device): Do not get printer font
7021         list; Added DEVMODE functions.
7022
7023         * frame-msw.c: Added lots of printer code.
7024
7025         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
7026         general.c.
7027
7028         * console-msw.h: Added more msprinter device private slots.
7029
7030 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7031
7032         * event-msw.c (key_needs_default_processing_p): Added.
7033         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
7034
7035 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7036
7037         * glyphs.c (image_instance_layout): Mark image instance as clean
7038         after layout.
7039         (glyph_dirty_p): Removed redundant function.
7040         (invalidate_glyph_geometry_maybe): Added.
7041         (update_glyph_cachel_data): Call it.
7042
7043         * glyphs.h: Prototyped it.
7044
7045         * redisplay.c (add_glyph_rune): Call it.
7046         (redisplay_window): Reset glyphs cachels when frame faces has
7047         changed, thus forcing recomputation of built-in border glyphs.
7048
7049 2000-01-30  Martin Buchholz  <martin@xemacs.org>
7050
7051         * Makefile.in.in: Make portable dumper and purify play well together.
7052         Add imperfect, but better than nothing, support for pdump.
7053         Remove xemacs.dmp when temacs is re-generated.
7054         Don't ignore errors when dumping xemacs.
7055
7056         * symbols.c (maybe_call_magic_handler): Remove one magic number.
7057
7058 2000-01-28  Andy Piper  <andy@xemacs.org>
7059
7060         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
7061         (setup_normal_frame): ditto.
7062         (setup_frame_without_minibuffer): ditto.
7063         (setup_minibuffer_frame): ditto.
7064         (delete_frame_internal): ditto.
7065         (Fmake_frame_invisible): ditto.
7066         (Ficonify_frame): ditto.
7067
7068         * window.h: change Fset_window_buffer signature.
7069
7070         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
7071         (Fset_window_buffer): allow recording of buffer if the window is
7072         the selected window.
7073         (window_loop): Use new Fset_window signature.
7074
7075 2000-01-23  Daniel Pittman  <daniel@danann.net>
7076
7077         * config.h.in: Added template for `HAVE_ATHENA_3D'
7078
7079 2000-01-29  Andy Piper  <andy@xemacs.org>
7080
7081         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
7082
7083         * gutter.c (output_gutter): Don't output if the window isn't live.
7084
7085 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7086
7087         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
7088         of 01/12/00: Moved SetFocus back here where it belongs.
7089
7090 2000-01-23  Andy Piper  <andy@xemacs.org>
7091
7092         * s/cygwin32.h: declare printer things.
7093
7094 2000-01-26  Andy Piper  <andy@xemacs.org>
7095
7096         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
7097         Alexander.
7098
7099 2000-01-24  Andy Piper  <andy@xemacs.org>
7100
7101         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
7102         (mswindows_button_instantiate): Make sure glyph is a pixmap.
7103
7104         * glyphs-widget.c (widget_instantiate): Avoid shadows.
7105
7106         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
7107
7108         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
7109
7110         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
7111         (mswindows_output_display_block): Avoid local shadows.
7112
7113         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
7114         (mswindows_enqueue_mouse_button_event): ditto.
7115         (mswindows_handle_gui_wm_command): remove declaration.
7116
7117         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
7118         warnings.
7119
7120         * console-msw.h: Avoid shadows.
7121         (mswindows_get_toolbar_button_text):
7122         (emacs_mswindows_create_stream_pair):
7123         (emacs_mswindows_delete_stream_pair):
7124         (mswindows_handle_toolbar_wm_command): declare.
7125
7126         * device-msw.c (build_syscolor_string): Avoid shadows.
7127
7128 2000-01-23  Andy Piper  <andy@xemacs.org>
7129
7130         * glyphs-widget.c (widget_instantiate): reverse the items for
7131         layouts so that children are in the expected order.
7132
7133 2000-01-28  Martin Buchholz  <martin@xemacs.org>
7134
7135         * ralloc.c: safe_bcopy ==> memmove
7136         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
7137         * s/msdos.h: Remove BCOPY macros.
7138         * insdel.c (gap_right): Remove BCOPY conditional code.
7139         * insdel.c (gap_left): Remove BCOPY conditional code.
7140         XEmacs demands a working ANSI C compiler - hence memmove.
7141
7142         * regex.c (regex_compile): Remove accidental use of trigraphs.
7143
7144 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7145
7146         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
7147         event timestamp.
7148
7149 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7150
7151         * event-msw.c (mswindows_drain_windows_queue): Added the
7152         parameter.
7153         (mswindows_need_event): Commented the call to
7154         mswindows_drain_windows_queue().
7155         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
7156         only.
7157
7158         * console-msw.h: Moved a few function prototypes here from
7159         event-msw.c.
7160
7161         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
7162         parameter from unsigned short to unsigned long.
7163         (Fmswindows_shell_execute): Added return value.
7164
7165 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
7166
7167         * sysdep.c (init_system_name):
7168           process-unix.c (unix_canonicalized_host_name):
7169         Don't call freeaddrinfo() if getaddrinfo() fails.
7170
7171         * process-unix.c (unix_open_unix_network_stream):
7172         Moved the code to get a port # into address loop.
7173
7174 2000-01-27  Martin Buchholz  <martin@xemacs.org>
7175
7176         * buffer.c (reinit_vars_of_buffer):
7177         The right place to initialize conversion_in_dynarr and
7178         conversion_out_dynarr.
7179
7180         * alloc.c (pdump): Use the real open() till sys_open() is functional.
7181
7182         * process-unix.c (unix_canonicalize_host_name): Muleize.
7183         (unix_open_network_stream): Muleize.
7184
7185         * buffer.h: Fix up prototypes for ralloc.c functions.
7186
7187 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
7188         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
7189         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
7190                 instead of gethostbyname()
7191         * process-unix.c: In unix_canonicalize_host_name() and
7192                 unix_open_network_stream(), add code to use getaddrinfo()
7193                 instead of gethostbyname().
7194
7195 2000-01-27  Daniel Pittman <daniel@danann.net>
7196
7197         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
7198         libs when built with flat Athena.
7199
7200 2000-01-27  Martin Buchholz  <martin@xemacs.org>
7201
7202         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
7203         Use coding standards for function prototypes.
7204
7205 2000-01-25  Martin Buchholz  <martin@xemacs.org>
7206
7207         * dialog-msw.c (push_lisp_string_as_unicode):
7208         * doc.c (unparesseuxify_doc_string):
7209         * dired.c (Fuser_name_completion_1):
7210         * dired.c (Fuser_name_all_completions):
7211         * dired.c (free_user_cache):
7212         * dired.c (user_name_completion):
7213         * console-x.c (get_display_arg_connection):
7214         * minibuf.c (clear_echo_area_internal):
7215         * minibuf.c (echo_area_append):
7216         * eldap.c (Fldap_open):
7217         * eldap.c (Fldap_search_internal):
7218         * frame-x.c (x_set_frame_text_value):
7219         * frame-x.c (x_set_frame_properties):
7220         * frame-x.c (x_create_widgets):
7221         * redisplay-tty.c (term_get_fkeys_1):
7222         * objects-x.c (x_parse_nearest_color):
7223         * objects-x.c (x_valid_color_name_p):
7224         * objects-x.c (x_initialize_font_instance):
7225         * objects-x.c (x_list_fonts):
7226         * objects-x.c (x_find_charset_font):
7227         * tooltalk.c (Fadd_tooltalk_message_arg):
7228         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
7229         * tooltalk.c (Fadd_tooltalk_pattern_arg):
7230         * process-unix.c (unix_create_process):
7231         * ntproc.c (sys_spawnve):
7232         * sound.c (Fplay_sound_file):
7233         * sound.c (Fplay_sound):
7234         * buffer.c (init_initial_directory):
7235         * buffer.c (init_buffer):
7236         * editfns.c (init_editfns):
7237         * editfns.c (Ftemp_directory):
7238         * editfns.c (Fuser_full_name):
7239         * editfns.c (uncache_home_directory):
7240         * editfns.c (get_home_directory):
7241         * editfns.c (Fuser_home_directory):
7242         * editfns.c (Fformat_time_string):
7243         * editfns.c (Fcurrent_time_string):
7244         * gui-x.c (button_item_to_widget_value):
7245         * database.c (Fopen_database):
7246         * event-Xt.c (x_to_emacs_keysym):
7247         * event-Xt.c (x_event_to_emacs_event):
7248         * event-Xt.c (describe_event_window):
7249         * event-msw.c (mswindows_wnd_proc):
7250         * glyphs-eimage.c (jpeg_instantiate):
7251         * glyphs-eimage.c (gif_instantiate):
7252         * glyphs-eimage.c (png_instantiate):
7253         * glyphs-eimage.c (tiff_instantiate):
7254         * glyphs-x.c (xbm_instantiate_1):
7255         * glyphs-x.c (x_xbm_instantiate):
7256         * glyphs-x.c (x_xface_instantiate):
7257         * glyphs-x.c (autodetect_instantiate):
7258         * glyphs-x.c (cursor_font_instantiate):
7259         * glyphs-x.c (x_widget_instantiate):
7260         * glyphs-x.c (x_widget_set_property):
7261         * glyphs-x.c (x_widget_property):
7262         * glyphs-x.c (BUILD_GLYPH_INST):
7263         * print.c (write_string_to_stdio_stream):
7264         * print.c (output_string):
7265         * print.c (Falternate_debugging_output):
7266         * print.c (Fexternal_debugging_output):
7267         * glyphs-msw.c (extract_xpm_color_names):
7268         * glyphs-msw.c (mswindows_xpm_instantiate):
7269         * glyphs-msw.c (bmp_instantiate):
7270         * glyphs-msw.c (resource_name_to_resource):
7271         * glyphs-msw.c (mswindows_resource_instantiate):
7272         * glyphs-msw.c (xbm_instantiate_1):
7273         * glyphs-msw.c (mswindows_xbm_instantiate):
7274         * glyphs-msw.c (mswindows_xface_instantiate):
7275         * glyphs-msw.c (mswindows_widget_instantiate):
7276         * glyphs-msw.c (add_tree_item):
7277         * glyphs-msw.c (add_tab_item):
7278         * glyphs-msw.c (mswindows_combo_box_instantiate):
7279         * glyphs-msw.c (mswindows_widget_property):
7280         * glyphs-msw.c (mswindows_combo_box_property):
7281         * glyphs-msw.c (mswindows_widget_set_property):
7282         * console.c (stuff_buffered_input):
7283         * objects-msw.c (mswindows_initialize_color_instance):
7284         * objects-msw.c (mswindows_valid_color_name_p):
7285         * objects-msw.c (mswindows_list_fonts):
7286         * objects-msw.c (mswindows_font_instance_truename):
7287         * bytecode.c (optimize_compiled_function):
7288         * select-x.c (symbol_to_x_atom):
7289         * select-x.c (x_atom_to_symbol):
7290         * select-x.c (hack_motif_clipboard_selection):
7291         * select-x.c (selection_data_to_lisp_data):
7292         * select-x.c (lisp_data_to_selection_data):
7293         * select-x.c (Fx_get_cutbuffer_internal):
7294         * select-x.c (Fx_store_cutbuffer_internal):
7295         * buffer.h (TO_EXTERNAL_FORMAT): New function.
7296         * buffer.h (TO_INTERNAL_FORMAT): New function.
7297         * emacs.c (make_arg_list_1):
7298         * emacs.c (make_argc_argv):
7299         * emacs.c (main_1):
7300         * emacs.c (Fdump_emacs):
7301         * emacs.c (split_string_by_emchar_1):
7302         * file-coding.h:
7303         * lisp.h:
7304         * lstream.h:
7305         * symsinit.h:
7306         * device-x.c (x_init_device):
7307         * device-x.c (Fx_valid_keysym_name_p):
7308         * device-x.c (Fx_get_font_path):
7309         * device-x.c (Fx_set_font_path):
7310         * glyphs.c (bitmap_to_lisp_data):
7311         * glyphs.c (pixmap_to_lisp_data):
7312         * alloc.c (make_ext_string): Use coding system arguments.  Update
7313         all callers.
7314         * alloc.c (build_string):
7315         * callproc.c (child_setup):
7316         * callproc.c (init_callproc):
7317         * fileio.c (lisp_strerror):
7318         * fileio.c (directory_file_name):
7319         * fileio.c (Fexpand_file_name):
7320         * fileio.c (Ffile_truename):
7321         * fileio.c (Fsysnetunam):
7322         * fileio.c (Fdo_auto_save):
7323         * sysdep.c (sys_readdir):
7324         * tests.c: New file.  Allow adding C tests.
7325         Replace GET_* macros with a more comprehensible and flexible
7326         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
7327         Modify all calls.
7328         Any coding system can be used to do format conversion.
7329         Eliminate enum external_data_format.
7330         Eliminate convert_to_external_format.
7331         Eliminate convert_to_internal_format.
7332         Make sure file-name, keyboard, terminal, and ctext are always
7333         defined as coding systems or aliases.  Make
7334         file-name-coding-system, terminal-coding-system, and
7335         keyboard-coding-system magical variables that are equivalent to
7336         defining the corresponding coding system aliases.
7337
7338         * file-coding.c (Fcoding_system_canonical_name_p): New function.
7339         * file-coding.c (Fcoding_system_alias_p): New function.
7340         * file-coding.c (Fcoding_system_aliasee): New function.
7341         * file-coding.c (append_suffix_to_symbol): New function.
7342         * file-coding.c (dangling_coding_system_alias_p): New function.
7343         * file-coding.c (Ffind_coding_system):
7344         * file-coding.c (Fcopy_coding_system):
7345         * file-coding.c (encode_coding_no_conversion):
7346         * file-coding.c (syms_of_file_coding):
7347         * file-coding.c (vars_of_file_coding):
7348         Rewrite coding system alias code.
7349         Allow nested aliases, like symbolic links.
7350         Allow redefinition of coding system aliases.
7351         Prevent existence of dangling coding system aliases.
7352
7353         * dired.c (Fuser_name_completion_1):
7354         * dired.c (Fuser_name_all_completions):
7355         A crash would happen if user did QUIT in the middle of building
7356         user_name_cache.  Remove redundant code in mainline and unwind_protect.
7357
7358         * lisp.h:
7359         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
7360
7361         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
7362         an unsigned char *.  Update all callers.
7363
7364 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7365
7366         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
7367
7368 2000-01-25  Martin Buchholz  <martin@xemacs.org>
7369
7370         * elhash.c (hentry_description): Use more portable definition.
7371         (resize_hash_table): Initialize new hentries using
7372         xnew_array_and_zero, thereby simplifying the code.
7373
7374         * mule-charset.c (make_charset): Make sure entire object is
7375         intialized, to avoid Purify warnings.
7376
7377         * alloc.c (resize_string): Fix unlikely crash with big strings.
7378
7379 2000-01-24  Martin Buchholz  <martin@xemacs.org>
7380
7381         * realpath.c (xrealpath):
7382         Don't call getwd().
7383
7384 2000-01-25  Martin Buchholz  <martin@xemacs.org>
7385
7386         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
7387
7388 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
7389
7390         * unexelfsgi.c (unexec): Change the way we decide which segment
7391         should be extended.
7392
7393         Assumption that .bss section should be outside the PT_LOADable
7394         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
7395         it's present) is inside the 'data' segment. This would fail the
7396         test which was used to find a segment to grow and cover new
7397         heap. Instead of this assumption, I created another one - on IRIX
7398         the segment to grow should start below .bss and it's address
7399         should extent above the end of .bss. Once this segment is
7400         identified, it's grown to accommodate the new heap and new
7401         zero-length .bss section is added at the end of .data2.
7402
7403 2000-01-25  Martin Buchholz  <martin@xemacs.org>
7404
7405         * eval.c (Feval): Wrong number of arguments should use original
7406         function, not the indirect_function version of it.
7407
7408 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7409
7410         * glyphs-x.c (x_button_instantiate): Don't add image if
7411         it is not a pixmap.
7412         (x_locate_pixmap_file): Call Fexpand_file_name when file name
7413         is relative.
7414
7415 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7416
7417         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
7418         declaration.
7419         (DEFVAR_INT_MAGIC): Ditto.
7420         (DEFVAR_BOOL_MAGIC): Ditto.
7421         * glyphs.h: Reindent backslash.
7422
7423 2000-01-24  Martin Buchholz  <martin@xemacs.org>
7424
7425         * glyphs-widget.c (layout_query_geometry):
7426         (layout_layout): Use correct types for gheight, gwidth.
7427
7428 2000-01-24  Martin Buchholz  <martin@xemacs.org>
7429
7430         * EmacsManager.c (QueryGeometry): Purified.
7431
7432 2000-01-23  Martin Buchholz  <martin@xemacs.org>
7433
7434         * alloc.c (make_float): Make sure entire object is intialized, to
7435         avoid Purify warnings.
7436         (pdump_register_sub): Remove useless assignment.
7437         (pdump): Use xmalloc, not malloc.
7438         (pdump_load): Use xmalloc, not malloc.
7439
7440 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7441
7442         * callproc.c:
7443         * dired-msw.c:
7444         * fileio.c:
7445         * process-nt.c:
7446         * redisplay-msw.c:
7447         * sysdep.c: Removed redundant #include <windows.h>
7448
7449 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7450
7451         * frame.c (delete_frame_internal): Do not delete device when its
7452         implementation so declares.
7453         (delete_frame_internal): Set device selected frame to nil when
7454         last frame goes away.
7455
7456         * device-msw.c (msprinter_device_system_metrics): Implemented.
7457         (mswindows_device_system_metrics): Added 'device-dpi property.
7458
7459         * device.c: (Fdevice_printer_p): Added.
7460         Added 'offset-workspace device metric.
7461
7462         * console.h (device_metrics): Declared DM_offset_workspace.
7463
7464 2000-01-23  Martin Buchholz  <martin@xemacs.org>
7465
7466         * fileio.c (Ffile_truename): Remove pointless and confusing
7467         initialization of elen.
7468
7469         * glyphs-widget.c: Compiler warning fixes.
7470
7471 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7472
7473         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
7474         instead of a Lisp_Object as argument to make it consistent with
7475         the other LIVE_P macros.
7476         (CHECK_LIVE_PROCESS): New macro.
7477
7478         * process.c: Declare Qprocess_live_p.
7479         (Fprocess_live_p): New function.
7480         (create_process): Use PROCESS_LIVE_P.
7481         (read_process_output): Ditto.
7482         (set_process_filter): Ditto.
7483         (Fdelete_process): Ditto.
7484         (kill_buffer_processes): Ditto
7485         (process_send_signal): Use CHECK_LIVE_PROCESS.
7486         (Fprocess_input_coding_system): Check whether process is still
7487         alive (fix PR#1061).
7488         (Fprocess_output_coding_system): Ditto.
7489         (Fprocess_coding_system): Ditto.
7490         (Fset_process_input_coding_system): Ditto.
7491         (Fset_process_output_coding_system): Ditto.
7492
7493 2000-01-23  Andy Piper  <andy@xemacs.org>
7494
7495         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
7496         layout and widget.
7497
7498         * glyphs.c (mark_image_instance): take into account changed
7499         image_instance format.
7500         (image_instance_equal): ditto.
7501         (image_instance_hash): ditto.
7502
7503         * glyphs-widget.c (widget_instantiate): Incorporate layout
7504         instantiation here. Delay layout of the layout until later.
7505         (layout_instantiate): deleted.
7506         (layout_query_geometry): new function. get the geometry of a
7507         layout.
7508         (layout_layout): layout a layout dynamically.
7509         (image_instantiator_widget): New function - splitting up
7510         image_instantiator_format_create_glyphs_widget for netwinder
7511         compilation.
7512         (image_instantiator_buttons):
7513         (image_instantiator_edit_fields):
7514         (image_instantiator_combo_box):
7515         (image_instantiator_scrollbar):
7516         (image_instantiator_progress_guage):
7517         (image_instantiator_tree_view):
7518         (image_instantiator_tab_control):
7519         (image_instantiator_labels):
7520         (image_instantiator_layout): ditto.
7521         (image_instantiator_format_create_glyphs_widget): Call preceeding
7522         functions.
7523
7524 2000-01-22  Martin Buchholz  <martin@xemacs.org>
7525
7526         * process.c (Fset_process_coding_system):
7527         * device-x.c (Fx_keysym_hash_table):
7528         Docstring fixes.
7529
7530         * lstream.c (Lstream_write): Return documented value, not 0.
7531
7532         * fileio.c (directory_file_name):
7533         (Fsubstitute_in_file_name):
7534         (Fsubstitute_insert_file_contents_internal):
7535         (Fwrite_region_internal):
7536         * emacs.c:
7537         * sysdep.c:
7538         * getloadavg.c:
7539         * systty.h:
7540         Remove vestigial APOLLO-conditional code.
7541
7542 2000-01-21  Martin Buchholz  <martin@xemacs.org>
7543
7544         * getpagesize.h: Add guard macros.
7545         * libsst.h: Add guard macros.
7546         * libst.h: Add guard macros.
7547         * line-number.h: Add guard macros.
7548         * ndir.h: Add guard macros.
7549         * sysfloat.h: Add guard macros.
7550         * sysfile.h: Add guard macros.
7551         * sysproc.h: Add guard macros.
7552         * syswait.h: Add guard macros.
7553         * xintrinsic.h: Add guard macros.
7554         * xintrinsicp.h: Add guard macros.
7555         * xmmanager.h: Add guard macros.
7556         * xmmanagerp.h: Add guard macros.
7557         * xmprimitive.h: Add guard macros.
7558         * xmu.h: Add guard macros.
7559         * gpmevent.h: Add copyright statement. Add guard macros.
7560         * miscplay.h: Add guard macros.
7561         * *.h: Use consistent C-standards-approved guard macro names.
7562
7563         * opaque.c (make_opaque): Switch parameter order.
7564         * opaque.h (make_opaque): Switch parameter order.
7565         Update all callers.
7566         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
7567
7568         * config.h.in (type_checking_assert): Added.
7569         (bufpos_checking_assert): Added.
7570
7571 2000-01-21  Martin Buchholz  <martin@xemacs.org>
7572
7573         * alloc.c: Harmless pdump changes.
7574         - Use countof().
7575         - spell alignment correctly.
7576         * sysdep.c: Use countof()
7577
7578 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7579
7580         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
7581         initially_selected_for_input() console method, default to 0.
7582         (semi_canonicalize_console_connection): Try to delegate to
7583         canonicalize_console_connection if no such console method.
7584         (canonicalize_console_connection): Vice versa.
7585         (print_console): Do not print nil connection.
7586
7587         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
7588         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
7589         (XDEVIMPF_FRAMELESS_OK): Added.
7590         (CONSOLE_INHERITS_METHOD): Added.
7591
7592         * console-msw.c (mswindows_canonicalize_console_connection):
7593         Added.
7594         (mswindows_canonicalize_device_connection): Added.
7595
7596         * console-msw.h (struct msprinter_device): Added this struct and
7597         accessor macros.
7598         (mswindows_device): Made fontlist a lisp object.
7599
7600         * device.c (semi_canonicalize_device_connection):  Try to delegate
7601         to canonicalize_device_connection if no such console method.
7602         (canonicalize_device_connection): Vice versa.
7603         (print_device): Do not print nil connection.
7604
7605         * device-msw.c (mswindows_init_device): Call InitCommonControls
7606         when have widgets.
7607         (mswindows_delete_device): Removed fontlist deallocation.
7608         (mswindows_mark_device): Added.
7609
7610         * events.c (event_equal): Added abort() at unreached code.
7611         (event_hash): Ditto.
7612
7613         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
7614         fallback tags of Windows devices.
7615
7616         * general.c (syms_of_general): Initialized Qmsprinter.
7617
7618         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
7619         of fallback tags of Windows devices.
7620
7621         * lisp.h: Declared Qmsprinter.
7622
7623         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
7624         of strings.
7625         (mswindows_list_fonts): Ditto.
7626         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
7627         that it can be used by both mswindows and msprinter devices.
7628         (initialize_font_instance): Added.
7629         (mswindows_initialize_font_instance): Use it.
7630         (msprinter_initialize_font_instance): Added.
7631
7632         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
7633         and implementation flags check.
7634         (redisplay_without_hooks): Changed the call to the above.
7635         (Fredraw_device): Ditto.
7636         (Fredisplay_device): Ditto.
7637
7638         * redisplay-msw.c (get_frame_dc): Implemented.
7639         (get_frame_compdc): Implemented.
7640         (many functions): Use the two functions above to get device
7641         contexts, ether for a window or a printer.
7642
7643 2000-01-21  Olivier Galibert  <galibert@pobox.com>
7644
7645         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
7646         initialization here.
7647         (init_symbols_once_early): Call it.
7648         * emacs.c (main_1): Call it.
7649         * symsinit.h: Declare it.
7650
7651 2000-01-19  Olivier Galibert  <galibert@pobox.com>
7652
7653         * alloc.c: Use a lrecord_header * in the backtrace instead of a
7654         Lisp_Object.
7655         (pdump_backtrace): Ditto.
7656         (pdump_register_object): Ditto.  Cleanup use of the pointers.
7657         (pdump_get_entry): Abort if trying to register a null pointer.
7658         (pdump_dump_data): Cleanup types when relocating.
7659         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
7660         (pdump_dump_rtables): Remove bad casts.
7661         (pdump_load): Cleanup relocation w.r.t union type.  Use a
7662         Lisp_Object instead of a EMACS_INT for the hashtable
7663         reorganization.
7664
7665 2000-01-20  Martin Buchholz  <martin@xemacs.org>
7666
7667         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
7668
7669         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
7670
7671         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
7672
7673         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
7674
7675 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7676
7677         * faces.h (FACE_STRIKETHRU_P): Added.
7678
7679         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
7680         of font variants.
7681
7682         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
7683         (mswindows_set_dc_font): New function, aware of font variants,
7684         separated from mswindows_update_dc.
7685
7686         * objects-msw.h (struct mswindows_font_instance_data): Added
7687         definition.
7688
7689         * objects-msw.c (mswindows_finalize_font_instance): Delete all
7690         cached fonts and the data structure.
7691         (mswindows_initialize_font_instance): Added creation of font data
7692         structure.
7693         (mswindows_print_font_instance): Print at least something.
7694         (mswindows_create_font_variant): Implemented.
7695         (mswindows_get_hfont): Implemented.
7696
7697 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
7698
7699         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
7700         prototyping problem with msvc.
7701
7702         * emacs.c (main_1): added syms_of_gui_mswindows() call
7703
7704         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
7705         syms_of_gui_mswindows() function
7706
7707         * symsinit.h: added the prototype for syms_of_gui_mswindows()
7708
7709 2000-01-18  Martin Buchholz <martin@xemacs.org>
7710
7711         * XEmacs 21.2.27 is released.
7712
7713 2000-01-18  Martin Buchholz  <martin@xemacs.org>
7714
7715         * glyphs-eimage.c (struct tiff_error_struct):
7716         (tiff_error_func):
7717         (tiff_warning_func):
7718         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
7719
7720         * unexmips.c:
7721         * unexhp9k3.c:
7722         * unexfreebsd.c:
7723         * unexec.c: Remove vestigial Lucid C code.
7724         * unexalpha.c:
7725         * unexaix.c:
7726         * termcap.c:
7727         * libsst.c: Ansify.
7728         Remove declarations of errno and strerror().
7729
7730         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
7731
7732         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
7733
7734 2000-01-16  Martin Buchholz  <martin@xemacs.org>
7735
7736         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
7737         Optimize.
7738
7739 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
7740
7741         * md5.c:
7742         * file-coding.c:
7743         * file-coding.h:
7744         Change enum eol_type to eol_type_t.
7745
7746 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
7747
7748         * gui.c (get_gui_callback): Check cons before accessing car.
7749
7750 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
7751
7752         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
7753         (XSETSPECIFIER_TYPE): Ditto.
7754
7755 2000-01-17  Didier Verna  <didier@xemacs.org>
7756
7757         * redisplay.c (generate_fstring_runes): compute string size in
7758         characters, not bytes.
7759
7760 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
7761
7762         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
7763
7764 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
7765
7766         * print.c (print_error_message): Call print_prepare().
7767
7768 2000-01-14  Martin Buchholz  <martin@xemacs.org>
7769
7770         * .dbxrc: Renamed from dbxrc.
7771
7772         * events.c (event_to_character):
7773         Use `assert (foo)' instead of `if (!foo) abort()'
7774
7775         * .gdbinit (xtype): Add documentation.
7776         * .gdbinit (check-temacs): New function.
7777         * .gdbinit (check-xemacs): New function.
7778         * dbxrc (check-xemacs): New function.
7779         * dbxrc (check-xemacs): New function.
7780
7781 2000-01-14  Andy Piper  <andy@xemacs.org>
7782
7783         * glyphs-widget.c (widget_query_geometry): Make sure that we
7784         calculate default dimensions correctly.
7785
7786 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7787
7788         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
7789
7790         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
7791         pdump_wire'd variable.
7792
7793         * emacs.c: (main_1): Conditionalized calls to
7794         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
7795
7796 2000-01-13  Martin Buchholz  <martin@xemacs.org>
7797
7798         * window.c (Fset_window_configuration):
7799         * sysdep.c (_start):
7800         * input-method-motif.c (res):
7801         * event-Xt.c (Xt_process_to_emacs_event):
7802         Simple compiler warning fixes.
7803
7804         * bytecode.c (funcall_compiled_function): Use the original
7805         function symbol on the backtrace list in preference to the
7806         compiled_function object in error messages.
7807
7808 2000-01-13  Andy Piper  <andy@xemacs.org>
7809
7810         * glyphs-x.c (update_widget_face): Make sure we update the widget
7811         background as well as foreground.
7812
7813 2000-01-13  Andy Piper  <andy@xemacs.org>
7814
7815         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
7816         fields to subwindow.
7817         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
7818         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
7819         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
7820         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
7821
7822         * glyphs-widget.c (check_valid_tab_orientation): new function.
7823         (initialize_widget_image_instance): zero orientation and
7824         justification.
7825         (widget_instantiate): pick up orientation.
7826         (tab_control_query_geometry): return appropriate values for
7827         vertical tabs.
7828
7829         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
7830         appropriate creation flags for left, right and bottom tabs.
7831
7832         * s/cygwin32.h: add tab definitions.
7833
7834 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7835
7836         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
7837         frame upon hiding a subwindow.
7838         (mswindows_button_instantiate): Changed the push button style to
7839         BS_PUSHBUTTON.
7840         (mswindows_button_instantiate): Removed button BS_NOTIFY
7841         style.
7842         (mswindows_button_instantiate): Removed redundant check for
7843         a disabled gui item.
7844         (mswindows_button_instantiate): Made use of WS_TABSTOP
7845         consistent: "operable" controls (edit, button, tree, scroll) have
7846         this style, "display-only" ones (static, progress gauge) do
7847         not. This style is currently ignored by XEmacs though. Also,
7848         removed the WS_EX_CONTROLPARENT style - it is not for children,
7849         it is for their parents!
7850         (mswindows_edit_field_instantiate): Ditto.
7851         (mswindows_progress_gauge_instantiate): Ditto.
7852         (mswindows_tree_view_instantiate): Ditto.
7853         (mswindows_tab_control_instantiate): Ditto.
7854         (mswindows_scrollbar_instantiate): Ditto.
7855         (mswindows_combo_box_instantiate): Ditto.
7856         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
7857         style to the "clip" window.
7858         (mswindows_button_instantiate): Removed compilation warning by
7859         equally typing terms of the ?: operator.
7860
7861 2000-01-12  Didier Verna  <didier@xemacs.org>
7862
7863         * redisplay.c (generate_fstring_runes): new parameter holding the
7864         last modeline-format extent.
7865         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
7866         extent, fill the glyph block with it.
7867         (generate_fstring_runes): handle these parameters.
7868         (generate_formatted_string_db): ditto.
7869
7870         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
7871         glyphs'extents in the modeline.
7872
7873 1999-01-11  Mike Woolley  <mike@bulsara.com>
7874
7875         * ntheap.c: Reduced the reserved heap space from 1Gb down to
7876         256Mb, as a workaround for the non-starting problem many people
7877         have experienced.
7878
7879 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
7880
7881         * console-tty.c (Fset_console_tty_output_coding_system):
7882         Force redrawing tty frame.
7883
7884 2000-01-10  Didier Verna  <didier@xemacs.org>
7885
7886         * redisplay.c (generate_fstring_runes): fix size computation bug.
7887
7888 2000-01-09  William M. Perry <wmperry@aventail.com>
7889
7890         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
7891
7892 2000-01-09  Andy Piper  <andy@xemacs.org>
7893
7894         * glyphs-msw.c: index -> i to avoid shadows.
7895         (xbm_create_bitmap_from_data): make static.
7896         (check_valid_string_or_int): deleted.
7897         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
7898
7899         * glyphs-x.c (x_update_subwindow): remove unused args.
7900
7901         * glyphs.c (glyph_image_instance): return the thing. Don't set the
7902         back pointer - this is done in allocate_image_instance.
7903         (query_string_font): return Qnil to make the compiler happy.
7904         (unmap_subwindow): set to ~0 to make the compiler happy.
7905         (glyph_query_geometry): comment out until used.
7906         (glyph_layout): ditto.
7907
7908 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
7909
7910         * insdel.c (signal_after_change): Remove extraneous unbind_to().