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