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