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