3126aa14500e2e3778e2fdf4fd11f4fdf6a71711
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
4         (map_over_uint16_byte_table): Likewise.
5         (map_over_byte_table): Likewise.
6         (map_char_table): Modify for `map_over_uint8_byte_table',
7         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
8         UTF-2000.
9
10 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
11
12         * chartab.c (struct map_char_table_for_charset_arg): New
13         structure.
14         (map_char_table_for_charset_fun): New function.
15         (map_char_table): Use `map_char_table' for encoding_table of
16         `range->charset'.
17
18 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
19
20         * chartab.c (map_char_table): Check a character is found in
21         range->charset instead of non default value is defined in
22         char-table when range is CHARTAB_RANGE_ROW.
23
24 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
25
26         * chartab.c (map_char_id_table): Deleted.
27         (Fmap_char_attribute): Use `map_char_table' instead of
28         `map_char_id_table'.
29
30 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
31
32         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
33         UTF-2000.
34         (update_syntax_table): Deleted in XEmacs UTF-2000.
35
36         * syntax.c (find_defun_start): Use `syntax_table' instead of
37         `mirror_syntax_table' in XEmacs UTF-2000.
38         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
39         UTF-2000.
40         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
41         XEmacs UTF-2000.
42         (Fmatching_paren): Likewise.
43         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
44         in XEmacs UTF-2000.
45         (find_start_of_comment): Likewise.
46         (find_end_of_comment): Likewise.
47         (Fforward_comment): Likewise.
48         (scan_lists): Likewise.
49         (char_quoted): Likewise.
50         (Fbackward_prefix_chars): Likewise.
51         (scan_sexps_forward): Likewise.
52         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
53         (update_syntax_table): Likewise.
54
55         * search.c (skip_chars): Use `syntax_table' instead of
56         `mirror_syntax_table' in XEmacs UTF-2000.
57         (wordify): Likewise.
58         (Freplace_match): Likewise.
59
60         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
61         `mirror_syntax_table' in XEmacs UTF-2000.
62         (WORDCHAR_P_UNSAFE): Likewise.
63         (re_match_2_internal): Likewise.
64
65         * font-lock.c (find_context): Use `buf->syntax_table' instead of
66         `buf->mirror_syntax_table' in XEmacs UTF-2000.
67
68         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
69         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
70
71         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
72         XEmacs UTF-2000.
73
74         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
75         UTF-2000.
76         (print_char_table): Print `default_value' in XEmacs UTF-2000.
77         (char_table_description): Delete `mirror_table' in XEmacs
78         UTF-2000.
79         (fill_char_table): Don't call `update_syntax_table' in XEmacs
80         UTF-2000.
81         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
82         (Fcopy_char_table): Likewise.
83         (put_char_table): Don't call `update_syntax_table' in XEmacs
84         UTF-2000.
85
86         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
87         `buf->mirror_syntax_table' in XEmacs UTF-2000.
88         (casify_region_internal): Likewise.
89
90         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
91
92         * buffer.c (common_init_complex_vars_of_buffer): Don't use
93         `mirror_syntax_table' in XEmacs UTF-2000.
94
95         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
96         `buf->mirror_syntax_table' in XEmacs UTF-2000.
97         (Fexpand_abbrev): Likewise.
98
99 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
100
101         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
102
103 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
106         (map_over_uint16_byte_table): Likewise.
107         (map_over_byte_table): Likewise.
108         (get_char_id_table): Refer `cit->default_value'.
109         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
110         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
111         of character-id ranges.
112         (mark_char_table): Mark `ct->default_value'.
113         (char_table_description): Add `default_value'.
114         (fill_char_table): Use `default_value'.
115         (decode_char_table_range): Decode `nil' as
116         `CHARTAB_RANGE_DEFAULT'.
117         (get_char_id_table): Refer `cit->default_value'.
118         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
119         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
120         temporary hack; check value of char-table is bound or not.
121         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
122
123         * chartab.h (struct Lisp_Char_Table): Add new member
124         `default_value' in XEmacs UTF-2000.
125         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
126         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
127         UTF-2000.
128
129 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
130
131         * chartab.h (Lisp_Char_ID_Table): Deleted.
132
133         * chartab.c (char_table_description): Fix typo.
134         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
135         `Lisp_Char_ID_Table'.
136
137 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
138
139         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
140         `CHAR_ID_TABLE_P'.
141
142         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
143         `CHAR_ID_TABLE_P'.
144
145         * chartab.h (XCHAR_ID_TABLE): Deleted.
146         (XSETCHAR_ID_TABLE): Deleted.
147         (CHAR_ID_TABLE_P): Deleted.
148
149         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
150         `CHAR_ID_TABLE_P'.
151         (Fget_composite_char): Likewise.
152         (put_char_table): Likewise.
153         (add_char_attribute_alist_mapper): Fixed.
154         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
155         `CHAR_ID_TABLE_P'.
156         (Fget_char_attribute): Likewise.
157         (Fget_char_attribute): Likewise.
158         (Fmap_char_attribute): Likewise.
159
160         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
161         `CHAR_ID_TABLE_P'.
162         (encode_char_1): Likewise.
163
164 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
165
166         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
167         `XCHAR_ID_TABLE'.
168
169         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
170         instead of `XCHAR_ID_TABLE'.
171         (remove_char_ccs): Likewise.
172
173         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
174         `XCHAR_ID_TABLE'.
175         (Fget_composite_char): Likewise.
176         (Fchar_variants): Likewise.
177         (put_char_table): Likewise.
178         (add_char_attribute_alist_mapper): Likewise.
179         (Fchar_attribute_alist): Likewise.
180         (Fget_char_attribute): Likewise.
181         (Fput_char_attribute): Likewise.
182         (Fmap_char_attribute): Likewise.
183         (Fmap_char_attribute): Likewise.
184
185         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
186         `XCHAR_ID_TABLE'.
187         (encode_char_1): Likewise.
188
189 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
190
191         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
192         `Lisp_Char_ID_Table'.
193         (mark_char_id_table): Deleted.
194         (print_char_id_table): Likewise.
195         (char_id_table_equal): Likewise.
196         (char_id_table_hash): Likewise.
197         (char_id_table_description): Likewise.
198         (char_id_table): Likewise.
199         (make_char_id_table): Use `Fmake_char_table' and
200         `fill_char_table'.
201         (get_char_id_table): Use `Lisp_Char_Table' instead of
202         `Lisp_Char_ID_Table'.
203         (put_char_id_table): Likewise.
204         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
205         `XCHAR_ID_TABLE'.
206         (Fremove_char_attribute): Likewise.
207         (syms_of_chartab): Don't define type `char-id-table'.
208
209         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
210         (char_id_table): Likewise.
211         (GC_CHAR_ID_TABLE_P): Likewise.
212         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
213         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
214         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
215         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
216         (get_char_id_table): Use `Lisp_Char_Table' instead of
217         `Lisp_Char_ID_Table'.
218         (put_char_id_table_0): Likewise.
219         (put_char_id_table): Likewise.
220
221 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
222
223         * chartab.h: Lisp_Byte_Table related codes are moved from
224         chartab.h.
225
226         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
227
228 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
229
230         * chartab.h: Don't include "chartab.h".
231         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
232         (Lisp_Char_ID_Table): Likewise.
233         (char_id_table): Likewise.
234         (XCHAR_ID_TABLE): Likewise.
235         (XSETCHAR_ID_TABLE): Likewise.
236         (CHAR_ID_TABLE_P): Likewise.
237         (GC_CHAR_ID_TABLE_P): Likewise.
238         (get_char_id_table): Likewise.
239
240         * char-ucs.h: Include "chartab.h".
241         (struct Lisp_Char_ID_Table): Moved to chartab.h.
242         (Lisp_Char_ID_Table): Likewise.
243         (char_id_table): Likewise.
244         (XCHAR_ID_TABLE): Likewise.
245         (XSETCHAR_ID_TABLE): Likewise.
246         (CHAR_ID_TABLE_P): Likewise.
247         (GC_CHAR_ID_TABLE_P): Likewise.
248         (get_char_id_table): Likewise.
249
250 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
251
252         * chartab.c (copy_uint8_byte_table): New function.
253         (copy_uint16_byte_table): New function.
254         (copy_byte_table): New function.
255         (map_over_uint8_byte_table): Modify to avoid huge numbers of
256         characters to call.
257         (map_over_uint16_byte_table): Likewise.
258         (map_over_byte_table): Likewise.
259         (get_byte_table): Move prototype to chartab.h.
260         (put_byte_table): Likewise.
261         (put_char_id_table_0): Moved to chartab.h.
262         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
263         (char_table_entry_equal): Likewise.
264         (char_table_entry_hash): Likewise.
265         (char_table_entry_description): Likewise.
266         (char_table_entry): Likewise.
267         (make_char_table_entry): Likewise.
268         (copy_char_table_entry): Likewise.
269         (get_non_ascii_char_table_value): Likewise.
270         (map_over_charset_ascii): Likewise.
271         (map_over_charset_control_1): Likewise.
272         (map_over_charset_row): Likewise.
273         (map_over_other_charset): Likewise.
274         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
275         (print_char_table): Likewise.
276         (char_table_equal): Likewise.
277         (char_table_hash): Likewise.
278         (char_table_description): Likewise.
279         (fill_char_table): Likewise.
280         (Fcopy_char_table): Likewise.
281         (get_char_table): Likewise.
282         (Fget_range_char_table): Likewise.
283         (put_char_table): Likewise.
284         (map_char_table): Likewise.
285         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
286         UTF-2000.
287
288 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
289
290         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
291         `Vauto_fill_chars' in XEmacs UTF-2000.
292
293         * chartab.h (get_byte_table): New prototype [moved from
294         chartab.c].
295         (put_byte_table): Likewise [moved from chartab.c].
296         (put_char_id_table_0): New inline function [moved from chartab.c].
297         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
298         (Lisp_Char_Table_Entry): Likewise.
299         (char_table_entry): Likewise.
300         (XCHAR_TABLE_ENTRY): Likewise.
301         (XSETCHAR_TABLE_ENTRY): Likewise.
302         (CHAR_TABLE_ENTRYP): Likewise.
303         (CHECK_CHAR_TABLE_ENTRY): Likewise.
304         (NUM_ASCII_CHARS): Likewise.
305         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
306         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
307
308 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
309
310         * chartab.c (get_char_id_table): Change interface.
311         (put_char_id_table_0): New function.
312         (put_char_id_table): Change interface; new implementation.
313         (Fget_composite_char): Modify for interface change of
314         `get_char_id_table'.
315         (Fchar_variants): Likewise.
316         (add_char_attribute_alist_mapper): Likewise.
317         (Fchar_attribute_alist): Likewise.
318         (Fget_char_attribute): Likewise.
319         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
320         as same as character as the first argument like `put-char-table';
321         modify for interface change of `put_char_id_table'.
322         (Fremove_char_attribute): Modify for interface change of
323         `put_char_id_table'.
324
325 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
326
327         * text-coding.c: Sync up with XEmacs 21.2.41.
328         (COMPOSE_ADD_CHAR): Modify for interface change of
329         `get_char_id_table'.
330
331         * mule-charset.c (put_char_ccs_code_point): Modify for interface
332         change of `put_char_id_table'.
333         (remove_char_ccs): Likewise.
334
335         * chartab.h (put_char_id_table): Change interface.
336
337         * char-ucs.h (get_char_id_table): Change interface.
338         (charset_code_point): Modify for interface change of
339         `get_char_id_table'.
340         (encode_char_1): Likewise.
341
342 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
343
344         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
345         argument `ccs'.
346         (map_over_uint16_byte_table): Likewise.
347         (map_over_byte_table): Likewise.
348         (map_char_id_table): Add new argument `range' like
349         `map_char_table'.
350         (Fmap_char_attribute): Add new argument `range' like
351         `Fmap_char_table'.
352
353 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
354
355         * chartab.c (map_over_uint8_byte_table): Change interface of
356         mapping function to use struct chartab_range instead of Emchar.
357         (map_over_uint16_byte_table): Likewise.
358         (map_over_byte_table): Likewise.
359         (map_char_id_table): Likewise.
360         (struct slow_map_char_id_table_arg): Deleted.
361         (slow_map_char_id_table_fun): Deleted.
362         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
363         function `slow_map_char_table_fun' instead of struct
364         `slow_map_char_id_table_arg' and function
365         `slow_map_char_id_table_fun'.
366
367 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
368
369         * mule-charset.c: Move char-it-table related codes to chartab.c.
370         (Vutf_2000_version): Moved to chartab.c.
371         (Fdefine_char): Likewise.
372         (Ffind_char): Likewise.
373         (syms_of_mule_charset): Move types `uint8-byte-table',
374         `uint16-byte-table', `byte-table' and `char-id-table' to
375         chartab.c; move functions `char_attribute_list,
376         `find_char_attribute_table, `char_attribute_alist,
377         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
378         `map_char_attribute, `define_char, `find_char, `char_variants and
379         `get_composite_char to chartab.c; move symbols `=>ucs',
380         `->decomposition', `compat', `isolated', `initial', `medial',
381         `final', `vertical', `noBreak', `fraction', `super', `sub',
382         `circle', `square', `wide', `narrow', `small' and `font' to
383         chartab.c.
384         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
385         setting codes for `Vcharacter_composition_table' and
386         `Vcharacter_variant_table' to chartab.c.
387         (complex_vars_of_mule_charset): Move setting code for
388         `Vchar_attribute_hash_table' to chartab.c.
389
390         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
391         (make_char_id_table): New prototype.
392         (put_char_id_table): Likewise.
393         (Fget_char_attribute): Likewise.
394
395         * chartab.c: Move char-id-table related code from mule-charset.c.
396         (Vutf_2000_version): Moved from mule-charset.c.
397
398         * char-ucs.h (Qucs): New external variable.
399         (put_char_ccs_code_point): New prototype.
400         (remove_char_ccs): Likewise.
401
402 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
403
404         * mule-charset.c (Vcharset_ucs_jis): New variable.
405         (Qucs_jis): Likewise.
406         (syms_of_mule_charset): Add new symbol `ucs-jis'.
407         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
408
409         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
410
411 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
412
413         * mule-charset.c (map_over_uint8_byte_table): New function.
414         (map_over_uint16_byte_table): Likewise.
415         (map_over_byte_table): Likewise.
416         (map_char_id_table): Likewise.
417         (slow_map_char_id_table_fun): Likewise.
418         (Fmap_char_attribute): Likewise.
419         (syms_of_mule_charset): Add new function `map-char-attribute'.
420
421 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
422
423         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
424         (syms_of_mule_charset): Add new function `find-char'.
425
426 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
427
428         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
429         XEmacs UTF-2000.
430         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
431         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
432         XEmacs UTF-2000.
433         (complex_vars_of_mule_charset): Add new coded-charset
434         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
435         `ideograph-gt-pj-*'.
436
437         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
438
439 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
440
441         * mule-charset.c (encode_builtin_char_1): Purge codes about
442         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
443         {MIN|MAX}_CHAR_HEBREW.
444         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
445         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
446
447         * char-ucs.h (MIN_CHAR_GREEK): Purged.
448         (MAX_CHAR_GREEK): Purged.
449         (MIN_CHAR_CYRILLIC): Purged.
450         (MAX_CHAR_CYRILLIC): Purged.
451         (MIN_CHAR_HEBREW): Commented out.
452         (MAX_CHAR_HEBREW): Likewise.
453
454 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
455
456         * mule-charset.c (Qto_ucs): New variable.
457         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
458         (Fdefine_char): Likewise.
459         (syms_of_mule_charset): Add new symbol `=>ucs'.
460
461 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
462
463         * mule-charset.c (Fdecode_char): Fixed.
464
465 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
466
467         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
468         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
469         "tcvn5712-1".
470
471 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
472
473         * mule-charset.c (Vcharset_ucs_big5): New variable.
474         (Qucs_big5): Likewise.
475         (syms_of_mule_charset): Add new symbol `ucs-big5'.
476         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
477
478         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
479
480 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
481
482         * mule-charset.c (decode_builtin_char): Check Big5 code range
483         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
484
485 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
486
487         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
488         (Qchinese_gb12345): Likewise.
489         (Fdecode_builtin_char): Fixed.
490         (syms_of_mule_charset): Add `chinese-gb12345'.
491         (complex_vars_of_mule_charset): Add coded-charset
492         `chinese-gb12345'.
493
494         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
495         (LEADING_BYTE_CHINESE_GB12345): New macro.
496
497 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
498
499         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
500         and `latin-viscii-upper' for `latin-viscii'.
501
502 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
503
504         * mule-charset.c (Fdecode_builtin_char): Comment out
505         regularization code for ISO-IR GR representation.
506
507 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
508
509         * mule-charset.c (decode_builtin_char): New function; renamed from
510         `make_builtin_char'; return -1 instead of signal.
511         (Fdecode_builtin_char): Use `decode_builtin_char'.
512
513         * char-ucs.h (decode_builtin_char): New prototype; renamed from
514         `make_builtin_char'.
515         (DECODE_CHAR): Use `decode_builtin_char' instead of
516         `make_builtin_char'; use mapping table of `chinese-big5' for
517         `chinese-big5-{1,2}'.
518
519 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
520
521         * text-coding.c (char_encode_big5): New function.
522         (char_finish_big5): Likewise.
523         (reset_encoding_stream): Use `char_encode_big5' and
524         `char_finish_big5' for CODESYS_BIG5.
525         (mule_encode): Don't use `encode_coding_big5'.
526         (encode_coding_big5): Deleted.
527
528 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
529
530         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
531         0x81- in XEmacs UTF-2000.
532         (detect_coding_big5): Likewise.
533
534 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
535
536         * mule-charset.c (Fdefine_char): Don't use a CCS property to
537         generate character-id if the CCS property does not have
538         corresponding predefined character.
539         (make_builtin_char): Return -1 if corresponding predefined
540         character is not found.
541         (Fdecode_char): Return nil if corresponding character is not
542         found.
543         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
544         don't map to builtin ucs space.
545
546 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
547
548         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
549         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
550
551 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
552
553         * mule-charset.c (Vcharset_ideograph_gt): New variable.
554         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
555         (Qideograph_gt): Likewise.
556         (Qideograph_gt_pj_{1..11}): Likewise.
557         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
558         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
559         `ideograph-gt-pj-11'.
560         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
561         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
562         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
563
564         * char-ucs.h (LEADING_BYTE_GT): New macro.
565         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
566         (MIN_CHAR_GT): Likewise.
567         (MAX_CHAR_GT): Likewise.
568
569 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
570
571         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
572         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
573
574         * doprnt.c (unsigned_int_converters): Add `c'.
575         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
576
577         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
578         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
579         `MIN_CHAR_MOJIKYO'.
580         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
581         (MAX_CHAR_MOJIKYO_0): New macro.
582         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
583
584 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
585
586         * mule-charset.c (Fdefine_char): Delete cemented out code.
587         (encode_builtin_char_1): Modify for new allocation of builtin
588         Mojikyo characters.
589
590         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
591
592 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
593
594         * mule-charset.c (Vcharset_ucs_cns): New variable.
595         (Qucs_cns): New variable.
596         (syms_of_mule_charset): Add new symbol `ucs-cns'.
597         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
598
599 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
600
601         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
602
603 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
604
605         * search.c (search_buffer): Make `charset_base_code' as
606         character-id >> 6 to eliminate the corresponding last byte in
607         UTF-8 representation [I'm not sure it is right thing].
608         (boyer_moore): Likewise.
609
610 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
611
612         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
613         representation in MULE.
614
615 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
616
617         * text-coding.c (Fmake_coding_system): Use
618         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
619         `EXTERNAL_PROPERTY_LIST_LOOP'.
620
621 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
622
623         * text-coding.c (decode_output_utf8_partial_char): New function.
624         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
625
626 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
627
628         * text-coding.c (decode_coding_utf8): Output original byte
629         sequence if it is broken; change order of conditions.
630
631         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
632         of conditions.
633
634         * mb-multibyte.h (BYTE_ASCII_P):
635         Use bit ops for char-signedness safety.
636         (BYTE_C0_P): Use bit ops for char-signedness safety.
637         (BYTE_C1_P): Use bit ops for char-signedness safety.
638
639         * character.h: (XCHAR_OR_CHAR_INT):
640         Always use inline function.
641         Remove redundant type checking assert() - XINT will abort quite
642         nicely.
643
644 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
645
646         * text-coding.c: (Fencode_shift_jis_char):
647         (Fencode_big5_char):
648         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
649         Replace 0 with '\0' when working with bytes.
650         Replace initial "(" with "\(" in docstrings.
651
652         (Fmake_coding_system):
653         When type is ccl and value is vector, register it with a proper
654         symbol.  And checks whether the given ccl program is valid.
655         (mule_decode): When calling ccl_driver, if src indicates
656         NULL pointer, set an empty string instead.
657         (mule_encode): Likewise.
658
659         (detect_eol_type):
660         (detect_coding_sjis):
661         (decode_coding_sjis):
662         (detect_coding_big5):
663         (decode_coding_big5):
664         (detect_coding_ucs4):
665         (decode_coding_ucs4):
666         (detect_coding_utf8):
667         (decode_coding_utf8):
668         (detect_coding_iso2022):
669         (decode_coding_iso2022):
670         (decode_coding_no_conversion):
671         (mule_decode):
672         Make all detecting and decoding functions take an Extbyte * arg.
673         (text_encode_generic):
674         (encode_coding_big5):
675         (encode_coding_no_conversion):
676         (mule_encode):
677         Make all encoding functions take a Bufbyte * arg.
678         Use size_t instead of unsigned int for memory sizes.
679         Only cast to unsigned char whenever dereferencing Extbyte *.
680
681         (struct lrecord_description fcd_description_1): Use countof.
682         (complex_vars_of_file_coding):
683         Use countof instead of sizeof.
684         Use CHECK_NATNUM instead of CHECK_INT.
685
686 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
687
688         * mule-charset.c (Fget_char_attribute): Add new optional argument
689         `default-value'.
690         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
691         (remove_char_ccs): Likewise.
692
693 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
694
695         * text-coding.c (char_encode_shift_jis): New implementation in
696         UTF-2000.
697         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
698         ...)'.
699
700         * mule-charset.c (Vcharset_chinese_big5): New variable in
701         UTF-2000.
702         (Qchinese_big5): New variable in UTF-2000.
703         (BIG5_SAME_ROW): New macro in UTF-2000.
704         (make_builtin_char): Use builtin characters of
705         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
706         characters of `Vcharset_chinese_big5'.
707         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
708         (complex_vars_of_mule_charset): Add new coded-charset
709         `chinese-big5' in UTF-2000.
710
711         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
712         (Vcharset_chinese_big5): New external variable declaration.
713         (Vcharset_japanese_jisx0208_1990): Likewise.
714
715 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
718         function.
719         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
720
721 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
722
723         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
724         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
725         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
726         `mojikyo-pj-*'.
727
728 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
729
730         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
731
732 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
733
734         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
735         to 0.17.
736
737 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
738
739         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
740         for `CHARSET_BY_ATTRIBUTES'.
741         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
742         `CHARSET_BY_ATTRIBUTES'.
743
744         * text-coding.c (struct decoding_stream): Rename member `CH' to
745         `CPOS'.
746         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
747         (decode_coding_sjis): Likewise.
748         (decode_coding_big5): Likewise.
749         (decode_coding_ucs4): Likewise.
750         (decode_coding_utf8): Likewise.
751         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
752         `CHARSET_BY_ATTRIBUTES'.
753         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
754         `str->counter'; decode 3, 4 bytes sets.
755         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
756         sets.
757         (decode_coding_no_conversion): Use `str->cpos' instead of
758         `str->ch'.
759
760         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
761         (Qmojikyo_2022_1): New variable.
762         (make_charset): Don't use `CHARSET_TYPE_*'.
763         (range_charset_code_point): Support coded-charset
764         `mojikyo-2022-1'.
765         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
766         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
767         `CHARSET_BY_ATTRIBUTES'.
768         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
769         `CHARSET_BY_ATTRIBUTES'.
770         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
771         (complex_vars_of_mule_charset): Add new coded-charset
772         `mojikyo-2022-1'.
773
774         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
775         interface; changed to inline function.
776
777         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
778         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
779         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
780         (CHARSET_TYPE_94): Deleted.
781         (CHARSET_TYPE_94X94): Deleted.
782         (CHARSET_TYPE_96): Deleted.
783         (CHARSET_TYPE_96X96): Deleted.
784         (CHARSET_TYPE_128): Deleted.
785         (CHARSET_TYPE_128X128): Deleted.
786         (CHARSET_TYPE_256): Deleted.
787         (CHARSET_TYPE_256X256): Deleted.
788         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
789         to inline function.
790         (DECODE_MOJIKYO_2022): New inline function.
791         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
792         `Vcharset_mojikyo_2022_1'.
793
794 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
795
796         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
797         instead of `EQ'.
798         (put_byte_table): Likewise.
799         (char_id_table_equal): Use `get_byte_table' [new implementation].
800
801 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
802
803         * mule-charset.c: Include <limits.h> in UTF-2000.
804         (BT_UINT8_MIN): New macro in UTF-2000.
805         (BT_UINT8_MAX): New macro in UTF-2000.
806         (BT_UINT8_t): New macro in UTF-2000.
807         (BT_UINT8_nil): New macro in UTF-2000.
808         (BT_UINT8_unbound): New macro in UTF-2000.
809         (INT_UINT8_P): New inline function in UTF-2000.
810         (UINT8_VALUE_P): New inline function in UTF-2000.
811         (UINT8_ENCODE): New inline function in UTF-2000.
812         (UINT8_DECODE): New inline function in UTF-2000.
813         (mark_uint8_byte_table): New function in UTF-2000.
814         (print_uint8_byte_table): New function in UTF-2000.
815         (uint8_byte_table_equal): New function in UTF-2000.
816         (uint8_byte_table_hash): New function in UTF-2000.
817         (make_uint8_byte_table): New function in UTF-2000.
818         (uint8_byte_table_same_value_p): New function in UTF-2000.
819         (BT_UINT16_MIN): New macro in UTF-2000.
820         (BT_UINT16_MAX): New macro in UTF-2000.
821         (BT_UINT16_t): New macro in UTF-2000.
822         (BT_UINT16_nil): New macro in UTF-2000.
823         (BT_UINT16_unbound): New macro in UTF-2000.
824         (INT_UINT16_P): New inline function in UTF-2000.
825         (UINT16_VALUE_P): New inline function in UTF-2000.
826         (UINT16_ENCODE): New inline function in UTF-2000.
827         (UINT16_DECODE): New inline function in UTF-2000.
828         (UINT8_TO_UINT16): New inline function in UTF-2000.
829         (mark_uint16_byte_table): New function in UTF-2000.
830         (print_uint16_byte_table): New function in UTF-2000.
831         (uint16_byte_table_equal): New function in UTF-2000.
832         (uint16_byte_table_hash): New function in UTF-2000.
833         (make_uint16_byte_table): New function in UTF-2000.
834         (uint16_byte_table_same_value_p): New function in UTF-2000.
835         (print_byte_table): New function in UTF-2000.
836         (byte-table): Use `print_byte_table' as printer.
837         (make_byte_table): Delete second argument `older'.
838         (byte_table_same_value_p): New function in UTF-2000.
839         (copy_byte_table): Deleted.
840         (get_byte_table): New function in UTF-2000.
841         (put_byte_table): New function in UTF-2000.
842         (print_char_id_table): New function in UTF-2000.
843         (char-id-table): Use `print_char_id_table' as printer.
844         (make_char_id_table): Delete second argument `older'.
845         (get_char_id_table): Use `get_byte_table [new implementation].
846         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
847         implementation].
848         (Ffind_char_attribute_table): New function in UTF-2000.
849         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
850         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
851         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
852         (syms_of_mule_charset): Add new function
853         `find-char-attribute-table' in UTF-2000.
854
855         * lrecord.h (enum lrecord_type): Add
856         `lrecord_type_uint16_byte_table' and
857         `lrecord_type_uint8_byte_table'.
858
859         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
860         (Lisp_Uint8_Byte_Table): New type.
861         (XUINT8_BYTE_TABLE): New macro.
862         (XSETUINT8_BYTE_TABLE): New macro.
863         (UINT8_BYTE_TABLE_P): New macro.
864         (GC_UINT8_BYTE_TABLE_P): New macro.
865         (struct Lisp_Uint16_Byte_Table): New structure.
866         (Lisp_Uint16_Byte_Table): New type.
867         (XUINT16_BYTE_TABLE): New macro.
868         (XSETUINT16_BYTE_TABLE): New macro.
869         (UINT16_BYTE_TABLE_P): New macro.
870         (GC_UINT16_BYTE_TABLE_P): New macro.
871
872 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
873
874         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
875         (Vcharacter_ideographic_strokes_table): Deleted.
876         (Vcharacter_total_strokes_table): Deleted.
877         (Vcharacter_morohashi_daikanwa_table): Deleted.
878         (Vcharacter_decomposition_table): Deleted.
879         (Qname): Deleted because it is duplicated.
880         (Qideographic_radical): Deleted.
881         (Qideographic_strokes): Deleted.
882         (Qtotal_strokes): Deleted.
883         (Qmorohashi_daikanwa): Deleted.
884         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
885         `ideographic-radical', `ideographic-strokes', `total-strokes',
886         `morohashi-daikanwa' and `->decomposition'.
887         (Fget_char_attribute): Likewise.
888         (Fput_char_attribute): Likewise; use `make-vector' instead of
889         `make_older_vector' for `->decomposition' value.
890         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
891         `ideograph-daikanwa'.
892         (syms_of_mule_charset): Delete builtin symbols `name',
893         `ideographic-radical', `ideographic-strokes', `total-strokes' and
894         `morohashi-daikanwa'.
895         (vars_of_mule_charset): Don't setup
896         `Vcharacter_ideographic_radical_table',
897         `Vcharacter_ideographic_strokes_table',
898         `Vcharacter_total_strokes_table',
899         `Vcharacter_morohashi_daikanwa_table' and
900         `Vcharacter_decomposition_table'.
901
902 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
903
904         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
905         `make_older_vector', `make_vector_newer_1' and
906         `make_vector_newer'.
907
908         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
909         `make_older_vector' and `make_vector_newer'.
910
911         * config.h.in (HAVE_GGC): New macro.
912
913 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
914
915         * mule-charset.c (struct char_attribute_list_closure): New
916         structure in UTF-2000.
917         (add_char_attribute_to_list_mapper): New function in UTF-2000.
918         (Fchar_attribute_list): Likewise.
919         (Fset_charset_mapping_table): Use `make_vector_newer'.
920         (Fdecode_builtin_char): New function in UTF-2000.
921         (syms_of_mule_charset): Add new function `char-attribute-list' and
922         `decode-builtin-char' in UTF-2000.
923
924         * lisp.h (make_vector_newer): New prototype.
925
926         * alloc.c (make_vector_newer_1): New function.
927         (make_vector_newer): New function.
928
929 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
930
931         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
932         50100)'.
933
934 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
935
936         * mule-charset.c (Vchar_attribute_hash_table): New variable.
937         (Vcharacter_attribute_table): Deleted.
938         (Vcharacter_name_table): Deleted.
939         (put_char_attribute): Deleted.
940         (remove_char_attribute): Deleted.
941         (struct char_attribute_alist_closure): New structure.
942         (add_char_attribute_alist_mapper): New function.
943         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
944         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
945         (Fget_char_attribute): Likewise.
946         (Fput_char_attribute): Likewise.
947         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
948         of `remove_char_attribute'.
949         (Fdefine_char): Return character.
950         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
951         and `Vcharacter_name_table'.
952         (complex_vars_of_mule_charset): Likewise
953         `Vchar_attribute_hash_table'.
954
955 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
956
957         * character.h (CHARC_CHARSET): New macro.
958         (CHARC_CHARSET_ID): New macro.
959         (CHARC_CODE_POINT): New macro.
960         (CHARC_COLUMNS): New macro.
961         (CHARC_TO_CHAR): New inline function.
962         (CHARC_EQ): New inline function.
963         (CHARC_ASCII_EQ): New inline function.
964         (CHARC_IS_SPACE): New inline function.
965         (ASCII_TO_CHARC): New inline function.
966
967         * char-ucs.h (encode_char_2): Deleted.
968         (ENCODE_CHAR): Use `encode_char_1' again.
969         (breakup_char_1): Likewise.
970         (CHAR_TO_CHARC): New inline function.
971
972         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
973
974 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
975
976         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
977         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
978         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
979         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
980         (create_string_text_block): Use `CHARC_ASCII_EQ' and
981         `CHARC_IS_SPACE'.
982         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
983
984         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
985         `CHARC_CODE_POINT'.
986         (x_output_display_block): Use `CHARC_CHARSET' and
987         `CHARC_ASCII_EQ'.
988
989         * redisplay-tty.c (tty_output_display_block): Use
990         `CHARC_ASCII_EQ'.
991         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
992
993         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
994
995         * insdel.c (find_charsets_in_charc_string): Use
996         `CHARC_CHARSET_ID'.
997         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
998         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
999         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1000         (convert_charc_string_into_malloced_string): Likewise.
1001
1002 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1003
1004         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1005         instead of <Emchar_dynarr *> for buf; use
1006         `convert_bufbyte_string_into_charc_dynarr' instead of
1007         `convert_bufbyte_string_into_emchar_dynarr'; use
1008         `find_charsets_in_charc_string' instead of
1009         `find_charsets_in_emchar_string'.
1010
1011         * redisplay.h:
1012         - Include "character.h".
1013         (struct rune): New member `cglyph'; delete member `chr'.
1014
1015         * redisplay.c (redisplay_text_width_charc_string): New function;
1016         delete `redisplay_text_width_emchar_string'.
1017         (rtw_charc_dynarr): New variable; renamed from
1018         `rtw_emchar_dynarr'.
1019         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1020         `rtw_emchar_dynarr'; use
1021         `convert_bufbyte_string_into_charc_dynarr' instead of
1022         `convert_bufbyte_string_into_emchar_dynarr'; use
1023         `redisplay_text_width_charc_string' instead of
1024         `redisplay_text_width_emchar_string'.
1025         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1026         instead of `rtw_emchar_dynarr'; use
1027         `convert_bufbyte_string_into_charc_dynarr' instead of
1028         `convert_bufbyte_string_into_emchar_dynarr'.
1029         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1030         `redisplay_text_width_charc_string' instead of
1031         `redisplay_text_width_emchar_string'.
1032         (create_text_block): Modify for <struct rune> change.
1033         (generate_formatted_string_db): Likewise.
1034         (create_string_text_block): Likewise.
1035         (pixel_to_glyph_translation): Likewise.
1036
1037         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1038         instead of <const Emchar *>.
1039         (x_text_width): Likewise.
1040         (x_output_display_block): Use <Charc_dynarr *> instead
1041         <Emchar_dynarr *>; modify for <structure rune> change.
1042         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1043         *>.
1044
1045         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1046         <const Emchar *>; use `charc_string_displayed_columns' instead of
1047         `emchar_string_displayed_columns'.
1048         (tty_output_display_block): Use <Charc_dynarr *> instead of
1049         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1050         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1051         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1052         `tty_output_emchar_dynarr_dynarr'.
1053         (tty_output_charc_dynarr): New function; delete
1054         `tty_output_charc_dynarr'.
1055
1056         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1057         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1058         <Emchar_dynarr *> for buf; use
1059         `convert_bufbyte_string_into_charc_dynarr' instead of
1060         `convert_bufbyte_string_into_emchar_dynarr'.
1061
1062         * frame.c (title_string_charc_dynarr): New variable; renamed from
1063         `title_string_emchar_dynarr'.
1064         (generate_title_string): Use `title_string_charc_dynarr' instead
1065         of `title_string_emchar_dynarr'; use
1066         `convert_charc_string_into_malloced_string' instead of
1067         `convert_emchar_string_into_malloced_string'.
1068         (init_frame): Use `title_string_charc_dynarr' instead of
1069         `title_string_emchar_dynarr'.
1070
1071         * console.h:
1072         - Include "character.h".
1073         (struct console_methods): Use <const Charc *> instead of <const
1074         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1075         <Emchar_dynarr *> in output_string_method.
1076
1077         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1078         <Emchar_dynarr *>.
1079
1080         * console-stream.c (stream_text_width): Use <const Charc *>
1081         instead of <const Emchar *>.
1082
1083         * character.h (Charc_dynarr): New type.
1084
1085         * char-ucs.h (structure Charc): New structure; define new type
1086         `Charc'.
1087
1088         * char-lb.h (DECODE_CHAR): New inline function.
1089         (encode_char_1): New inline function.
1090         (ENCODE_CHAR): New macro.
1091         (structure Charc): New structure; define new type `Charc'.
1092
1093         * char-1byte.h (Vcharset_control_1): New macro.
1094         (Vcharset_latin_iso8859_1): New macro.
1095         (DECODE_CHAR): New inline function.
1096         (encode_char_1): New inline function.
1097         (ENCODE_CHAR): New macro.
1098         (structure Charc): New structure; define new type `Charc'.
1099
1100         * insdel.c (find_charsets_in_charc_string): New function; delete
1101         `find_charsets_in_emchar_string'.
1102         (charc_string_displayed_columns): New function; delete
1103         `emchar_string_displayed_columns'.
1104         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1105         `convert_bufbyte_string_into_emchar_dynarr'.
1106         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1107         `convert_charc_string_into_bufbyte_dynarr'.
1108         (convert_charc_string_into_malloced_string): New function; delete
1109         `convert_charc_string_into_malloced_string'.
1110
1111         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1112         `find_charsets_in_emchar_string'.
1113         (charc_string_displayed_columns): New prototype; delete
1114         `emchar_string_displayed_columns'.
1115         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1116         `convert_charc_string_into_bufbyte_dynarr'.
1117         (convert_charc_string_into_malloced_string): New prototype; delete
1118         `convert_charc_string_into_malloced_string'.
1119
1120 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1121
1122         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1123
1124 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1125
1126         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1127
1128         * char-ucs.h: Use <short> for <Charset_ID>.
1129
1130         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1131         <Charset_ID>.
1132
1133 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1134
1135         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1136         to 0.16.
1137
1138 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1139
1140         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1141         variable.
1142         (Qmorohashi_daikanwa): New variable.
1143         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1144         for `morohashi-daikanwa' attribute.
1145         (Fget_char_attribute): Likewise.
1146         (Fput_char_attribute): Likewise.
1147         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1148         has the same value of `ideograph-daikanwa'.
1149         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1150         (vars_of_mule_charset): Setup
1151         `Vcharacter_morohashi_daikanwa_table'.
1152
1153 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1154
1155         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1156         attributes.
1157         (add_charset_to_list_mapper): Add `key' instead of
1158         `XCHARSET_NAME (value)' to return aliases.
1159
1160 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1161
1162         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1163         variable.
1164         (Vcharacter_ideographic_strokes_table): New variable.
1165         (Qideographic_radical): New variable.
1166         (Qideographic_strokes): New variable.
1167         (Fchar_attribute_alist): Use
1168         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1169         attribute; use `Vcharacter_ideographic_strokes_table' for
1170         `ideographic-strokes' attribute.
1171         (Fget_char_attribute): Likewise.
1172         (Fput_char_attribute): Likewise.
1173         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1174         `ideographic-strokes'.
1175         (vars_of_mule_charset): Setup
1176         `Vcharacter_ideographic_radical_table' and
1177         `Vcharacter_ideographic_strokes_table'.
1178
1179 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1180
1181         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1182         (Qtotal_strokes): New variable.
1183         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1184         `total-strokes' attribute.
1185         (Fget_char_attribute): Likewise.
1186         (Fput_char_attribute): Likewise.
1187         (syms_of_mule_charset): Add new symbol `total-strokes'.
1188         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1189
1190 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1191
1192         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1193         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1194         are found.
1195         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1196         `->decomposition' attribute.
1197         (Fput_char_attribute): Likewise.
1198         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1199
1200 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1201
1202         * mule-charset.c (decoding_table_check_elements): New function.
1203         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1204
1205 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1206
1207         * mule-charset.c (Fset_charset_mapping_table): Use
1208         `put_char_ccs_code_point'.
1209
1210 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1211
1212         * mule-charset.c (decoding_table_put_char): New inline function.
1213         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1214
1215 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1216
1217         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1218         (XCHARSET_BYTE_SIZE): New macro.
1219         (decoding_table_remove_char): New inline function.
1220         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1221         `decoding_table_remove_char'.
1222         (remove_char_ccs): Use `decoding_table_remove_char'.
1223         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1224
1225 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1226
1227         * mule-charset.c (Vcharacter_name_table): New variable.
1228         (Qname): New variable.
1229         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1230         attribute.
1231         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1232         `Vcharacter_name_table' for `name' attribute.
1233         (Fremove_char_attribute): Use function `remove_char_ccs'.
1234         (put_char_ccs_code_point): New function.
1235         (remove_char_ccs): New function.
1236         (syms_of_mule_charset): Add new symbol `name'.
1237         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1238
1239 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1240
1241         * mule-charset.c (make_byte_table): Add new argument `older'.
1242         (make_char_id_table): Likewise.
1243         (copy_char_id_table): Comment out because it is not used.
1244         (put_char_id_table): Modify for `make_byte_table'.
1245         (Fput_char_attribute): Make encoding_table as older object;
1246         inherit older bit of `Vcharacter_composition_table'.
1247         (mark_charset): Don't mark `cs->encoding_table'.
1248         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1249         normal object; make `Vcharacter_composition_table' as an older
1250         object; delete staticpro for `Vcharacter_composition_table'; make
1251         `Vcharacter_variant_table' as a normal object.
1252
1253         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1254         (mark_object): Don't check older object in UTF-2000.
1255
1256         * lrecord.h (struct lrecord_header): Add new member `older' in
1257         UTF-2000.
1258         (set_lheader_implementation): Setup `SLI_header->older' in
1259         UTF-2000.
1260         (set_lheader_older_implementation): New macro in UTF-2000.
1261         (OLDER_RECORD_P): New macro in UTF-2000.
1262         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1263         (alloc_older_lcrecord): New prototype in UTF-2000.
1264         (alloc_older_lcrecord_type): New macro in UTF-2000.
1265
1266 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1267
1268         * mule-charset.c (byte_table_description): Use
1269         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1270         (char_id_table_description): Delete bogus `, 1'.
1271         (Fget_char_attribute): Refer encoding_table of each coded-charset
1272         to get value of coded-charset attribute of a character.
1273         (Fput_char_attribute): Use `make_older_vector' instead of
1274         `make_vector'; use encoding_table of each coded-charset to store
1275         value of coded-charset attribute of a character.
1276         (Fremove_char_attribute): Use encoding_table of each coded-charset
1277         to store value of coded-charset attribute of a character.
1278         (mark_charset): Mark `cs->encoding_table'; don't mark
1279         `cs->decoding_table'.
1280         (charset_description): Add description of new member
1281         `encoding_table'.
1282         (make_charset): Initialize `encoding_table'.
1283
1284         * char-ucs.h (struct Lisp_Charset): Add new member
1285         `encoding_table'.
1286         (CHARSET_ENCODING_TABLE): New macro.
1287         (XCHARSET_ENCODING_TABLE): New macro.
1288         (charset_code_point): New implementation.
1289         (encode_char_1): Likewise.
1290
1291         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1292         (disksave_object_finalization_1): Call finalizers of
1293         `all_older_lcrecords' in UTF-2000.
1294         (make_older_vector): New function in UTF-2000.
1295         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1296         UTF-2000.
1297
1298         * lisp.h (make_older_vector): New prototype in UTF-2000.
1299
1300 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1301
1302         * lrecord.h (enum lrecord_type): Rename
1303         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1304
1305         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1306         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1307         `get_char_code_table'.
1308
1309         * mule-charset.c (mark_char_id_table): Renamed from
1310         `mark_char_code_table'.
1311         (char_id_table_equal): Renamed from `char_code_table_equal'.
1312         (char_id_table_hash): Renamed from `char_code_table_hash'.
1313         (make_char_id_table): Renamed from `make_char_code_table'.
1314         (copy_char_id_table): Renamed from `copy_char_code_table'.
1315         (get_char_id_table): Renamed from `get_char_code_table'.
1316         (put_char_id_table): Renamed from `put_char_code_table'.
1317         (to_char_id): Renamed from `to_char_code'.
1318
1319         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1320         `Lisp_Char_Code_Table'.
1321         (char_id_table): Renamed from `char_code_table'.
1322         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1323         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1324         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1325         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1326         (get_char_id_table): Renamed from `get_char_code_table'.
1327
1328 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1329
1330         * lrecord.h (enum lrecord_type): Rename
1331         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1332
1333         * mule-charset.c (mark_byte_table): Renamed from
1334         `mark_char_byte_table'.
1335         (byte_table_equal): Renamed from `char_byte_table_equal'.
1336         (byte_table_hash): Renamed from `byte_table_hash'.
1337         (make_byte_table): Renamed from `make_byte_table'.
1338         (copy_byte_table): Renamed from `copy_char_byte_table'.
1339
1340         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1341         `Lisp_Char_Byte_Table'.
1342         (byte_table): Renamed from `char_byte_table'.
1343         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1344         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1345         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1346         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1347
1348 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1349
1350         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1351         (dfc_convert_to_internal_format): Likewise.
1352         
1353         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1354         * text-coding.c (Fcoding_system_alias_p): New function.
1355         * text-coding.c (Fcoding_system_aliasee): New function.
1356         * text-coding.c (append_suffix_to_symbol): New function.
1357         * text-coding.c (dangling_coding_system_alias_p): New function.
1358         * text-coding.c (Ffind_coding_system):
1359         * text-coding.c (Fcopy_coding_system):
1360         * text-coding.c (encode_coding_no_conversion):
1361         * text-coding.c (syms_of_file_coding):
1362         * text-coding.c (vars_of_file_coding):
1363         Rewrite coding system alias code.
1364         Allow nested aliases, like symbolic links.
1365         Allow redefinition of coding system aliases.
1366         Prevent existence of dangling coding system aliases.
1367         Eliminate convert_to_external_format.
1368         Eliminate convert_to_internal_format.
1369         
1370         * text-coding.c: Change enum eol_type to eol_type_t.
1371
1372 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1373
1374         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1375         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1376
1377         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1378         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1379
1380 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1381
1382         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1383         `ideograph-daikanwa'.
1384
1385         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1386         (Vcharset_ucs_bmp): Likewise.
1387         (Vcharset_mojikyo): Add new extern variable definition.
1388         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1389         (Vcharset_latin_iso8859_3): Likewise.
1390         (Vcharset_latin_iso8859_4): Likewise.
1391         (Vcharset_latin_iso8859_9): Likewise.
1392         (Vcharset_latin_viscii_lower): Likewise.
1393         (Vcharset_latin_viscii_upper): Likewise.
1394         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1395         `mojikyo' code-point is used to decode.
1396         (encode_char_2): New function [to convert `mojikyo' code-point to
1397         Mojikyo font encoding].
1398         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1399         (breakup_char_1): Likewise.
1400         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1401
1402 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1403
1404         * text-coding.c (Fmake_coding_system): Add document about
1405         `disable-composition' property.
1406
1407 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1408
1409         * text-coding.c (Qdisable_composition): New variable; delete
1410         `Qcomposite'.
1411         (Fmake_coding_system): Add new property `disable-composite';
1412         delete property `composite'.
1413         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1414         instead of `!CODING_SYSTEM_COMPOSITE'.
1415         (syms_of_file_coding): Add new symbol `disable-composition';
1416         delete symbol `composite'.
1417
1418         * file-coding.h (struct Lisp_Coding_System): Add
1419         `disable_composition'; delete `enable_composition'.
1420         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1421         `CODING_SYSTEM_COMPOSITE'.
1422         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1423         `XCODING_SYSTEM_COMPOSITE'.
1424
1425 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1426
1427         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1428         to 0.15.
1429
1430 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1431
1432         * text-coding.c (Qcomposite): New variable.
1433         (Fmake_coding_system): Add new property `composite'.
1434         (struct decoding_stream): Add `combined_char_count',
1435         `combined_chars' and `combining_table' in UTF-2000.
1436         (COMPOSE_FLUSH_CHARS): New macro.
1437         (COMPOSE_ADD_CHAR): New macro.
1438         (reset_decoding_stream): Reset `str->combined_char_count' and
1439         `str->combining_table' in UTF-2000.
1440         (decode_coding_iso2022): Modify for character-decomposition.
1441         (syms_of_file_coding): Add new symbol `composite'.
1442
1443 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1444
1445         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1446         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1447         of `Vcharacter_composition_table' if `->decomposition' property
1448         has only 1 element.
1449         (Qlatin_tcvn5712): New variable.
1450         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1451         (complex_vars_of_mule_charset): Add new coded-charset
1452         `latin-tcvn5712'.
1453
1454         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1455
1456 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1457
1458         * file-coding.h (struct Lisp_Coding_System): Add
1459         `enable_composition'.
1460         (CODING_SYSTEM_COMPOSITE): New macro.
1461         (XCODING_SYSTEM_COMPOSITE): New macro.
1462
1463 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1464
1465         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1466
1467 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1468
1469         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1470         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1471
1472 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1473
1474         * mule-charset.c (Vcharset_mojikyo): New variable.
1475         (Fdefine_char): Don't use coded-charset which does not have
1476         non-builtin character range to allocate character-id.
1477         (Qmojikyo): New variable.
1478         (syms_of_mule_charset): Add new symbol `mojikyo'.
1479         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1480
1481         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1482         (LEADING_BYTE_MOJIKYO): New macro.
1483         (MIN_CHAR_MOJIKYO): New macro.
1484         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1485         (MAX_CHAR_MOJIKYO): New macro.
1486
1487 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1488
1489         * mule-charset.c (remove_char_attribute): Fixed.
1490
1491 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1492
1493         * mule-charset.c (remove_char_attribute): New function.
1494         (Fremove_char_attribute): New function.
1495         (encode_builtin_char_1): Comment out builtin-support for
1496         greek-iso8859-7 and cyrillic-iso8859-5.
1497         (Fdecode_char): Check `code' is an integer.
1498         (syms_of_mule_charset): Add `remove-char-attribute'.
1499         (MIN_CHAR_GREEK): Deleted.
1500         (MAX_CHAR_GREEK): Likewise.
1501         (MIN_CHAR_CYRILLIC): Likewise.
1502         (MAX_CHAR_CYRILLIC): Likewise.
1503         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1504         MAX_CHAR_GREEK for `greek-iso8859-7'.
1505
1506         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1507         (MAX_CHAR_GREEK): Likewise.
1508         (MIN_CHAR_CYRILLIC): Likewise.
1509         (MAX_CHAR_CYRILLIC): Likewise.
1510
1511 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1512
1513         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1514         format is used without `ucs' property.
1515         (Fdecode_char): Fix problem with GR representation.
1516         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1517         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1518
1519 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1520
1521         * mule-charset.c (make_builtin_char): New function.
1522         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1523         (Fset_charset_mapping_table): Modify for new representation of
1524         code-point.
1525         (Fdecode_char): New function.
1526         (syms_of_mule_charset): Add new builtin function `decode-char' in
1527         UTF-2000.
1528
1529         * char-ucs.h (make_builtin_char): New prototype.
1530         (DECODE_CHAR): New inline function.
1531         (MAKE_CHAR): Use `DECODE_CHAR'.
1532
1533 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1534
1535         * text-coding.c (parse_charset_conversion_specs): Use
1536         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1537         `XCHARSET_TYPE'.
1538         (iso2022_designate): Likewise.
1539
1540         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1541         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1542
1543         * mule-charset.c (Vcharset_ucs): New variable.
1544         (print_charset): Change design; use `CHARSET_CHARS' and
1545         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1546         (make_charset): Change signature to specify `chars' and
1547         `dimension' instead of `type'.
1548         (range_charset_code_point): Modify for 256^n-set.
1549         (encode_builtin_char_1): Encode as `ucs' in default.
1550         (Fmake_charset): Modify for `make_charset'.
1551         (Fmake_reverse_direction_charset): Likewise.
1552         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1553         UTF-2000.
1554         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1555         for `make_charset'.
1556
1557         * char-ucs.h (Vcharset_ucs): New variable.
1558         (LEADING_BYTE_UCS): New macro.
1559         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1560         and `chars' to `unsigned short' from `unsigned int'.
1561         (CHARSET_TYPE): Deleted.
1562         (XCHARSET_TYPE): Deleted.
1563
1564 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1565
1566         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1567
1568         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1569         (ENCODE_CHAR): New macro.
1570
1571 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1572
1573         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1574         to 0.14 (Kawachi-Katakami).
1575
1576 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1577
1578         * text-coding.c (char_encode_shift_jis): Modify for
1579         `charset_code_point'.
1580         (char_encode_iso2022): Likewise.
1581
1582         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1583         (integer) instead of list of <Lisp_Object>s (integers) as the
1584         format of code-point of a coded-charset.
1585         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1586         (encode_builtin_char_1): New function; delete
1587         `split_builtin_char'.
1588         (charset_code_point): Return <int> instead of <Lisp_Object>.
1589         (Fsplit_char): Don't use `SPLIT_CHAR'.
1590
1591         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1592         prototype for `split_builtin_char'.
1593         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1594         (charset_code_point): Likewise.
1595         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1596         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1597
1598 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1599
1600         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1601         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1602
1603 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1604
1605         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1606
1607         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1608         (MAX_CHAR_OBS_94x94): Deleted.
1609
1610 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1611
1612         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1613
1614         * char-ucs.h (MAX_CHAR_BMP): New macro.
1615
1616 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1617
1618         * text-coding.c: Sync with r21-2-24.
1619
1620 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1621
1622         * file-coding.c: Modify for UTF-2000.
1623
1624 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1625
1626         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1627         to 0.13 (Takaida).
1628
1629 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1630
1631         * mule-charset.c (split_builtin_char): Delete builtin support for
1632         `katakana-jisx0201'.
1633         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1634         BMP area in builtin representation.
1635
1636         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1637         `Vcharset_katakana_jisx0201'.
1638
1639 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1640
1641         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1642         (Qisolated): New variable.
1643         (Qinitial): New variable.
1644         (Qmedial): New variable.
1645         (Qfinal): New variable.
1646         (Qvertical): New variable.
1647         (Qsmall): New variable.
1648         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1649         `Qvertical' and `Qsmall'.
1650         (Qmojikyo_pj_[1 .. 21]): New variable.
1651         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1652         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1653         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1654         .. 21]'.
1655
1656 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1657
1658         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1659         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1660         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1661
1662 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1663
1664         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1665         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1666         BMP.
1667         (Qjapanese_jisx0208_1990): New variable.
1668         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1669         (complex_vars_of_mule_charset): Add new coded-charset
1670         `japanese-jisx0208-1990'.
1671
1672         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1673         (MIN_CHAR_JIS_X0208_1990): New macro.
1674         (MAX_CHAR_JIS_X0208_1990): New macro.
1675
1676 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1677
1678         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1679         coded-charset is not found.
1680
1681 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1682
1683         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1684         (Fdefine_char): Use `Fmake_char'.
1685
1686 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1687
1688         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1689         (Vcharset_hiragana_jisx0208): Deleted.
1690         (Vcharset_katakana_jisx0208): Deleted.
1691         (Qideograph_daikanwa): New variable.
1692         (Qhiragana_jisx0208): Deleted.
1693         (Qkatakana_jisx0208): Deleted.
1694         (split_builtin_char): Split `ideograph-daikanwa'.
1695         (Fsplit_char): New implementation for UTF-2000.
1696         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1697         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1698         (complex_vars_of_mule_charset): Add new coded-charset
1699         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1700         `katakana-jisx0208'.
1701
1702         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1703         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1704         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1705         (MIN_CHAR_DAIKANWA): New macro.
1706         (MAX_CHAR_DAIKANWA): New macro.
1707
1708 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1709
1710         * data.c (Fstring_to_number): Don't recognize floating point if
1711         base is not 10.
1712
1713 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1714
1715         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1716
1717 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1718
1719         * mule-charset.c (Qsquare): New variable.
1720         (to_char_code): Add `Qsquare'.
1721         (syms_of_mule_charset): Add new symbol `square'.
1722
1723 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1724
1725         * mule-charset.c (Qcircle): New variable.
1726         (to_char_code): Add `Qcircle'.
1727         (syms_of_mule_charset): Add new symbol `circle'.
1728
1729 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1730
1731         * mule-charset.c (Qfont): New variable.
1732         (to_char_code): Add `Qfont'.
1733         (syms_of_mule_charset): Add new symbol `font'.
1734
1735 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1736
1737         * mule-charset.c (Qsub): New variable.
1738         (to_char_code): Add `Qsub'.
1739         (syms_of_mule_charset): Add new symbol `sub'.
1740
1741 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1742
1743         * mule-charset.c (Fput_char_attribute): Convert each element of
1744         VALUE to GL position if ATTRIBUTE is a GR-set,
1745
1746 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1747
1748         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1749         coded-charset is a GR-set.
1750
1751 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1752
1753         * mule-charset.c (Fput_char_attribute): Check each element of
1754         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1755
1756 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1757
1758         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1759         UTF-2000.
1760         (Qethiopic_ucs): New variable in UTF-2000.
1761         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1762         (complex_vars_of_mule_charset): Add new coded-charset
1763         `ethiopic-ucs' in UTF-2000.
1764
1765         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1766         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1767         9)'.
1768         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1769         10)'.
1770         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1771
1772 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1773
1774         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1775         `ascii'.
1776
1777 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1778
1779         * mule-charset.c (Vcharacter_variant_table): New variable.
1780         (Q_ucs): New variable.
1781         (Fchar_variants): New function.
1782         (Fput_char_attribute): Register `->ucs' value to
1783         `Vcharacter_variant_table'.
1784         (syms_of_mule_charset): Add new function `char-variants' and new
1785         symbol `->ucs'.
1786         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1787
1788 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1789
1790         * mule-charset.c (get_char_code_table): Allow negative character
1791         code.
1792         (put_char_code_table): Likewise.
1793         (Vcharacter_composition_table): New variable.
1794         (Q_decomposition): New variable.
1795         (Qwide): New variable.
1796         (Qnarrow): New variable.
1797         (Qcompat): New variable.
1798         (QnoBreak): New variable.
1799         (Qsuper): New variable.
1800         (Qfraction): New variable.
1801         (to_char_code): New function.
1802         (Fget_composite_char): New function.
1803         (Fput_char_attribute): Register `->decomposition' value to
1804         `Vcharacter_composition_table'.
1805         (syms_of_mule_charset): Add new function `get-composite-char', new
1806         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1807         `super' and `fraction'.
1808         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1809
1810 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1811
1812         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1813         character; copy the return value.
1814
1815 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1816
1817         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1818
1819         * mule-charset.c (range_charset_code_point): Must use make_int.
1820         (split_builtin_char): New function.
1821
1822 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1823
1824         * mule-charset.c (char_byte_table): Change name from
1825         "char-code-table" to "char-byte-table".
1826         (mark_char_code_table): New function.
1827         (char_code_table_equal): New function.
1828         (char_code_table_hash): New function.
1829         (char_code_table_description): New constant.
1830         (char_code_table): New type.
1831         (make_char_code_table): New function.
1832         (copy_char_code_table): New function.
1833         (get_char_code_table): Modify for `char_code_table' type.
1834         (put_char_code_table): Likewise.
1835         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1836         (Kashiwara).
1837
1838         * char-ucs.h (char_code_table): New type.
1839         (XCHAR_CODE_TABLE): New macro.
1840         (XSETCHAR_CODE_TABLE): New macro.
1841         (CHAR_CODE_TABLE_P): New macro.
1842         (GC_CHAR_CODE_TABLE_P): New macro.
1843         (struct Lisp_Char_Code_Table): New structure.
1844
1845 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1846
1847         * mule-charset.c (Fmake_charset): Setup byte_offset for
1848         {94|96}^n-set.
1849
1850 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1851
1852         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
1853         character.
1854
1855 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1856
1857         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
1858         is found.
1859
1860 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1861
1862         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
1863         charset, it is regarded as a charset.
1864         (put_char_attribute): New function in UTF-2000.
1865         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
1866         charset, mapping-table of the charset is modified.
1867         (Fdefine_char): New function in UTF-2000.
1868         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
1869         `Fput_char_attribute'.
1870         (syms_of_mule_charset): Add new function `define-char' and new
1871         symbol `ucs' in UTF-2000.
1872         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
1873
1874 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1875
1876         * mule-charset.c (Fcharset_name): Define `byte_offset' in
1877         non-UTF-2000 configuration.
1878
1879 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1880
1881         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
1882         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
1883
1884         * mule-charset.c (mark_charset): `cs->encoding_table' has been
1885         deleted.
1886         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
1887         (Fset_charset_mapping_table): Likewise.
1888
1889         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
1890         (CHARSET_ENCODING_TABLE): Delete.
1891         (XCHARSET_ENCODING_TABLE): Delete.
1892         (charset_code_point): New interface.
1893
1894 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1895
1896         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
1897         instead of `charset_get_byte1' and `charset_get_byte2'.
1898
1899         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
1900         (charset_get_byte2): Deleted.
1901
1902 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1903
1904         * char-ucs.h (SPLIT_CHAR): New inline function.
1905         (breakup_char_1): Use `SPLIT_CHAR'.
1906
1907         * mule-charset.c (range_charset_code_point): New function.
1908         (charset_code_point): New function.
1909
1910         * char-ucs.h (range_charset_code_point): New interface.
1911         (breakup_char_1): Use `range_charset_code_point'.
1912
1913 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1914
1915         * mule-charset.c (Fmake_charset): Delete unused local variable
1916         `code_offset'.
1917
1918         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
1919         (breakup_char_1): Find a charset and code-point in
1920         `Vcharacter_attribute_table'.
1921
1922 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1923
1924         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1925         to 0.10 (Yao).
1926
1927 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1928
1929         * mule-charset.c (Vcharacter_attribute_table): New variable.
1930         (Fchar_attribute_alist): New function.
1931         (Fget_char_attribute): New function.
1932         (Fput_char_attribute): New function.
1933         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
1934         too.
1935         (syms_of_mule_charset): Add new function `char-attribute-alist',
1936         `get-char-attribute' and `put-char-attribute'.
1937         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
1938
1939 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
1940
1941         * mule-charset.c (Fmake_charset): Just use
1942         `get_unallocated_leading_byte'.
1943
1944         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
1945         sets; don't use final-byte based number for private sets.
1946
1947 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1948
1949         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
1950         integer.
1951
1952 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1953
1954         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1955         to 0.9.
1956
1957 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1958
1959         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
1960         of `CHAR_LEADING_BYTE' in UTF-2000.
1961
1962         * insdel.c (find_charsets_in_bufbyte_string): Use
1963         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1964         (find_charsets_in_emchar_string): Likewise.
1965
1966         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
1967         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1968
1969         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
1970         (CHAR_CHARSET_ID): New macro.
1971
1972 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1973
1974         * chartab.c (get_char_table): Don't use type `Charset_ID' for
1975         charset-id - MIN_LEADING_BYTE.
1976         (put_char_table): Likewise.
1977
1978 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1979
1980         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
1981         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
1982         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
1983         (CHARSET_ID_OFFSET): New macro.
1984         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
1985         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
1986         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
1987         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
1988         4).
1989         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
1990         5).
1991         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
1992         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
1993         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
1994         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
1995         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
1996
1997 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1998
1999         * mule-charset.c (next_allocated_leading_byte): New variable in
2000         UTF-2000.
2001         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2002         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2003         (get_unallocated_leading_byte): Simply use
2004         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2005         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2006         UTF-2000.
2007
2008         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2009         (MAX_LEADING_BYTE_PRIVATE): New macro.
2010         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2011         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2012
2013 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2014
2015         * mule-charset.c (Fmake_charset): Allocate final-byte based
2016         charset-id for 94-set, 96-set and 94x94-set.
2017
2018 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2019
2020         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2021         ambiguous `else'.
2022         (Fmake_charset): Likewise.
2023         (complex_vars_of_mule_charset): Modify the font registry of
2024         `ucs-bmp' not to match `Ethiopic-Unicode'.
2025
2026 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2027
2028         * mule-charset.c (complex_vars_of_mule_charset): Add font
2029         registory of `ucs-bmp'.
2030
2031 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2032
2033         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2034         coded-charsets in `default-coded-charset-priority-list' when
2035         breaking up a character.
2036
2037         * mule-charset.c (Vcharset_latin_viscii): New variable.
2038         (Qlatin_viscii): New variable.
2039         (make_charset): Don't use `decoding_table'.
2040         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2041         byte_offset.
2042         (Fset_charset_mapping_table): New implementation.
2043         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2044         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2045         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2046         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2047         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2048         charset `latin_viscii'.
2049
2050         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2051         (CHARSET_TYPE_94X94): Change to 1 from 2.
2052         (CHARSET_TYPE_96): Change to 2 from 1.
2053         (CHARSET_TYPE_128): New macro.
2054         (CHARSET_TYPE_128X128): Change to 5 from 4.
2055         (CHARSET_TYPE_256): New macro.
2056         (CHARSET_TYPE_256X256): Change to 7 from 5.
2057         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2058
2059 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2060
2061         * text-coding.c (char_encode_shift_jis): Refer
2062         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2063         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2064
2065         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2066         (char_byte_table_equal): New function in UTF-2000.
2067         (char_byte_table_hash): New function in UTF-2000.
2068         (char_byte_table_description): New constant in UTF-2000.
2069         (char_byte_table): New type in UTF-2000.
2070         (make_char_byte_table): New function in UTF-2000.
2071         (copy_char_byte_table): New function in UTF-2000.
2072         (make_char_code_table): New macro in UTF-2000.
2073         (get_char_code_table): New function in UTF-2000.
2074         (put_char_code_table): New function in UTF-2000.
2075         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2076         (charset_description): Add setting in UTF-2000.
2077         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2078         `CHARSET_TO_BYTE1_TABLE(cs)'.
2079         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2080         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2081         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2082         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2083         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2084         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2085         `CHARSET_TO_BYTE2_TABLE(cs)'.
2086
2087         * char-ucs.h (char_byte_table): New type.
2088         (XCHAR_BYTE_TABLE): New macro.
2089         (XSETCHAR_BYTE_TABLE): New macro.
2090         (CHAR_BYTE_TABLE_P): New macro.
2091         (GC_CHAR_BYTE_TABLE_P): New macro.
2092         (struct Lisp_Char_Byte_Table): New structure.
2093         (get_char_code_table): New interface.
2094         (Emchar_to_byte_table): Deleted.
2095         (get_byte_from_character_table): Deleted.
2096         (struct Lisp_Charset): Add `encoding_table'; delete
2097         `to_byte1_table' and `to_byte2_table'.
2098         (CHARSET_ENCODING_TABLE): New macro.
2099         (CHARSET_TO_BYTE1_TABLE): Deleted.
2100         (CHARSET_TO_BYTE2_TABLE): Deleted.
2101         (XCHARSET_ENCODING_TABLE): New macro.
2102         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2103         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2104
2105 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2106
2107         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2108         `vietnamese-viscii-*'.
2109
2110 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2111
2112         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2113         (Qvietnamese_viscii_upper): New variable.
2114         (Fdefine_charset_alias): New function.
2115         (syms_of_mule_charset): Add new function `define-charset-alias'.
2116         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2117         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2118         `latin-viscii-*'.
2119
2120 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2121
2122         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2123         (MAX_CHAR_OBS_94x94): New macro.
2124         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2125         for 94x94 sets.
2126
2127         * mule-charset.c (put_byte_from_character_table): Change unit size
2128         from 128 to 256.
2129         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2130         not defined.
2131         (Fmake_reverse_direction_charset): Modify dummy argument of
2132         `make_charset' for non-UTF-2000 environment.
2133
2134 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2135
2136         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2137
2138         * mule-charset.c (destroy_byte_from_character_table): New macro.
2139         (latin_jisx0201_to_ucs): Deleted.
2140         (latin_iso8859_2_to_ucs): Deleted.
2141         (latin_iso8859_3_to_ucs): Deleted.
2142         (latin_iso8859_4_to_ucs): Deleted.
2143         (latin_iso8859_9_to_ucs): Deleted.
2144         (latin_viscii_lower_to_ucs): Deleted.
2145         (latin_viscii_upper_to_ucs): Deleted.
2146         (mark_charset): Mark `cs->decoding_table'.
2147         (Fcharset_mapping_table): Fix DOC-string.
2148         (Fset_charset_mapping_table): New function.
2149         (syms_of_mule_charset): Add nwe function
2150         `set-charset-mapping-table'.
2151         (complex_vars_of_mule_charset): Don't setup and use
2152         `latin_*_to_ucs'.
2153
2154 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2155
2156         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2157         charset.
2158
2159 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2160
2161         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2162         (Vcharset_katakana_jisx0208): New variable.
2163         (Qhiragana_jisx0208): New variable.
2164         (Qkatakana_jisx0208): New variable.
2165         (make_charset): Add new argument `byte_offset'.
2166         (charset_get_byte1): Modify for new coded-charset definition; use
2167         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2168         `XCHARSET_BYTE_OFFSET'.
2169         (Fmake_charset): Modify for `make_charset'.
2170         (Fmake_reverse_direction_charset): Likewise.
2171         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2172         `katakana-jisx0208'.
2173         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2174         `.'  in font registry of charset `katakana-jisx0201',
2175         `latin-jisx0201', `vietnamese-viscii-lower' and
2176         `vietnamese-viscii-upper'; modify DOC-string of charset
2177         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2178         registry of charset `japanese-jisx0208' not to use font for JIS
2179         X0208:1990; add new charset `hiragana-jisx0208' and
2180         `katakana-jisx0208'.
2181
2182         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2183         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2184         (struct Lisp_Charset): Add `byte_offset'.
2185         (CHARSET_BYTE_OFFSET): New macro.
2186         (XCHARSET_UCS_MIN): New macro.
2187         (XCHARSET_UCS_MAX): New macro.
2188         (XCHARSET_CODE_OFFSET): New macro.
2189         (XCHARSET_BYTE_OFFSET): New macro.
2190         (MIN_CHAR_HIRAGANA): New macro.
2191         (MAX_CHAR_HIRAGANA): New macro.
2192         (MIN_CHAR_KATAKANA): New macro.
2193         (MAX_CHAR_KATAKANA): New macro.
2194         (MAKE_CHAR): Modify for new coded-charset definition; use
2195         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2196         `XCHARSET_BYTE_OFFSET'.
2197
2198 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2199
2200         * mule-charset.c (CHAR96): Deleted.
2201         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2202         <Lisp_Object>.
2203         (latin_iso8859_2_to_ucs): Likewise.
2204         (latin_iso8859_3_to_ucs): Likewise.
2205         (latin_iso8859_4_to_ucs): Likewise.
2206         (latin_iso8859_9_to_ucs): Likewise.
2207         (latin_viscii_lower_to_ucs): Likewise.
2208         (latin_viscii_upper_to_ucs): Likewise.
2209         (latin_tcvn5712_to_ucs): Commented out.
2210         (make_charset): Change type of argument `decoding_table' from
2211         <Emchar*> to <Lisp_Object> [vector of characters].
2212         (Fmake_charset): Modify for `make_charset'.
2213         (Fmake_reverse_direction_charset): Likewise.
2214         (Fcharset_mapping_table): New function in UTF-2000.
2215         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2216         UTF-2000.
2217         (complex_vars_of_mule_charset): Modify for type change of
2218         `*_to_ucs'; modify for `make_charset'.
2219
2220         * char-ucs.h (struct Lisp_Charset): Change type of
2221         `decoding_table' from <Emchar*> to <Lisp_Object>.
2222         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2223
2224 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2225
2226         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2227         error with non-UTF-2000-Mule.
2228
2229 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2230
2231         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2232         in lisp again].
2233         (Vcharset_chinese_cns11643_4): Likewise.
2234         (Vcharset_chinese_cns11643_5): Likewise.
2235         (Vcharset_chinese_cns11643_6): Likewise.
2236         (Vcharset_chinese_cns11643_7): Likewise.
2237         (Qchinese_cns11643_3): Likewise.
2238         (Qchinese_cns11643_4): Likewise.
2239         (Qchinese_cns11643_5): Likewise.
2240         (Qchinese_cns11643_6): Likewise.
2241         (Qchinese_cns11643_7): Likewise.
2242         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2243         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2244         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2245         (complex_vars_of_mule_charset): Likewise.
2246
2247 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2248
2249         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2250         96-set.
2251         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2252         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2253
2254 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2255
2256         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2257         0xFF60.
2258         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2259         (breakup_char_1): Likewise.
2260
2261         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2262         one of them includes the specified character.
2263
2264 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2265
2266         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2267
2268 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2269
2270         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2271
2272 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2273
2274         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2275         definition for non-UTF-2000 Mule.
2276         (latin_iso8859_3_to_ucs): Likewise.
2277         (latin_iso8859_4_to_ucs): Likewise.
2278         (latin_iso8859_9_to_ucs): Likewise.
2279         (latin_jisx0201_to_ucs): Likewise.
2280         (MIN_CHAR_THAI): Likewise.
2281         (MAX_CHAR_THAI): Likewise.
2282         (MIN_CHAR_GREEK): Likewise.
2283         (MAX_CHAR_GREEK): Likewise.
2284         (MIN_CHAR_HEBREW): Likewise.
2285         (MAX_CHAR_HEBREW): Likewise.
2286         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2287         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2288         (MIN_CHAR_CYRILLIC): Likewise.
2289         (MAX_CHAR_CYRILLIC): Likewise.
2290
2291 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2292
2293         * char-ucs.h (breakup_char_1): Use
2294         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2295         thai-tis620 and katakana-jisx0201 area.
2296
2297 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2298
2299         * char-ucs.h (breakup_char_1): Use
2300         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2301         area.
2302
2303         * text-coding.c (reset_encoding_stream): Fixed.
2304         (char_encode_ucs4): Delete `& 255'.
2305
2306         * char-ucs.h (breakup_char_1): Use
2307         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2308
2309 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2310
2311         * file-coding.c (Fmake_coding_system): Don't set up
2312         `codesys->fixed.size'.
2313         (encode_coding_no_conversion): Don't refer
2314         `str->codesys->fixed.size'.
2315
2316 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2317
2318         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2319         (latin_a_char_to_byte1): Deleted.
2320         (latin_a_char_to_byte2): Deleted.
2321
2322 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2323
2324         * mule-charset.c (make_charset): Add new argument `ucs_min',
2325         `ucs_max' and `code_offset'.
2326         (charset_get_byte1): New implementation [delete specific charset
2327         depended implementations].
2328         (Fmake_charset): Modify for `make_charset'.
2329         (Fmake_reverse_direction_charset): Likewise.
2330         (complex_vars_of_mule_charset): Likewise.
2331
2332         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2333         `code_offset'.
2334         (CHARSET_UCS_MIN): New macro.
2335         (CHARSET_UCS_MAX): New macro.
2336         (CHARSET_CODE_OFFSET): New macro.
2337         (MAKE_CHAR): Delete charset depended definitions [except
2338         katakana-jisx0201].
2339
2340 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2341
2342         * char-ucs.h (breakup_char_1): Use
2343         `Vdefault_coded_charset_priority_list' for C0-Controls,
2344         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2345
2346 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2347
2348         * char-ucs.h (charset_get_byte1): New function.
2349         (XCHARSET_GET_BYTE1): Deleted.
2350         (charset_get_byte2): New function.
2351         (XCHARSET_GET_BYTE2): Deleted.
2352         (Vdefault_coded_charset_priority_list): New external variable.
2353         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2354         `Vdefault_preferred_coded_charset_list'.
2355
2356         * mule-charset.c (charset_get_byte1): New function.
2357         (charset_get_byte2): New function.
2358         (Vdefault_coded_charset_priority_list): New variable.
2359         (vars_of_mule_charset): Add new variable
2360         `default-coded-charset-priority-list'.
2361
2362 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2363
2364         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2365         (XCHARSET_GET_BYTE2): New inline function.
2366         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2367         `XCHARSET_GET_BYTE2'.
2368
2369 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2370
2371         * mule-charset.c (make_charset): Initialize
2372         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2373         NULL if table is not defined.
2374
2375 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2376
2377         * text-coding.c (char_encode_shift_jis): Use
2378         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2379         `ucs_to_latin_jisx0201'.
2380
2381         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2382         (ucs_to_latin_iso8859_2): Deleted.
2383         (ucs_to_latin_iso8859_3): Deleted.
2384         (ucs_to_latin_iso8859_4): Deleted.
2385         (ucs_to_latin_iso8859_9): Deleted.
2386         (ucs_to_latin_viscii_lower): Deleted.
2387         (ucs_to_latin_viscii_upper): Deleted.
2388         (ucs_to_latin_tcvn5712): Deleted.
2389         (make_charset): Add new argument `decoding_table'; set up
2390         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2391         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2392         `decoding_table' is defined in UTF-2000.
2393         (Fmake_charset): Modify for `make_charset'.
2394         (Fmake_reverse_direction_charset): Likewise.
2395         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2396         and `GENERATE_96_SET'.
2397
2398         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2399         (ucs_to_latin_jisx0201): Deleted.
2400         (latin_iso8859_2_to_ucs): Deleted.
2401         (ucs_to_latin_iso8859_2): Deleted.
2402         (latin_iso8859_3_to_ucs): Deleted.
2403         (ucs_to_latin_iso8859_3): Deleted.
2404         (latin_iso8859_4_to_ucs): Deleted.
2405         (ucs_to_latin_iso8859_4): Deleted.
2406         (latin_iso8859_9_to_ucs): Deleted.
2407         (ucs_to_latin_iso8859_9): Deleted.
2408         (latin_viscii_lower_to_ucs): Deleted.
2409         (ucs_to_latin_viscii_lower): Deleted.
2410         (latin_viscii_upper_to_ucs): Deleted.
2411         (ucs_to_latin_viscii_upper): Deleted.
2412         (struct Lisp_Charset): Renamed `encoding_table' to
2413         `to_byte1_table'; add `to_byte2_table'.
2414         (CHARSET_DECODING_TABLE): New macro.
2415         (CHARSET_TO_BYTE1_TABLE): New macro.
2416         (CHARSET_TO_BYTE2_TABLE): New macro.
2417         (XCHARSET_DECODING_TABLE): New macro.
2418         (XCHARSET_TO_BYTE1_TABLE): New macro.
2419         (XCHARSET_TO_BYTE2_TABLE): New macro.
2420         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2421         tables.
2422         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2423         don't use `ucs_to_*' tables.
2424
2425 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2426
2427         * text-coding.c (Fmake_coding_system): Don't set up
2428         `codesys->fixed.size'.
2429         (encode_coding_no_conversion): Use `if' instead of `switch'.
2430
2431         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2432
2433 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2434
2435         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2436         (Fmake_charset): Modify for `make_charset'.
2437         (Fmake_reverse_direction_charset): Likewise.
2438         (complex_vars_of_mule_charset): Likewise.
2439
2440 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2441
2442         * text-coding.c (char_encode_shift_jis): Use table
2443         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2444
2445 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2446
2447         * text-coding.c (text_encode_generic): Use `if' instead of
2448         `switch'.
2449         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2450         decode JIS-Latin.
2451
2452 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2453
2454         * text-coding.c (encode_coding_sjis): Deleted.
2455         (char_encode_shift_jis): New function.
2456         (char_finish_shift_jis): New function.
2457         (reset_encoding_stream): Set up `encode_char' and `finish' for
2458         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2459         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2460         (char_encode_utf8): Treat `eol_type'.
2461
2462 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2463
2464         * file-coding.c (decode_coding_iso2022): Use
2465         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2466
2467 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2468
2469         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2470         to 0.7 (Hirano).
2471
2472 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2473
2474         * char-lb.h (CHAR_COLUMNS): New macro.
2475
2476 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2477
2478         * text-coding.c (char_encode_ucs4): New function.
2479         (char_finish_ucs4): New function.
2480         (encode_coding_ucs4): Deleted.
2481         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2482         (text_encode_generic): Delete local variable `charset' and `half'.
2483         (ucs_to_mule_table): Deleted.
2484         (mule_to_ucs_table): Deleted.
2485         (Fset_ucs_char): Deleted.
2486         (ucs_to_char): Deleted.
2487         (Fucs_char): Deleted.
2488         (Fset_char_ucs): Deleted.
2489         (Fchar_ucs): Deleted.
2490         (decode_ucs4): Deleted.
2491         (mule_char_to_ucs4): Deleted.
2492         (encode_ucs4): Deleted.
2493         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2494         (decode_coding_utf8): Likewise.
2495         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2496         (char_encode_iso2022): Fixed.
2497         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2498         `Fset_char_ucs' and `Fchar_ucs'.
2499         (complex_vars_of_file_coding): Don't initialize
2500         `ucs_to_mule_table'.
2501
2502         * objects-tty.c (tty_initialize_font_instance): Don't use
2503         `XCHARSET_COLUMNS'.
2504
2505         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2506         UTF-2000.
2507
2508         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2509         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2510
2511         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2512         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2513         (emchar_string_displayed_columns): Likewise.
2514
2515         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2516         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2517         (string_column_at_point): Likewise.
2518         (Fmove_to_column): Likewise.
2519
2520         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2521         `encoding_table' and `decoding_table'.
2522         (CHARSET_REP_BYTES): Deleted.
2523         (XCHARSET_REP_BYTES): Deleted.
2524         (XCHARSET_COLUMNS): Deleted.
2525         (CHAR_COLUMNS): New macro.
2526         (lookup_composite_char): Deleted unconditionally.
2527         (composite_char_string): Likewise.
2528
2529 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2530
2531         * char-ucs.h (Emchar_to_byte_table): New type.
2532         (get_byte_from_character_table): New function interface.
2533         (Vcharset_latin_jisx0201): New variable.
2534         (latin_jisx0201_to_ucs): New variable.
2535         (ucs_to_latin_jisx0201): New variable.
2536         (Vcharset_latin_iso8859_2): New variable.
2537         (latin_iso8859_2_to_ucs): New variable.
2538         (ucs_to_latin_iso8859_2): New variable.
2539         (Vcharset_latin_iso8859_3): New variable.
2540         (latin_iso8859_3_to_ucs): New variable.
2541         (ucs_to_latin_iso8859_3): New variable.
2542         (Vcharset_latin_iso8859_4): New variable.
2543         (latin_iso8859_4_to_ucs): New variable.
2544         (ucs_to_latin_iso8859_4): New variable.
2545         (Vcharset_latin_iso8859_9): New variable.
2546         (latin_iso8859_9_to_ucs): New variable.
2547         (ucs_to_latin_iso8859_9): New variable.
2548         (Vcharset_latin_viscii_lower): New variable.
2549         (latin_viscii_lower_to_ucs): New variable.
2550         (ucs_to_latin_viscii_lower): New variable.
2551         (Vcharset_latin_viscii_upper): New variable.
2552         (latin_viscii_upper_to_ucs): New variable.
2553         (ucs_to_latin_viscii_upper): New variable.
2554         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2555         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2556         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2557         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2558         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2559         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2560         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2561         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2562         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2563         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2564
2565         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2566         (Vcharset_latin_viscii_upper): New variable.
2567         (make_byte_from_character_table): New function.
2568         (put_byte_from_character_table): New function.
2569         (get_byte_from_character_table): New function.
2570         (CHAR96): New macro.
2571         (ucs_to_latin_jisx0201): New variable.
2572         (latin_jisx0201_to_ucs): New variable.
2573         (ucs_to_latin_iso8859_2): New variable.
2574         (latin_iso8859_2_to_ucs): New variable.
2575         (ucs_to_latin_iso8859_3): New variable.
2576         (latin_iso8859_3_to_ucs): New variable.
2577         (ucs_to_latin_iso8859_4): New variable.
2578         (latin_iso8859_4_to_ucs): New variable.
2579         (ucs_to_latin_iso8859_9): New variable.
2580         (latin_iso8859_9_to_ucs): New variable.
2581         (ucs_to_latin_viscii_lower): New variable.
2582         (latin_viscii_lower_to_ucs): New variable.
2583         (ucs_to_latin_viscii_upper): New variable.
2584         (latin_viscii_upper_to_ucs): New variable.
2585         (ucs_to_latin_tcvn5712): New variable.
2586         (latin_tcvn5712_to_ucs): New variable.
2587         (Qlatin_viscii_lower): New variable.
2588         (Qlatin_viscii_upper): New variable.
2589         (syms_of_mule_charset): Set up new symbol
2590         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2591         (complex_vars_of_mule_charset): Set up new charset
2592         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2593         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2594         `ucs_to_<CHARSET>' tables.
2595
2596 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2597
2598         * text-coding.c: New file.
2599
2600 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2601
2602         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2603
2604         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2605         (MAKE_CHAR): Modify for `ucs-bmp'.
2606         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2607         non-MULE characters of BMP.
2608
2609 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2610
2611         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2612         to 0.6.
2613
2614 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2615
2616         * lstream.h:
2617         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2618         - Include character.h for `CHAR_ASCII_P'.
2619
2620         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2621
2622         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2623         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2624
2625         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2626         (BYTE_C0_P): Likewise.
2627         (BYTE_C1_P): Likewise.
2628         (Lstream_get_emchar_1): Likewise.
2629         (Lstream_fput_emchar): Likewise.
2630         (Lstream_funget_emchar): Likewise.
2631         (copy_internal_to_external): Likewise.
2632         (copy_external_to_internal): Likewise.
2633
2634         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2635         (BYTE_C0_P): Likewise.
2636         (BYTE_C1_P): Likewise.
2637         (Lstream_get_emchar_1): Likewise.
2638         (Lstream_fput_emchar): Likewise.
2639         (Lstream_funget_emchar): Likewise.
2640         (copy_internal_to_external): Likewise.
2641         (copy_external_to_internal): Likewise.
2642
2643         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2644         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2645
2646         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2647         (BYTE_ASCII_P): Moved to mb-1byte.h.
2648
2649 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2650
2651         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2652
2653         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2654         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2655         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2656         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2657         (VALIDATE_CHARPTR_FORWARD): Likewise.
2658         (simple_charptr_emchar): Moved to mb-multibyte.h.
2659         (simple_set_charptr_emchar): Likewise.
2660         (simple_charptr_copy_char): Likewise.
2661         (non_ascii_charptr_emchar): Likewise.
2662         (non_ascii_set_charptr_emchar): Likewise.
2663         (non_ascii_charptr_copy_char): Likewise.
2664         (charptr_emchar): Moved to mb-*byte.h.
2665         (set_charptr_emchar): Likewise.
2666         (charptr_copy_char): Likewise.
2667
2668         * mb-1byte.h, mb-multibyte.h: New files.
2669
2670 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2671
2672         * mb-utf-8.h (MULTIBYTE): New macro.
2673         (MAX_EMCHAR_LEN): Moved from buffer.h.
2674         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2675
2676         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2677
2678         * mb-lb.h, multibyte.h: New files.
2679
2680         * char-1byte.h (Charset_ID): Moved from buffer.h.
2681         (MIN_LEADING_BYTE): Likewise.
2682         (LEADING_BYTE_ASCII): Likewise.
2683         (NUM_LEADING_BYTES): Likewise.
2684         (CHARSETP): Likewise.
2685         (CHARSET_BY_LEADING_BYTE): Likewise.
2686         (XCHARSET_LEADING_BYTE): Likewise.
2687         (XCHARSET_GRAPHIC): Likewise.
2688         (XCHARSET_COLUMNS): Likewise.
2689         (XCHARSET_DIMENSION): Likewise.
2690         (CHAR_CHARSET): Likewise.
2691         (CHAR_LEADING_BYTE): Likewise.
2692         (BREAKUP_CHAR): Likewise.
2693         (Vcharset_ascii): Likewise.
2694
2695         * buffer.h: Include multibyte.h unconditionally.
2696         (VALID_CHARPTR_P): Moved to multibyte.h.
2697         (ASSERT_VALID_CHARPTR): Likewise.
2698         (REAL_INC_CHARPTR): Likewise.
2699         (REAL_INC_CHARBYTIND): Likewise.
2700         (REAL_DEC_CHARPTR): Likewise.
2701         (INC_CHARPTR): Likewise.
2702         (INC_CHARBYTIND): Likewise.
2703         (DEC_CHARPTR): Likewise.
2704         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2705         (VALIDATE_CHARPTR_FORWARD): Likewise.
2706         (charptr_n_addr): Likewise.
2707         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2708         (simple_charptr_emchar): Moved to multibyte.h.
2709         (simple_set_charptr_emchar): Likewise.
2710         (simple_charptr_copy_char): Likewise.
2711         (non_ascii_charptr_emchar): Likewise.
2712         (non_ascii_set_charptr_emchar): Likewise.
2713         (non_ascii_charptr_copy_char): Likewise.
2714         (charptr_emchar): Likewise.
2715         (set_charptr_emchar): Likewise.
2716         (charptr_copy_char): Likewise.
2717         (charptr_emchar_n): Likewise.
2718         (Charset_ID): Moved to char-1byte.h.
2719         (Vcharset_ascii): Likewise.
2720         (CHAR_CHARSET): Likewise.
2721         (CHAR_LEADING_BYTE): Likewise.
2722         (LEADING_BYTE_ASCII): Likewise.
2723         (NUM_LEADING_BYTES): Likewise.
2724         (MIN_LEADING_BYTE): Likewise.
2725         (CHARSETP): Likewise.
2726         (CHARSET_BY_LEADING_BYTE): Likewise.
2727         (XCHARSET_LEADING_BYTE): Likewise.
2728         (XCHARSET_GRAPHIC): Likewise.
2729         (XCHARSET_COLUMNS): Likewise.
2730         (XCHARSET_DIMENSION): Likewise.
2731         (BREAKUP_CHAR): Likewise.
2732
2733 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2734
2735         * character.h: Add document about interface for characters.
2736
2737         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2738         (MAKE_CHAR): Delete comment about
2739         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2740         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2741         (BREAKUP_CHAR): Modify name of arguments.
2742         (CHAR_CHARSET): Modify name of argument.
2743
2744         * buffer.h: Delete document about Emchar accessors.
2745
2746 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2747
2748         * character.h (CHAR_INTP): Moved from buffer.h
2749         (CHAR_OR_CHAR_INTP): Likewise.
2750         (XCHAR_OR_CHAR_INT): Likewise.
2751         (CHECK_CHAR_COERCE_INT): Likewise.
2752
2753         * buffer.h (CHAR_INTP): Moved to character.h
2754         (CHAR_OR_CHAR_INTP): Likewise.
2755         (XCHAR_OR_CHAR_INT): Likewise.
2756         (CHECK_CHAR_COERCE_INT): Likewise.
2757
2758 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2759
2760         * character.h:
2761         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2762         - Include char-1byte.h, char-lb.h or char-ucs.h.
2763
2764         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2765
2766         * buffer.h: Include character unconditionally.
2767         (valid_char_p): Moved to char-*.h.
2768         (non_ascii_valid_char_p): Moved to char-lb.h.
2769
2770         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2771
2772 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2773
2774         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2775         in UTF-2000 because it is not ported yet and not to use
2776         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2777         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2778         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2779
2780         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2781         (CHAR_ASCII_P): Moved from character.h.
2782
2783         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2784         (CHAR_ASCII_P): Likewise.
2785         (CHAR_FIELD1_MASK): Deleted.
2786         (CHAR_FIELD2_MASK): Deleted.
2787         (CHAR_FIELD3_MASK): Deleted.
2788         (MAX_CHAR_BASIC_LATIN): New macro.
2789         (CHAR_FIELD1): Deleted.
2790         (CHAR_FIELD2_INTERNAL): Deleted.
2791         (CHAR_FIELD3_INTERNAL): Deleted.
2792         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2793         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2794         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2795         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2796         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2797         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2798         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2799         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2800         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2801         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2802         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2803         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2804         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2805         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2806         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2807         (MIN_CHAR_COMPOSITION): Deleted.
2808         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2809         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2810
2811 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2812
2813         * buffer.h: Include mb-utf-8.h in UTF-2000.
2814
2815         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2816
2817         * mb-utf-8.h: New file.
2818
2819 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2820
2821         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2822         instead of `int'.
2823
2824         * mule-charset.h, buffer.h (Charset_ID): New type.
2825
2826 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2827
2828         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2829         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2830         instead of `MULE_CHAR_PRIVATE_OFFSET',
2831         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2832         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2833         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2834
2835         * character.h (Vcharset_japanese_jisx0212): New variable
2836         definition.
2837
2838 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2839
2840         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
2841         (charset_by_attributes): Delete array about direction.
2842         (latin_a_char_to_charset): New variable in UTF-2000.
2843         (latin_a_char_to_byte1): New variable in UTF-2000.
2844         (latin_a_char_to_byte2): New variable in UTF-2000.
2845         (Qucs_bmp): New variable.
2846         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
2847         `Bufbyte'.
2848         (next_allocated_2_byte_leading_byte): Likewise.
2849         (non_ascii_set_charptr_emchar): Likewise.
2850         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
2851         `CHARSET_TYPE_256X256' in UTF-2000; modify for
2852         `charset_by_attributes'.
2853         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
2854         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
2855         and `CHARSET_BY_LEADING_BYTE'.
2856         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
2857         `utf-2000-version' to `vars_of_mule_charset'.
2858         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
2859         define `leading-code-private-11' in UTF-2000; move setting of
2860         `utf-2000-version' from `syms_of_mule_charset'.
2861         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
2862         UTF-2000.
2863
2864         * character.h (Charset_ID): New type.
2865         (LEADING_BYTE_UCS_BMP): New macro.
2866         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
2867         (CHARSET_ID_OFFSET_94): New macro.
2868         (MIN_CHARSET_ID_PRIVATE_94): New macro.
2869         (MAX_CHARSET_ID_PRIVATE_94): New macro.
2870         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
2871         final-byte.
2872         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
2873         (LEADING_BYTE_LATIN_JISX0201): Likewise.
2874         (CHARSET_ID_OFFSET_96): New macro.
2875         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
2876         CHARSET_ID_OFFSET_96 and final-byte.
2877         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
2878         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
2879         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
2880         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
2881         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
2882         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
2883         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
2884         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
2885         (LEADING_BYTE_THAI_TIS620): Likewise.
2886         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
2887         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
2888         (CHARSET_ID_OFFSET_94x94): New macro.
2889         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
2890         CHARSET_ID_OFFSET_94x94 and final-byte.
2891         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
2892         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
2893         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
2894         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
2895         (LEADING_BYTE_CHINESE_GB2312): Likewise.
2896         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
2897         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
2898         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
2899         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
2900         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
2901         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
2902         (CHARSET_TYPE_128X128): New macro.
2903         (CHARSET_TYPE_256X256): New macro.
2904         (XCHARSET_PRIVATE_P): Delete unconditionally.
2905         (charset_by_attributes): Delete array about direction.
2906         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
2907         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
2908         (MIN_CHAR_94): New macro.
2909         (MAX_CHAR_94): New macro.
2910         (MIN_CHAR_96): New macro.
2911         (MAX_CHAR_96): New macro.
2912         (MIN_CHAR_94x94): New macro.
2913         (MAX_CHAR_94x94): New macro.
2914         (MIN_CHAR_96x96): New macro.
2915         (MAX_CHAR_96x96): New macro.
2916         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
2917         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2918         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
2919         - 32)'.
2920         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
2921         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
2922         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
2923         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
2924         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
2925         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
2926         `XCHARSET_LEADING_BYTE' to make code-point.
2927         (latin_a_char_to_charset): New variable.
2928         (latin_a_char_to_byte1): New variable.
2929         (latin_a_char_to_byte2): New variable.
2930         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
2931         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
2932         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
2933
2934         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
2935         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
2936         (find_charsets_in_emchar_string): Likewise.
2937         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
2938
2939         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
2940         `int'.
2941         (decode_coding_iso2022): Likewise.
2942
2943         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
2944         of `unsigned char'.
2945
2946         * redisplay.c (redisplay_text_width_emchar_string): Use
2947         `Charset_ID' instead of `unsigned char'.
2948         (redisplay_frame_text_width_string): Likewise.
2949
2950         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
2951         `unsigned char'.
2952
2953         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
2954         instead of `unsigned char'.
2955         (face_cachel_charset_font_metric_info): Likewise.
2956
2957         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
2958         (get_non_ascii_char_table_value): Likewise.
2959         (get_char_table): Likewise.
2960         (put_char_table): Likewise.
2961         (map_over_other_charset): Likewise.
2962         (map_char_table): Likewise.
2963
2964         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
2965         instead of `unsigned char'.
2966
2967 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
2968
2969         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
2970         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
2971
2972         * mule-charset.c (leading_code_private_11): Don't define in
2973         UTF-2000.
2974
2975         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
2976         in UTF-2000 because it is not ported yet and not to use
2977         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
2978
2979 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
2980
2981         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
2982
2983 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2984
2985         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
2986         in UTF-2000.
2987
2988         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
2989         of unsigned char to store leading-byte.
2990
2991         * chartab.c (get_non_ascii_char_table_value): Don't use
2992         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
2993
2994         * file-coding.c (encode_coding_big5): Delete bogus implementation
2995         in UTF2000.
2996
2997         * character.h (LEADING_BYTE_*): Delete definition for
2998         non-UTF-2000.
2999         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3000         (LEADING_BYTE_PREFIX_P): Deleted.
3001         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3002         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3003         (BUFBYTE_LEADING_BYTE_P): Deleted.
3004         (CHARSET_PRIVATE_P): Deleted unconditionally.
3005         (rep_bytes_by_first_byte): Deleted unconditionally.
3006         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3007         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3008         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3009         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3010         (CHAR_FIELD2): Deleted.
3011         (CHAR_FIELD3): Deleted.
3012         (MAKE_CHAR): Delete definition for non-UTF-2000.
3013         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3014         (breakup_char_1): New implementation.
3015         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3016         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3017
3018 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3019
3020         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3021         condition.
3022
3023 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3024
3025         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3026         (CHARSET_PRIVATE_P): Likewise.
3027         (XCHARSET_PRIVATE_P): Likewise.
3028         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3029
3030         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3031         UTF2000.
3032         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3033
3034 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3035
3036         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3037         (NUM_LEADING_BYTES): Changed from 128 to 256.
3038         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3039         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3040         UTF2000.
3041         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3042
3043         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3044         UTF2000.
3045         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3046         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3047         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3048         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3049         (Qchinese_cns11643_3): New variable in UTF2000.
3050         (Qchinese_cns11643_4): New variable in UTF2000.
3051         (Qchinese_cns11643_5): New variable in UTF2000.
3052         (Qchinese_cns11643_6): New variable in UTF2000.
3053         (Qchinese_cns11643_7): New variable in UTF2000.
3054         (syms_of_mule_charset): Define `chinese-cns11643-3',
3055         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3056         and `chinese-cns11643-7' in UTF2000.
3057         (vars_of_mule_charset): Initialize
3058         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3059         + 1 in UTF2000.
3060         (complex_vars_of_mule_charset): Setup charset
3061         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3062         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3063
3064 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3065
3066         * mule-charset.c: Move setting for `leading-code-private-11' from
3067         `syms_of_mule_charset' to `vars_of_mule_charset'.
3068
3069 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3070
3071         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3072         and `NUM_LEADING_BYTES' in assert.
3073
3074 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3075
3076         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3077         instead of 128.
3078         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3079         `NUM_LEADING_BYTES' instead of 128.
3080
3081 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3082
3083         * mule-charset.h (charset_by_leading_byte): Use
3084         `NUM_LEADING_BYTES' instead of 128.
3085         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3086
3087         * mule-charset.c (charset_by_leading_byte): Use
3088         `NUM_LEADING_BYTES' instead of 128.
3089         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3090
3091         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3092         128.
3093
3094 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3095
3096         * mule-charset.c (syms_of_mule_charset): Update to
3097         0.4 (Shin-Imamiya).
3098
3099 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3100
3101         * file-coding.c (encode_coding_sjis): New implementation for
3102         UTF2000.  (decode_coding_sjis): Ditto.
3103
3104 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3105
3106         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3107         Don't define in UTF2000.
3108
3109         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3110         defined.
3111
3112         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3113         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3114         MULE.
3115
3116 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3117
3118         * config.h.in (CHAR_IS_UCS4): New macro.
3119
3120         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3121         conventional MULE representation.
3122         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3123
3124         * mule-charset.h: Reverted to original.
3125
3126         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3127         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3128         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3129
3130         * character.h: New file.
3131
3132         * file-coding.c (Fmake_coding_system): Set 1 to
3133         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3134         defined.
3135         (encode_coding_no_conversion): New implementation for UTF2000.
3136
3137         * file-coding.h (struct Lisp_Coding_System): Add new member
3138         `fixed.size'.
3139
3140 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3141
3142         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3143         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3144         (encode_coding_iso2022): New implementation for UTF2000.
3145
3146 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3147
3148         * mule-canna.c (c2mu): New implementation for UTF2000.
3149         (m2c): Likewise.
3150
3151 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3152
3153         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3154
3155 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3156
3157         * file-coding.c (reset_encoding_stream): Set 0 to
3158         `str->iso2022.current_char_boundary' in UTF2000.
3159         (encode_utf8): Don't define in UTF2000.
3160         (encode_coding_utf8): New implementation for UTF-8 representation
3161         of UTF2000.
3162         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3163
3164 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3165
3166         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3167
3168         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3169         UTF2000.
3170         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3171
3172         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3173
3174         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3175         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3176         as UTF-8 in UTF2000.
3177         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3178         (non_ascii_valid_char_p): Don't define in UTF2000.
3179         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3180         (Lstream_get_emchar_1): Likewise.
3181         (utf-2000-version): New variable in UTF2000.
3182
3183         * lread.c (read_escape): Add new reader `u'.
3184
3185         * insdel.c (three_to_one_table): Don't define in UTF2000.
3186         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3187         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3188         UTF2000.
3189         (bytind_to_bufpos_func): Likewise.
3190         (buffer_mule_signal_inserted_region): Likewise.
3191         (vars_of_insdel): Don't initialize `three_to_one_table'.
3192         (init_buffer_text): Use `buf->text->mule_size' instead of
3193         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3194         UTF2000.
3195
3196         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3197         UTF-8 representation in UTF2000.
3198         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3199         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3200         (decode_coding_iso2022): Don't define local variable `lb' in
3201         UTF2000; don't use LEADING_BYTE in UTF2000; use
3202         `DECODE_ADD_UCS_CHAR' in UTF2000.
3203         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3204
3205         * config.h.in (UTF2000): New macro.
3206
3207         * buffer.h (struct buffer_text): Add new member `mule_size' and
3208         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3209         (valid_char_p): Return always 1 in UTF2000.
3210         (MAX_EMCHAR_LEN): 6 in UTF2000.
3211         (three_to_one_table): Don't define in UTF2000.
3212         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3213         UTF2000.
3214         (real_bytind_to_bufpos): Likewise.
3215
3216         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3217
3218 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3219
3220         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3221         representation change.
3222         (Vutf_2000_version): New variable.
3223         (leading_code_private_11): New variable.
3224         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3225         `leading-code-private-11'.
3226
3227         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3228         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3229         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3230         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3231         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3232         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3233         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3234         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3235         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3236         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3237         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3238         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3239         (MIN_CHAR_GREEK): New macro.
3240         (MAX_CHAR_GREEK): New macro.
3241         (MIN_CHAR_CYRILLIC): New macro.
3242         (MAX_CHAR_CYRILLIC): New macro.
3243         (MIN_CHAR_HEBREW): New macro.
3244         (MAX_CHAR_HEBREW): New macro.
3245         (MIN_CHAR_THAI): New macro.
3246         (MAX_CHAR_THAI): New macro.
3247         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3248         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3249         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3250         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3251         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3252         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3253         (CHAR_FIELD2): New inline function.
3254         (CHAR_FIELD3): New inline function.
3255         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3256         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3257         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3258         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3259         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3260         (MIN_CHAR_COMPOSITION): Likewise.
3261         (CHAR_LEADING_BYTE): Modified for character representation change.
3262         (MAKE_CHAR): Likewise.
3263
3264         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3265         (Vcharset_greek_iso8859_7): Likewise.
3266         (Vcharset_cyrillic_iso8859_5): Likewise.
3267         (Vcharset_hebrew_iso8859_8): Likewise.
3268         (Vcharset_thai_tis620): Likewise.
3269         (Vcharset_katakana_jisx0201): Likewise.
3270
3271 2001-01-17  Martin Buchholz <martin@xemacs.org>
3272
3273         * XEmacs 21.2.41 "Polyhymnia" is released.
3274
3275 2001-01-16  Didier Verna  <didier@xemacs.org>
3276
3277         * glyphs.c (image_instantiate): don't use fallbacks when
3278         instantiating a face's background pixmap by inheritance.
3279
3280 2001-01-14  Mike Sperber <mike@xemacs.org>
3281
3282         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3283         Conditionalize accordingly.
3284
3285 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3286
3287         * dumper.c (pdump_file_get): Fix a compiler warning.
3288
3289 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3290
3291         Make Purify happy when pdumping.
3292         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3293         iniitalizing all bits of new lisp object memory.
3294         * symbols.c (Fmake_local_variable): Likewise.
3295         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3296         * symbols.c (Fdefvaralias): Likewise.
3297         * mule-charset.c (vars_of_mule_charset): Likewise.
3298
3299 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3300         Add the `-nd' flag when running pre-dump operations under the debugger.
3301         * .dbxrc (run-temacs): Add `-nd'.
3302         * .dbxrc (update-elc): Likewise.
3303         * .dbxrc (dump-temacs): Likewise.
3304         * .gdbinit (run-temacs): Likewise.
3305         * .gdbinit (check-temacs): Likewise.
3306         * .gdbinit (update-elc): Likewise.
3307         * .gdbinit (dump-temacs): Likewise.
3308
3309 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3310
3311         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3312         export OBJECT_MODE=64
3313         configure --pdump --use-union-type=no
3314         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3315         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3316
3317         * miscplay.c (sndcnv8U_2mono):
3318         Avoid two uses of `++' in the same expression.
3319         Suppresses a GCC warning.
3320
3321 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3322
3323         Make sure future compilers don't miscompile alloc.c.
3324         * alloc.c:
3325         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3326         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3327
3328 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3329
3330         * dumper.c: A little post-pdump-rename comment fixup.
3331
3332 2001-01-09  Jerry James  <james@eecs.ku.edu>
3333
3334         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3335
3336 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3337
3338         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3339         script:
3340         #!/bin/sh
3341         replace_symbol () {
3342           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3343         }
3344
3345         replace_symbol pdump_wire_lists pdump_weak_object_chains
3346         replace_symbol pdump_wire_list dump_add_weak_object_chain
3347
3348         replace_symbol pdump_wires pdump_root_objects
3349         replace_symbol pdump_wire dump_add_root_object
3350
3351         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3352         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3353
3354         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3355         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3356         replace_symbol dumpstructinfo pdump_root_struct_ptr
3357         replace_symbol dumpstruct dump_add_root_struct_ptr
3358
3359         replace_symbol dumpopaque dump_add_opaque
3360         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3361         replace_symbol dumpopaqueinfos pdump_opaques
3362         replace_symbol dumpopaqueinfo pdump_opaque
3363
3364         replace_symbol nb_structdump nb_root_struct_ptrs
3365         replace_symbol nb_opaquedump nb_opaques
3366
3367         replace_symbol align_table pdump_align_table
3368         replace_symbol dump_header pdump_header
3369
3370         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3371         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3372
3373
3374 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3375
3376         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3377         optimizing bytecount_to_charcount().
3378
3379 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3380
3381         * config.h.in:
3382         (HAVE_DLFCN_H): Removed.
3383         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3384
3385 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3386
3387         Portable dumper maintainability improvements.
3388         * alloc.c (staticpro):
3389         * alloc.c (staticpro_nodump):
3390         * alloc.c (garbage_collect_1):
3391         * alloc.c (reinit_alloc_once_early):
3392         * alloc.c (init_alloc_once_early):
3393         * alloc.c: Move dumper functions to alloc.c.
3394         * dumper.c (pdump_backtrace):
3395         * dumper.c (pdump_dump_structs):
3396         * dumper.c (pdump_dump_opaques):
3397         * dumper.c (pdump_dump_rtables):
3398         * dumper.c (pdump_dump_wired):
3399         * dumper.c (pdump):
3400         * dumper.c (pdump_load_check):
3401         * dumper.c (pdump_load_finish):
3402         * dumper.c (pdump_file_unmap):
3403         * dumper.c (pdump_file_get):
3404         * dumper.c (pdump_resource_free):
3405         * dumper.c (pdump_resource_get):
3406         * dumper.c (pdump_file_free):
3407         * dumper.c (pdump_file_try):
3408         * dumper.c (pdump_load):
3409         Remove fixed size limits on staticpro(), staticpro_nodump(),
3410         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3411         Remove custom code for dumping lrecord_implementations_table - use
3412         dumpopaque instead.
3413         Remove (most of the) custom code for dumping staticpros - dump it
3414         like any other dynarr.
3415
3416         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3417         * dumper.c: Moved functions from alloc.c.
3418         * alloc.c (dumpstruct): Moved to dumper.c.
3419         * alloc.c (dumpopaque): Likewise.
3420         * alloc.c (pdump_wire): Likewise.
3421         * alloc.c (pdump_wire_list): Likewise.
3422
3423         * lisp.h (Dynarr_sizeof): New.
3424         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3425         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3426         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3427
3428         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3429         * lisp.h (dumpopaque): ditto.
3430         * lisp.h (pdump_wire): ditto.
3431         * lisp.h (pdump_wire_list): ditto.
3432
3433 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3434
3435         * make-src-depend (PrintPatternDeps):
3436         Use `sort' to make output independent of perl version.
3437
3438 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3439
3440         Port to Netbsd 1.5.
3441         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3442         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3443
3444 2001-01-03  Didier Verna  <didier@xemacs.org>
3445
3446         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3447         that `focus_frame' is alive before thinking of calling
3448         `redisplay_redraw_cursor' on it.
3449
3450 2001-01-08  Martin Buchholz <martin@xemacs.org>
3451
3452         * XEmacs 21.2.40 is released.
3453
3454 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3455
3456         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3457
3458 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3459
3460         * alloc.c (dbg_valmask): Make const.
3461         * alloc.c (dbg_typemask): Make const.
3462         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3463         * alloc.c (dbg_valbits): Make const.
3464         * alloc.c (dbg_gctypebits): Make const.
3465
3466 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3467
3468         * redisplay-x.c (x_bevel_area):
3469         redisplay.h (struct rune):
3470         Typo fixes in comments.
3471
3472 2001-01-05  Andy Piper  <andy@xemacs.org>
3473
3474         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3475         adjustment.
3476
3477         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3478
3479 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3480
3481         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3482
3483         * mule-ccl.c (stack_idx_of_map_multiple):
3484         Non const global data must not be initialized!
3485         Found by MIYASHITA Hisashi.
3486
3487 2001-01-02  Andy Piper  <andy@xemacs.org>
3488
3489         * frame.c (change_frame_size): make sure frame size is always
3490         marked as changed.
3491
3492         * glyphs.c (image_instance_layout): minor code reuse.
3493
3494         * window.c (Fcurrent_window_configuration): revert previous
3495         change.
3496
3497 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3498
3499         * glyphs.h:
3500         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3501
3502 2000-12-31  Andy Piper  <andy@xemacs.org>
3503
3504         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3505         when widget gets unmapped.
3506
3507         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3508         function. Make sure widgets losing focus don't just drop it.
3509         (handle_focus_event_1): record the widget with focus.
3510
3511 2000-12-31  Andy Piper  <andy@xemacs.org>
3512
3513         * window.c (allocate_window): use
3514         make_image_instance_cache_hash_table.
3515         (make_dummy_parent): ditto.
3516         (Fset_window_configuration): ditto.
3517
3518         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3519
3520         * glyphs.c (process_image_string_instantiator): use
3521         INSTANTIATOR_TYPE.
3522         (get_image_instantiator_governing_domain): ditto.
3523         (normalize_image_instantiator): ditto.
3524         (instantiate_image_instantiator): ditto.
3525         (make_image_instance_1): ditto.
3526         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3527         (instantiator_eq_equal): new function for use with instance hash
3528         tables.
3529         (instantiator_eq_hash): ditto.
3530         (make_image_instance_cache_hash_table): create a suitable hash
3531         table for storing image instances.
3532
3533         * elhash.h (hash_table_weakness): new internal weakness type
3534         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3535         declare new functions.
3536
3537         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3538         another weakness type for glyphs.
3539         (make_standard_lisp_hash_table): new function split out from
3540         make_general_lisp_hash_table.
3541         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3542         (hash_table_instantiate): ditto.
3543         (Fmake_hash_table): ditto.
3544
3545 2000-12-31  Martin Buchholz <martin@xemacs.org>
3546
3547         * XEmacs 21.2.39 is released.
3548
3549 2000-12-29  Andy Piper  <andy@xemacs.org>
3550
3551         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3552
3553         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3554         the frame has changed so that we pick up geometry changes such as
3555         menubar visibility.
3556
3557 2000-12-28  Andy Piper  <andy@xemacs.org>
3558
3559         * lastfile.c (my_ebss): make a char array so we can pad the
3560         bss. Fixes cygwin unexec.
3561
3562         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3563
3564 2000-12-26  Andy Piper  <andy@xemacs.org>
3565
3566         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3567         comments and try and be more precise about a non-/SIGIO world.
3568         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3569         SIGIO.
3570
3571         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3572         we don't normalize to zero width or height.
3573
3574 2000-12-24  Andy Piper  <andy@xemacs.org>
3575
3576         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3577
3578 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3579
3580         * s/sco5.h: SCO 5 has pty support.
3581
3582 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3583
3584         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3585         input-method-xlib.c contains whole contents of input-method-xfs.c,
3586         so we can use input-method-xlib.c's code for USE_XFONTSET
3587         using #ifdefs.
3588         * input-method-xfs.c: removed.
3589
3590 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3591
3592         * file-coding.h (enum coding_category_type): reorder enumerators to
3593         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3594         (now one greater than largest real coding_category_type enumerator).
3595         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3596         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3597         Fcoding_category_list, Fset_coding_priority_list,
3598         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3599         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3600
3601 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3602
3603         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3604         * redisplay-output.c (redisplay_output_window): Clear top of window
3605         when face is changed.
3606         * redisplay-x.c (x_redraw_exposed_window): Call
3607         redisplay_clear_top_of_window.
3608         * redisplay.h: Publish redisplay_clear_top_of_window.
3609
3610 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3611
3612         * buffer.c (Fkill_buffer): Map over all devices.
3613         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3614         (list_windows): New function.
3615         (list_all_windows): Ditto.
3616         (Freplace_buffer_in_windows): Use them.
3617
3618 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3619
3620         * database.c (berkdb_subtype): Recognize new subtype `queue'.
3621         (Fopen_database): Use `db_create' instead of `db_open'.
3622         (syms_of_database): Initialize Qqueue.
3623
3624 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3625
3626         * buffer.c (common_init_complex_vars_of_buffer): Initialize
3627         buffer_local_face_property.
3628         * buffer.h (struct buffer): New member buffer_local_face_property.
3629         * window.c (Fset_window_buffer):  Mark window's face as changed
3630         when buffer has buffer local face.
3631         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
3632         * objects.c (color_after_change): Set buffer_local_face_property
3633         when locale of face specifier is buffer.
3634         * objects.c (font_after_change): Ditto.
3635         * objects.c (face_boolean_after_change): Ditto.
3636         * glyphs.c (image_after_change): Ditto.
3637
3638 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3639
3640         * nt.c (mswindows_fstat): Report file permissions, volume serial
3641         number, etc. Code adapted from FSF Emacs 20.7.
3642
3643 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3644
3645         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
3646         of stat when we don't have symbolic links, to make sure
3647         mswindows_stat is called on mswindows.
3648
3649 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
3650
3651         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
3652
3653 2000-12-12  Martin Buchholz  <martin@xemacs.org>
3654
3655         * doprnt.c (emacs_doprnt_1): More printing fixes.
3656         Make printing of numbers compatible with libc and FSF Emacs.
3657         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
3658         Use the system printf to do most of the hard work of formatting,
3659         instead of doprnt_1().
3660         Calculate memory to allocate for format string.
3661         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
3662         (doprnt_1): Cleaner code and documentation.
3663
3664 2000-12-01  Jerry James  <james@eecs.ukans.edu>
3665
3666         * Makefile.in.in: Use the loop variable to install headers.
3667
3668 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3669
3670         * window.c (Fsplit_window): Don't invalidate face cache.
3671
3672 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3673
3674         * minibuf.c (Fall_completions): Undo the previous change
3675         which removed checking elements start with space.
3676
3677 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3678
3679         * mule-canna.c: Didier suppression.
3680
3681 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3682
3683         * mule-canna.c: rename static unsigned char buf[] to key_buffer
3684         (warning suppression).  Add English comment translations.
3685
3686 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3687
3688         * unexelfsgi.c (unexec): Better test for mmap failure.
3689
3690 2000-12-05  Martin Buchholz <martin@xemacs.org>
3691
3692         * XEmacs 21.2.38 is released.
3693
3694 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3695
3696         * redisplay.c (bar-cursor): Make a user variable.
3697
3698         * symsinit.h: Add init_postgresql_from_environment.
3699
3700 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3701
3702         * regex.c: Convert to clean C.
3703
3704 2000-12-05  Dan Holmsand  <dan@eyebee.com>
3705
3706         * realpath.c:
3707         Don't #include sysfile.h. Revert to duplicating PATH_MAX
3708         initialization.
3709         (sys_readlink): renamed to system_readlink to avoid conflict with
3710         the other sys_readlink.
3711
3712 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
3713
3714         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
3715
3716 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
3717
3718         * postgresql.c (init_postgresql_from_environment): new function.
3719         (vars_of_postgresql): Move code initializing Lisp variables out and
3720         into init_postgresql_from_environment.
3721         emacs.c (main_1): Call init_postgresql_from_environment if and only
3722         if running a dumped XEmacs.
3723
3724 2000-08-31  Dan Holmsand  <dan@eyebee.com>
3725
3726         * buffer.c: Make find-file-compare-truenames default to true on
3727         windows.
3728
3729         * realpath.c (win32_abs_start):
3730         (cygwin_readlink):
3731         (win32_readlink): New functions.
3732         (xrealpath): Return really real filenames on windows.
3733
3734         * fileio.c (Ffile_truename): Make file-truename work on windows.
3735
3736 2000-11-29  Didier Verna  <didier@xemacs.org>
3737
3738         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
3739         * faces.c (update_face_cachel_data): use it.
3740         * faces.c (add_face_cachel): use it. Complete background pixmap
3741         frobbing in face cache if `update_face_cachel_data' has not done so.
3742
3743 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
3744
3745         * search.c (string_match_1): Don't set last_thing_searched
3746         when search failed.
3747
3748 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
3749
3750         * buffer.c: Include casetab.h
3751         (common_init_complex_vars_of_buffer): Use new case-table object.
3752         * buffer.h: Include casetab.h
3753         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
3754         (DOWNCASE_TABLE_OF): Ditto.
3755         * bufslots.h: Remove char-tables and add case-table.
3756         * casetab.c: Include casetab.h
3757         (CASE_TABLE_P): Removed.
3758         (mark_case_table): New function.
3759         (allocate_case_table): New function.
3760         (Fcase_table_p): Use new case-table.
3761         (case_table_char): New function.
3762         (Fget_case_table): Ditto.
3763         (Fput_case_table): Ditto.
3764         (Fput_case_table_pair): Ditto.
3765         (Fcopy_case_table): Ditto.
3766         (Fcurrent_case_table): Return case-table.
3767         (Fstandard_case_table): Return case-table.
3768         (Fset_case_table): Fix doc-string.
3769         (set_case_table): Use case-table
3770         (syms_of_casetab): DEFSUBR new functions.
3771         (complex_vars_of_casetab): Set up standard case-table.
3772         * casetab.h: New file.
3773         * editfns.c: Include casetab.h
3774         (Fcompare_buffer_substrings): Use case-table.
3775         * inline.c: Include casetab.h
3776         * lisp.h: Remove bogus extern.
3777         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
3778         * search.c: Include casetab.h
3779         (TRANSLATE_ASCII): Removed.
3780         (TRANSLATE): Unconditionally translate character.
3781         (looking_at_1): Use case-table.
3782         (string_match_1): Ditto.
3783         (fast_string_match): Ditto.
3784         (search_command): Ditto.
3785         (search_buffer): Separate boyer_moore.  Check whether
3786         boyer_moore is poosible.
3787         (simple_search): New function.
3788         (boyer_moore): Separated from search_buffer. Translate char.
3789
3790 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
3791
3792         * regex.c (RE_TR_ASCII): Removed.
3793         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
3794         (PATFETCH): Call PATFETCH_RAW.
3795         (PATFETCH_RAW): Fetch Emchar.
3796         (PATUNFETCH): Decrement charptr.
3797         (GET_BUFFER_SPACE): Rename b to buf_end.
3798         (BUF_PUSH): Ditto.
3799         (BUF_PUSH_2): Ditto.
3800         (BUF_PUSH_3): Ditto.
3801         (EXTEND_BUFFER): Ditto.
3802         (SET_LIST_BIT): Ditto.
3803         (regex_compile): Ditto.  Translate non ASCII char.
3804         (compile_range): Ditto.
3805         (re_search_2): Ditto.
3806         (re_match_2_internal): Compare Emchar.
3807         (bcmp_translate): Ditto.
3808
3809 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
3810
3811         * lisp.h (basic char/int typedefs):  comment improvement.
3812
3813 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
3814
3815         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
3816         unstomp inhibit_site_lisp.  Improve comments.
3817
3818 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
3819
3820         * mule-charset.c (Fcharset_property):  improve type checking, comments.
3821
3822 2000-11-28  Andy Piper  <andy@xemacs.org>
3823
3824         * redisplay-output.c (redisplay_output_subwindow): make sure we do
3825         clipped display for windows in the gutter also.
3826         (redisplay_display_boxes_in_window_p): change semantics of return
3827         codes to be more intuitive.
3828
3829         * gutter.h: declare display_boxes_in_gutter_p.
3830
3831         * gutter.c (display_boxes_in_gutter_p): new function for
3832         redisplay.
3833
3834 2000-11-22  Andy Piper  <andy@xemacs.org>
3835
3836         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
3837         autodetect domain.
3838
3839 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
3840
3841         * callproc.c (Fold_call_process_internal):
3842         * gpm.c (Freceive_gpm_event):
3843         (tty_get_foreign_selection): Might be just warning supression.
3844         * fileio.c (Fwrite_region_internal):
3845         (Fset_visited_file_modtime):
3846         * keymap.c (event_matches_key_specifier_p):
3847         Initialize GCPROed variable.
3848
3849         * menubar-x.c (command_builder_find_menu_accelerator):
3850         Initialize before use.
3851
3852 2000-11-23  Andy Piper  <andy@xemacs.org>
3853
3854         * unexcw.c (unexec): make the resulting executable executable.
3855
3856 2000-11-21  Martin Buchholz  <martin@xemacs.org>
3857
3858         * doc.c (get_doc_string):
3859         Use size_t, not int, for result of XSTRING_LENGTH.
3860
3861         * cmds.c (Fdelete_char):
3862         * cmds.c (Fpoint_at_eol):
3863         * cmds.c (Fself_insert_command):
3864         Use EMACS_INT, not int, for result of XINT.
3865         Someday, someone will want to insert more than 2**31 identical characters.
3866
3867         * cmds.c (Fdelete_char):
3868         * cmds.c (Fdelete_backward_char):
3869         * syntax.c (Fforward_word):
3870         * syntax.c (Fforward_comment):
3871         Make COUNT argument optional, for consistency with forward-char et al.
3872
3873 2000-11-22  Martin Buchholz  <martin@xemacs.org>
3874
3875         * lisp.h:
3876         * print.c (long_to_string):
3877         Return a useful value: the pointer at end of data written.
3878
3879         * doprnt.c:
3880         Use `static const char * const' for constant strings.
3881         (union printf_arg): Delete `i', `ui' members.
3882         (get_doprnt_args):
3883         (emacs_doprnt_1):
3884         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
3885         Do all printf-ing via the `l' specifier.
3886         Use EMACS_INT instead of int.
3887         Optimize.
3888
3889 2000-11-20  Didier Verna  <didier@xemacs.org>
3890
3891         * faces.c (update_face_cachel_data): don't frob the background
3892         pixmap when the window is being created. The face is needed but
3893         does not exist yet.
3894
3895 2000-11-20  Andy Piper  <andy@xemacs.org>
3896
3897         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
3898         messing with a debug environment.
3899
3900 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3901
3902         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
3903
3904 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3905
3906         * casetab.c (Fcase_table_p): Fix compile error and crash.
3907
3908 2000-11-18  Philip Aston  <philipa@mail.com>
3909
3910         * s/cygwin32.h: Cygwin has SVR4-like pty support.
3911
3912 2000-11-18  Martin Buchholz  <martin@xemacs.org>
3913
3914         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
3915         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
3916
3917 2000-11-17  Martin Buchholz  <martin@xemacs.org>
3918
3919         * config.h.in: Define HAVE_ELF_H if elf.h exists.
3920         * unexelf.c: Use HAVE_ELF_H.
3921         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
3922         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
3923         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
3924         Greg Harrington <greg_harrington@hotmail.com> provided a machine
3925         for testing.
3926         So this is an unexelfsgi.c from a different line of development.
3927
3928 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3929
3930         * regex.c (RE_TR_ASCII): New function.
3931         (RE_TRANSLATE): Call it.
3932
3933 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3934
3935         * buffer.h (TRT_TABLE_OF): Remove assert.
3936         (IN_TRT_TABLE_DOMAIN): Removed.
3937
3938 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3939
3940         * free-hook.c (log_gcpro):
3941         (show_gcprohist): Add support for GCPRO5.
3942
3943 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
3944
3945         * emacs.c (main_1): Improve -sd error message when --pdump=no.
3946
3947 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
3948
3949         * symeval.h: Declare flush_all_buffer_local_cache.
3950
3951         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
3952         (flush_buffer_local_cache): Added.
3953         (flush_all_buffer_local_cache): Added.
3954
3955         * lrecord.h: Remove unused XD_LO_RESET_NIL.
3956
3957         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
3958         (pdump_dump_data): Ditto.
3959         (pdump_reloc_one): Ditto.
3960         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
3961         before dumping.
3962
3963
3964 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
3965
3966         * buffer.c: Remove if 0'ed entry.
3967         * buffer.h: Rewrite TRT to use char-table.
3968         * bufslots.h: Remove mirror tables.
3969         * casetab.c: Remove mirror tables.
3970         (CASE_TABLE_P): New macro.
3971         (Fcase_table_p): Element of a case table is string or char-table.
3972         (make_mirror_trt_table): Removed.
3973         (set_case_table): Setup char-table from strings for backward
3974         compatibility.
3975         * dired.c (Fdirectory_files):
3976         * dired-msw.c: (mswindows_get_files):
3977         * lisp.h: Change prototype of re_pattern_buffer.
3978         * regex.c: (RE_TRANSLATE): New macro.
3979         (TRANSLATE_P): Ditto.
3980         Change translate to type RE_TRANSLATE_TYPE.
3981         * regex.h: Define RE_TRANSLATE_TYPE
3982         * search.c (TRANSLATE): New macro.
3983         (TRANSLATE_ASCII): New macro.
3984         Translate table is changed to Lisp_Object.
3985         (signal_failure): Inhibit return.
3986
3987 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
3988
3989         * device-msw.c:
3990         * eldap.c:
3991         * event-Xt.c:
3992         * event-stream.c:
3993         * print.c:
3994         Do UNGCPRO before return.
3995
3996 2000-11-14  Martin Buchholz <martin@xemacs.org>
3997
3998         * XEmacs 21.2.37 is released.
3999
4000 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4001
4002         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4003         Add comments about discarded return value.
4004
4005 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4006
4007         * callint.c:
4008         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4009
4010 2000-10-27  Andy Piper  <andy@xemacs.org>
4011
4012         * gutter.c (Fset_default_gutter_position): default left and right
4013         gutters to visible.
4014         (calculate_gutter_size): calculate resonable heuristic for left
4015         and right gutter sizes.
4016         (specifier_vars_of_gutter): change left and right gutter sizes to
4017         autodetect.
4018         (calculate_gutter_size_from_display_lines): new function.
4019         (output_gutter): check for resizing on left and right gutters.
4020         (clear_gutter): don't special case top and left gutters.
4021         (specifier_vars_of_gutter): use new signature for
4022         set_specifier_caching.
4023
4024         * glyphs-x.c (x_redisplay_widget): spelling fix.
4025         * glyphs.c (specifier_vars_of_glyphs):
4026         * menubar.c (specifier_vars_of_menubar):
4027         * redisplay.c (specifier_vars_of_redisplay):
4028         * toolbar.c (specifier_vars_of_toolbar):
4029         * window.c (specifier_vars_of_window):
4030         * scrollbar.c (specifier_vars_of_scrollbar):
4031         (complex_vars_of_scrollbar): use new signature for
4032         set_specifier_caching.
4033
4034         * specifier.c (set_specifier_caching): include recompute flag.
4035         (recompute_one_cached_specifier_in_window): always recompute if
4036         flag set.
4037         (recompute_one_cached_specifier_in_frame): ditto.
4038
4039         * specifier.h (struct specifier_caching): add recompute flag.
4040
4041 2000-10-24  Andy Piper  <andy@xemacs.org>
4042
4043         * unexcw.c (copy_executable_and_dump_data_section): add new
4044         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4045         5.0 happy.
4046
4047 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4048
4049         * console-x.h (x_device): New member modifier_release_time.
4050         * event-Xt.c (x_handle_sticky_modifiers):
4051         Bound interval modifier keys are sticky.
4052         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4053         * events.h: extern it.
4054
4055 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4056
4057         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4058
4059 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4060
4061         * event-stream.c (execute_command_event): Preserve current_events
4062         and the like when event is misc-user-event.
4063         Inhibit quit during the call to maybe_echo_keys.
4064
4065 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4066
4067         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4068         symlink when buffer is killed.
4069         (inhibit_clash_detection): New variable.
4070
4071 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4072
4073         * console.c (Fset_input_method): Trigger redisplay on tty.
4074
4075 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4076
4077         * process.c (Fprocess_status): Revert to previous behavior:
4078         (process-status "nosuchprocess") ==> nil
4079
4080 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4081
4082         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4083         Work around another GCC 2.95.2 optimizer bug.
4084
4085 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4086
4087         * process.c (Fget_process): Use LIST_LOOP_2.
4088         (kill_buffer_processes): Use LIST_LOOP_2.
4089
4090         * minibuf.c (Fall_completions):
4091         Delete old non-functional code for FSF fourth argument.
4092
4093         * frame.c (frame_matches_frame_spec):
4094         Renamed from `frame_matches_frametype'.  Update all callers.
4095         (device_matches_device_spec):
4096         Renamed from 'device_matches_console_spec'.  Update all callers.
4097
4098         * doc.c (Fsubstitute_command_keys):
4099         Remove buffer overflow crash.  Small code cleanups.
4100
4101         * casetab.c (check_case_table): Simpler code.
4102
4103         * window.c (Freplace_buffer_in_windows):
4104         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4105         (and similar implementation) as Fdelete_windows_on.
4106         Update all callers.
4107
4108         * alloc.c (Fmake_list):
4109         * alloc.c (make_vector):
4110         * alloc.c (Fmake_vector):
4111         * alloc.c (make_bit_vector):
4112         * alloc.c (Fmake_bit_vector):
4113         * alloc.c (Fbit_vector):
4114         * alloc.c (Fmake_string):
4115         * alloc.c (Fpurecopy):
4116         * alloc.c (Fmemory_limit):
4117         * buffer.c:
4118         * buffer.c (Fget_buffer):
4119         * buffer.c (Fkill_buffer):
4120         * buffer.c (complex_vars_of_buffer):
4121         * bytecode.c (Fcompiled_function_stack_depth):
4122         * callint.c (Fprefix_numeric_value):
4123         * event-stream.c:
4124         * event-stream.c (Fread_key_sequence):
4125         * casetab.c:
4126         * casetab.c (Fcase_table_p):
4127         * casetab.c (check_case_table):
4128         * casetab.c (Fset_case_table):
4129         * casetab.c (Fset_standard_case_table):
4130         * chartab.c:
4131         * chartab.c (Fchar_table_type):
4132         * chartab.c (Freset_char_table):
4133         * chartab.c (Fget_char_table):
4134         * chartab.c (Fget_range_char_table):
4135         * chartab.c (Fput_char_table):
4136         * chartab.c (Fmap_char_table):
4137         * chartab.c (Fcategory_table_p):
4138         * chartab.c (Fcheck_category_at):
4139         * chartab.c (Fchar_in_category_p):
4140         * chartab.c (Fcategory_table):
4141         * chartab.c (Fcopy_category_table):
4142         * chartab.c (Fset_category_table):
4143         * chartab.c (Fcategory_designator_p):
4144         * chartab.c (Fcategory_table_value_p):
4145         * cmds.c (Fdelete_char):
4146         * cmds.c (Fdelete_backward_char):
4147         * cmds.c (Fself_insert_command):
4148         * cmds.c (Fself_insert_internal):
4149         * console.c (Fvalid_console_type_p):
4150         * console.c (Fcdfw_console):
4151         * console.c (Fconsole_type):
4152         * console.c (Fconsole_name):
4153         * console.c (Fconsole_device_list):
4154         * console.c (Fconsole_on_window_system_p):
4155         * data.c:
4156         * data.c (Feq):
4157         * data.c (Fold_eq):
4158         * data.c (Fsubr_interactive):
4159         * data.c (Fchar_to_int):
4160         * data.c (Fint_to_char):
4161         * data.c (Fsetcar):
4162         * data.c (Fsetcdr):
4163         * data.c (Fnumber_to_string):
4164         * data.c (Fstring_to_number):
4165         * data.c (Frem):
4166         * database.c (mark_database):
4167         * database.c (finalize_database):
4168         * database.c (Fdatabase_live_p):
4169         * database.c (Fdatabasep):
4170         * device-x.c (Fx_get_resource):
4171         * device.c (Fdfw_device):
4172         * dired.c:
4173         * dired.c (Ffile_name_completion):
4174         * dired.c (Ffile_name_all_completions):
4175         * dired.c (Fuser_name_completion):
4176         * dired.c (Fuser_name_completion_1):
4177         * dired.c (Fuser_name_all_completions):
4178         * doc.c (Fdocumentation):
4179         * doc.c (Fdocumentation_property):
4180         * doc.c (Fsubstitute_command_keys):
4181         * editfns.c:
4182         * editfns.c (Fchar_to_string):
4183         * editfns.c (Fstring_to_char):
4184         * editfns.c (Ftemp_directory):
4185         * editfns.c (Finsert_char):
4186         * editfns.c (Fbuffer_substring_no_properties):
4187         * editfns.c (Fnarrow_to_region):
4188         * editfns.c (Fchar_equal):
4189         * editfns.c (Fchar_Equal):
4190         * editfns.c (Ftranspose_regions):
4191         * emacs.c (Fdump_emacs):
4192         * eval.c (Fthrow):
4193         * eval.c (Fcommand_execute):
4194         * eval.c (Fautoload):
4195         * eval.c (Fbacktrace):
4196         * eval.c (Fbacktrace_frame):
4197         * events.c:
4198         * events.c (Fcopy_event):
4199         * events.c (Fcharacter_to_event):
4200         * events.c (Fevent_button):
4201         * events.c (Fevent_process):
4202         * extents.c:
4203         * extents.c (Fnext_extent_change):
4204         * extents.c (Fextent_property):
4205         * faces.c (Ffacep):
4206         * faces.c (Fmake_face):
4207         * file-coding.c:
4208         * file-coding.c (Fencode_shift_jis_char):
4209         * file-coding.c (Fencode_big5_char):
4210         * fileio.c (Ffile_name_directory):
4211         * fileio.c (Ffile_name_nondirectory):
4212         * fileio.c (Ffile_name_as_directory):
4213         * fileio.c (Fdirectory_file_name):
4214         * fileio.c (Ffile_truename):
4215         * fileio.c (Fsubstitute_in_file_name):
4216         * fileio.c (Ffile_modes):
4217         * fileio.c (Fset_file_modes):
4218         * fileio.c (Fset_default_file_modes):
4219         * fileio.c (Fverify_visited_file_modtime):
4220         * floatfns.c (Facos):
4221         * floatfns.c (Fasin):
4222         * floatfns.c (Fatan):
4223         * floatfns.c (Fcos):
4224         * floatfns.c (Fsin):
4225         * floatfns.c (Ftan):
4226         * floatfns.c (Fbessel_j0):
4227         * floatfns.c (Fbessel_j1):
4228         * floatfns.c (Fbessel_jn):
4229         * floatfns.c (Fbessel_y0):
4230         * floatfns.c (Fbessel_y1):
4231         * floatfns.c (Fbessel_yn):
4232         * floatfns.c (Ferf):
4233         * floatfns.c (Ferfc):
4234         * floatfns.c (Flog_gamma):
4235         * floatfns.c (Fexp):
4236         * floatfns.c (Fexpt):
4237         * floatfns.c (Flog):
4238         * floatfns.c (Flog10):
4239         * floatfns.c (Fsqrt):
4240         * floatfns.c (Fcube_root):
4241         * floatfns.c (Facosh):
4242         * floatfns.c (Fasinh):
4243         * floatfns.c (Fatanh):
4244         * floatfns.c (Fcosh):
4245         * floatfns.c (Fsinh):
4246         * floatfns.c (Ftanh):
4247         * floatfns.c (Fabs):
4248         * floatfns.c (Ffloat):
4249         * floatfns.c (Flogb):
4250         * floatfns.c (Fceiling):
4251         * floatfns.c (Ffloor):
4252         * floatfns.c (Fround):
4253         * floatfns.c (Ftruncate):
4254         * floatfns.c (Ffceiling):
4255         * floatfns.c (Fffloor):
4256         * floatfns.c (Ffround):
4257         * floatfns.c (Fftruncate):
4258         * fns.c (Fstring_equal):
4259         * fns.c (Fstring_lessp):
4260         * fns.c (concat2):
4261         * fns.c (concat3):
4262         * fns.c (vconcat2):
4263         * fns.c (vconcat3):
4264         * fns.c (Fsubstring):
4265         * fns.c (Fassoc):
4266         * fns.c (Fold_assoc):
4267         * fns.c (assoc_no_quit):
4268         * fns.c (Fassq):
4269         * fns.c (Fold_assq):
4270         * fns.c (assq_no_quit):
4271         * fns.c (Frassoc):
4272         * fns.c (Fold_rassoc):
4273         * fns.c (Frassq):
4274         * fns.c (Fold_rassq):
4275         * fns.c (rassq_no_quit):
4276         * fns.c (Fremassoc):
4277         * fns.c (remassoc_no_quit):
4278         * fns.c (Fremassq):
4279         * fns.c (remassq_no_quit):
4280         * fns.c (Fremrassoc):
4281         * fns.c (Fremrassq):
4282         * fns.c (remrassq_no_quit):
4283         * fns.c (Fsort):
4284         * fns.c (Fplist_get):
4285         * fns.c (Fplist_put):
4286         * fns.c (Fplist_remprop):
4287         * fns.c (Fplist_member):
4288         * fns.c (Flax_plist_get):
4289         * fns.c (Flax_plist_put):
4290         * fns.c (Flax_plist_remprop):
4291         * fns.c (Flax_plist_member):
4292         * fns.c (Fequal):
4293         * fns.c (Fold_equal):
4294         * fns.c (Frequire):
4295         * fns.c (Fbase64_encode_region):
4296         * fns.c (Fbase64_encode_string):
4297         * fns.c (Fbase64_decode_region):
4298         * frame.c:
4299         * frame.c (frame_matches_frame_spec):
4300         * frame.c (device_matches_device_spec):
4301         * frame.c (next_frame):
4302         * frame.c (previous_frame):
4303         * frame.c (Fnext_frame):
4304         * frame.c (Fprevious_frame):
4305         * frame.c (Fframe_property):
4306         * frame.c (Fset_frame_height):
4307         * frame.c (Fset_frame_size):
4308         * frame.h:
4309         * glyphs.c:
4310         * glyphs.c (if):
4311         * glyphs.c (decode_error_behavior_flag):
4312         * glyphs.c (Fmake_image_instance):
4313         * indent.c (Findent_to):
4314         * intl.c (Fignore_defer_gettext):
4315         * keymap.c (Fkeymapp):
4316         * keymap.c (Flookup_key):
4317         * lread.c:
4318         * lread.c (Fload_internal):
4319         * lread.c (Feval_buffer):
4320         * lread.c (Feval_region):
4321         * macros.c (Fexecute_kbd_macro):
4322         * marker.c (set_marker_internal):
4323         * marker.c (Fset_marker):
4324         * marker.c (set_marker_restricted):
4325         * marker.c (Fcopy_marker):
4326         * marker.c (noseeum_copy_marker):
4327         * menubar.c:
4328         * menubar.c (Fpopup_menu):
4329         * minibuf.c:
4330         * mule-charset.c (Fcharset_name):
4331         * mule-charset.c (Fchar_charset):
4332         * mule-charset.c (Fchar_octet):
4333         * mule-charset.c (Fsplit_char):
4334         * mule-wnnfns.c (Fwnn_open):
4335         * mule-wnnfns.c (Fwnn_dict_comment):
4336         * mule-wnnfns.c (Fwnn_quit_henkan):
4337         * mule-wnnfns.c (Fwnn_word_toroku):
4338         * mule-wnnfns.c (Fwnn_word_sakujo):
4339         * mule-wnnfns.c (Fwnn_word_use):
4340         * mule-wnnfns.c (Fwnn_hindo_set):
4341         * objects.c:
4342         * objects.c (Fmake_color_instance):
4343         * objects.c (Fmake_font_instance):
4344         * print.c (Fwrite_char):
4345         * process.c:
4346         * process.c (mark_process):
4347         * process.c (print_process):
4348         * process.c (get_process_from_usid):
4349         * process.c (Fprocessp):
4350         * process.c (Fprocess_live_p):
4351         * process.c (Fget_process):
4352         * process.c (Fget_buffer_process):
4353         * process.c (get_process):
4354         * process.c (Fprocess_id):
4355         * process.c (Fprocess_name):
4356         * process.c (Fprocess_command):
4357         * process.c (init_process_io_handles):
4358         * process.c (start_process_unwind):
4359         * process.c (Fstart_process_internal):
4360         * process.c (Fopen_multicast_group_internal):
4361         * process.c (Fset_process_window_size):
4362         * process.c (read_process_output):
4363         * process.c (send_process):
4364         * process.c (Fprocess_tty_name):
4365         * process.c (Fset_process_buffer):
4366         * process.c (Fprocess_buffer):
4367         * process.c (Fprocess_mark):
4368         * process.c (set_process_filter):
4369         * process.c (Fset_process_filter):
4370         * process.c (Fprocess_filter):
4371         * process.c (Fprocess_send_region):
4372         * process.c (Fprocess_send_string):
4373         * process.c (exec_sentinel):
4374         * process.c (Fset_process_sentinel):
4375         * process.c (Fprocess_sentinel):
4376         * process.c (status_notify):
4377         * process.c (Fprocess_status):
4378         * process.c (Fprocess_exit_status):
4379         * process.c (process_send_signal):
4380         * process.c (Fprocess_send_eof):
4381         * process.c (deactivate_process):
4382         * process.c (remove_process):
4383         * process.c (Fdelete_process):
4384         * process.c (kill_buffer_processes):
4385         * process.c (Fprocess_kill_without_query):
4386         * process.c (Fprocess_kill_without_query_p):
4387         * rangetab.c:
4388         * rangetab.c (Fget_range_table):
4389         * rangetab.c (Fput_range_table):
4390         * rangetab.c (Fremove_range_table):
4391         * rangetab.c (Fclear_range_table):
4392         * search.c:
4393         * search.c (Fskip_chars_forward):
4394         * search.c (Fskip_chars_backward):
4395         * search.c (Fskip_syntax_forward):
4396         * search.c (Fskip_syntax_backward):
4397         * search.c (search_command):
4398         * search.c (Freplace_match):
4399         * search.c (Fregexp_quote):
4400         * select.c (Fown_selection_internal):
4401         * select.c (Fselection_owner_p):
4402         * select.c (Fselection_exists_p):
4403         * select.c (Fget_selection_internal):
4404         * specifier.c:
4405         * symbols.c:
4406         * symbols.c (Fintern):
4407         * symbols.c (Fintern_soft):
4408         * symbols.c (Funintern):
4409         * symbols.c (Fapropos_internal):
4410         * symbols.c (Fset_default):
4411         * syntax.c:
4412         * syntax.c (Fsyntax_table_p):
4413         * syntax.c (Fcopy_syntax_table):
4414         * syntax.c (Fset_syntax_table):
4415         * syntax.c (Fchar_syntax):
4416         * syntax.c (syntax_match):
4417         * syntax.c (Fmatching_paren):
4418         * syntax.c (Fforward_word):
4419         * syntax.c (scan_lists):
4420         * syntax.c (Fscan_lists):
4421         * syntax.c (Fscan_sexps):
4422         * syntax.c (Fparse_partial_sexp):
4423         * toolbar.c (Fcheck_toolbar_button_syntax):
4424         * tooltalk.doc:
4425         * window.c:
4426         * window.c (Fwindowp):
4427         * window.c (Fwindow_live_p):
4428         * window.c (Fwindow_point):
4429         * window.c (Fdelete_window):
4430         * window.c (Fnext_window):
4431         * window.c (Fprevious_window):
4432         * window.c (Fother_window):
4433         * window.c (window_loop):
4434         * window.c (Fget_lru_window):
4435         * window.c (Fsplit_window):
4436         * window.c (Fenlarge_window):
4437         * window.c (Fenlarge_window_pixels):
4438         * window.c (Fshrink_window):
4439         * window.c (Fshrink_window_pixels):
4440         * window.c (change_window_height):
4441         * window.c (Fwindow_configuration_p):
4442         * window.c (Fcurrent_window_configuration):
4443         * window.h:
4444         * casefiddle.c (casify_object):
4445         * casefiddle.c (Fupcase):
4446         * casefiddle.c (Fdowncase):
4447         * casefiddle.c (Fcapitalize):
4448         * casefiddle.c (Fupcase_initials):
4449         * casefiddle.c (casify_region_internal):
4450         * casefiddle.c (casify_region):
4451         * casefiddle.c (Fupcase_region):
4452         * casefiddle.c (Fdowncase_region):
4453         * casefiddle.c (Fcapitalize_region):
4454         * casefiddle.c (Fupcase_initials_region):
4455         * casefiddle.c (Fupcase_word):
4456         * casefiddle.c (Fdowncase_word):
4457         * casefiddle.c (Fcapitalize_word):
4458         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4459         Replace 0 with '\0' when working with bytes.
4460         Replace initial "(" with "\(" in docstrings.
4461
4462 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4463
4464         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4465
4466         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4467
4468 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4469
4470         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4471
4472 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4473
4474         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4475         correctly.
4476
4477 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4478
4479         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4480         (inhibit_auto_save_session): New variable.
4481         (vars_of_fileio): Declare and initialize them.
4482         * fileio.c (Fdo_auto_save): Don't create session file if
4483         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4484
4485 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4486
4487         * sgiplay.c (play_internal): C++ compilability.
4488         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4489         * callproc.c (Fold_call_process_internal):
4490         Remove unused vars `env', `first'.
4491         * scrollbar.c (update_scrollbar_instance):
4492         #### unused var `current_window'.
4493         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4494         etc. within #ifdef NOT_YET.
4495         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4496         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4497         * specifier.c (specifier_instance):
4498         #### unused var `tag'.
4499         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4500
4501 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4502
4503         * fns.c (Fbutlast):
4504         * fns.c (list_sort):
4505         * fns.c (Ffillarray):
4506         * fns.c (bytecode_nconc2):
4507         * fns.c (Fnconc):
4508         * fns.c (mapcar1):
4509         * fns.c (Fmapconcat):
4510         Be pedantically 64-bit correct.  For the time when someone will
4511         want to have a list with length > 2**32.
4512
4513         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4514         Work around MIPSpro compiler bug.
4515
4516         * process-unix.c (unix_kill_child_process): Add snarky comment.
4517         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4518
4519         * config.h.in: Oops, _getpt ==> _getpty
4520
4521 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4522
4523         * config.h.in:
4524         * regex.c:
4525         Use void*, not char*, as return type of alloca().
4526
4527         * alloc.c (free_marker): Side effect inside assert expression!
4528
4529 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4530
4531         * mule-charset.c (Fset_charset_ccl_program): To check
4532         if the given ccl program is valid, use setup_ccl_program()
4533         instead of CHECK_VECTOR().
4534         (Fmake_charset): Likewise.
4535
4536 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4537
4538         * faces.c (get_extent_fragment_face_cache_index):
4539         Fix cachel.merged_faces memory leak.
4540
4541 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4542
4543         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4544         Reset MSB of octets obtained by DECODE_SJIS
4545         because of the incompatibility with Emacs.
4546         (ccl_driver)<CCL_ENCODE_SJIS>:
4547         Set MSB of octets before passing them to
4548         ENCODE_SJIS because of the incompatibility
4549         with Emacs.
4550
4551 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4552
4553         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4554         (DECLARE_LRECORD): Undo the last change.
4555         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4556
4557 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4558
4559         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4560         the implementation to lrecord_implementations_table.
4561
4562 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4563
4564         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4565         initial value of `lrecord_type_##c_name' and
4566         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4567         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4568         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4569         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4570         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4571
4572 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4573
4574         * miscplay.c (sndcnv8S_2mono):
4575         (sndcnv2monounsigned):
4576         (sndcnvULaw_2linear):
4577         (sndcnv16swap):
4578         Remove implementation-defined behavior.
4579
4580 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4581
4582         * input-method-xlib.c: Warning suppression.
4583
4584 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4585
4586         * mule-ccl.c: Sync up with Emacs 21.0.90.
4587         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4588         Do nothing.
4589         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4590         Likewise.
4591         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4592         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4593         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4594         leading char belongs to official 2-dimensional charset.
4595         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4596         write the given character as is.  Otherwise,
4597         if it is a multibyte char, convert it by
4598         non_ascii_set_charptr_emchar, then write it.
4599         (CCL_WRITE_STRING): Likewise.
4600         (ccl_get_compiled_code): New function.
4601         (setup_ccl_program): When ccl_prog is invalid,
4602         return -1.
4603         (Fregister_code_conversion_map): New function.
4604         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4605
4606         * mule-ccl.h: Sync up with Emacs 21.0.90.
4607         (Fregister_ccl_program): export it.
4608
4609         * redisplay-msw.c (separate_textual_runs):
4610         If ccl program is not valid, don't do ccl conversion.
4611
4612         * redisplay-x.c (separate_textual_runs): Ditto.
4613
4614         * file-coding.c (Fmake_coding_system):
4615         When type is ccl and value is vector, register it
4616         with a proper symbol.  And checks whether the
4617         given ccl program is valid.
4618         (mule_decode): When calling ccl_driver, if src indicates
4619         NULL pointer, set an empty string instead.
4620         (mule_encode): Likewise.
4621
4622 2000-10-11  Martin Buchholz  <martin@xemacs.org>
4623
4624         The following large batch of changes gets us back to a state of
4625         C++ compilability.  Extbyte is now a char, which means that
4626         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
4627
4628         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
4629
4630         * sound.c (Fplay_sound): Type correctness.
4631
4632         * select-x.c (hack_motif_clipboard_selection): Type correctness.
4633         (x_get_window_property): Type correctness.
4634         (receive_incremental_selection): unsigned char ==> Extbyte
4635         (selection_data_to_lisp_data): unsigned char ==> Extbyte
4636         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
4637         (Fx_store_cutbuffer_internal): Type correctness.
4638
4639         * process-unix.c (try_to_initialize_subtty): Type correctness.
4640
4641         * objects-x.c (x_print_color_instance): Type correctness.
4642         (x_print_font_instance): Type correctness.
4643         (x_list_fonts): SExtbyte ==> Extbyte.
4644         (valid_x_font_name_p): SExtbyte ==> Extbyte.
4645         (x_find_charset_font): SExtbyte ==> Extbyte.
4646         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
4647         (truename_via_XListFonts): SExtbyte ==> Extbyte.
4648         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
4649         Use bufbyte_strcmp.
4650
4651         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
4652         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
4653         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
4654         (BYTE_C0_P): Use bit ops for char-signedness safety.
4655         (BYTE_C1_P): Use bit ops for char-signedness safety.
4656         (CHARSET_BY_LEADING_BYTE):
4657         (CHARSET_BY_ATTRIBUTES):
4658         Always use inline function.
4659         Use type_checking_assert.
4660         Hide chlook.
4661
4662         * mule-charset.c (non_ascii_charptr_copy_char):
4663         Modify to work with both ASCII and non-ASCII characters.
4664         Improve docs and variable names.
4665         Replace over-clever fall-through switch with a simple loop.
4666         (Lstream_get_emchar_1):
4667         Replace over-clever fall-through switch with a simple loop.
4668
4669         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4670         Warning suppression.
4671
4672         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
4673         the return value of Lstream_getc, which could be EOF as well.
4674
4675         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
4676
4677         * lisp.h: Make Extbyte a char, not unsigned char, so that external
4678         APIs can be used on Extbytes without casts.  Risky!
4679         (SExtbyte): Remove.
4680         (UExtbyte): Remove.
4681
4682         * input-method-xlib.c (XIM_init_device):
4683         Use Xlib.h instead of IntrinsicP.h.
4684         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
4685         which will break in X11R7.
4686         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
4687         to call XRegisterIMInstantiateCallback with correct types.
4688
4689         * gui-x.c (button_item_to_widget_value): Type correctness.
4690
4691         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
4692
4693         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
4694         (xbm_instantiate_1): Type correctness.
4695         (BUILD_GLYPH_INST):  Type correctness.
4696
4697         * fileio.c (Fsubstitute_in_file_name): Type correctness.
4698
4699         * file-coding.c:
4700         (decode_coding_sjis):
4701         (decode_coding_big5):
4702         (decode_coding_ucs4):
4703         (decode_coding_utf8):
4704         (decode_coding_iso2022):
4705         (decode_coding_no_conversion):
4706         Make all decoding functions take an Extbyte * arg.
4707         (encode_coding_sjis):
4708         (encode_coding_big5):
4709         (encode_coding_ucs4):
4710         (encode_coding_utf8):
4711         (encode_coding_iso2022):
4712         (encode_coding_no_conversion):
4713         Make all encoding functions take a Bufbyte * arg.
4714         Use size_t instead of unsigned int for memory sizes.
4715         Only cast to unsigned char whenever dereferencing Extbyte *.
4716
4717         * doc.c (unparesseuxify_doc_string): Type correctness.
4718
4719         * console-x.c (split_up_display_spec):
4720         Rewrite without using details of internal string representation.
4721         (x_semi_canonicalize_device_connection): Type correctness.
4722
4723         * config.h.in:
4724         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
4725         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
4726         (HAVE_XFREE386): Removed.
4727
4728         * buffer.h (DEC_CHARPTR): `const' correctness.
4729         (bufbyte_strcmp): New.
4730         (bufbyte_memcmp): New.
4731
4732         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
4733
4734         * buffer.h (XCHAR_OR_CHAR_INT):
4735         Always use inline function.
4736         Remove redundant type checking assert() - XINT will abort quite nicely.
4737
4738 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4739
4740         * search.c (Freplace_match): Set newtext to an empty string.
4741
4742 2000-10-10  Martin Buchholz  <martin@xemacs.org>
4743
4744         * s/decosf1-3.h: Remove #include of stropts.h
4745         * s/ptx.h: Remove #include of stropts.h
4746         * s/usg5-4.h: Remove #include of stropts.h
4747         * sysproc.h:
4748         * config.h.in:
4749         Use stropts.h, not sys/stropts.h.
4750         Use strtio.h, not sys/strtio.h.
4751
4752 2000-10-04  Martin Buchholz <martin@xemacs.org>
4753
4754         * XEmacs 21.2.36 is released.
4755
4756 2000-09-21  Andy Piper  <andy@xemacs.org>
4757
4758         * glyphs-x.c (x_redisplay_widget): make sure non-structural
4759         changes still involve copying the widget tree.
4760         (update_widget_face): make sure a change is register in the widget
4761         tree. Call update_tab_widget_face appropriately.
4762         (update_tab_widget_face): ditto.
4763         (x_tab_control_redisplay): make sure non-structural changes still
4764         involve copying the widget tree.
4765
4766 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
4767
4768         * lread.c (locate_file): Check the path element is non-nil.
4769
4770 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4771
4772         * lisp.h: Warning suppression for SCO compilers.
4773
4774         * redisplay-tty.c (reset_tty_modes): Fix crash.
4775         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
4776
4777 2000-09-27  Martin Buchholz  <martin@xemacs.org>
4778
4779         Big signal/process handling overhaul.  Bugs fixed:
4780         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
4781         M-x comint-kill-subjob should work for both values nil and t of
4782         process-connection-type. It was broken on most platforms.
4783         Testing on Irix and Cygwin still needed.  Other plaforms tested.
4784         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
4785         * process-unix.c: Signal/Process handling overhaul.
4786         (pty_name): make 64 bytes, as `expect' does, for paranoia.
4787         (allocate_pty): Use all available modern methods of allocating
4788         ptys, falling back to old style BSD allocation as a last resort.
4789         Use allegedly more secure Unix98 pty allocation by default.
4790         (allocate_pty_the_old_fashioned_way): New. the last resort.
4791         (unix_create_process): Push ptem, ldterm, ttcompat where
4792         available.  Autoconfiscate.
4793         (try_to_initialize_subtty): New.
4794         (unix_kill_child_process): Proper signal handling for ptys on most
4795         platforms, using special knowledge of AIX, BSD, etc...
4796         (unix_create_process): Always disconnect_controlling_terminal() for
4797         subprocesses, whether using ptys or not.
4798         * process.h: Remove old getpt-dependent PTY code.
4799         * process.c (Fprocess_send_signal): New, obvious generic function.
4800         (decode_signal): New.
4801         (Finterrupt_process):
4802         (Fkill_process):
4803         (Fquit_process):
4804         (Fstop_process):
4805         (Fcontinue_process):
4806         (Fsignal_process): Use decode_signal.
4807         (process_send_signal):
4808         Many docstring corrections.
4809         Allow any signal to be sent to a process object.
4810         * config.h.in: Add symbols for big signal/process overhaul.
4811         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
4812         * sysproc.h: Include process-related headers, where available:
4813         sys/stropts.h sys/strtio.h pty.h libutil.h
4814         * s/irix4-0.h:
4815         * s/irix5-0.h:
4816         * s/cygwin32.h:
4817         * s/gnu.h:
4818         * s/linux.h:
4819         * s/hpux.h:
4820         * s/aix3-1.h:
4821         Remove old S&M pty stuff.
4822         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
4823         * systty.h: Simplify cpp hackery, improve comments.
4824         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
4825
4826         * editfns.c (Fformat_time_string):
4827         Be a little more paranoid with the return value of ctime.
4828
4829         * fileio.c (check_executable):
4830         (check_writable):
4831         Use symbolic constants X_OK, W_OK.
4832
4833         * console-x.c (split_up_display_spec): Fix a warning.
4834
4835 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4836
4837         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
4838         * ntproc.c (sys_spawnve): make_string ==> build_string
4839         Small clarity improvements.
4840
4841 2000-09-30  Martin Buchholz  <martin@xemacs.org>
4842
4843         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
4844
4845         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
4846
4847         * config.h.in (HAVE_STRCASECMP): Remove.
4848
4849 2000-09-29  Martin Buchholz  <martin@xemacs.org>
4850
4851         * redisplay-output.c (redisplay_output_pixmap):
4852         Cleaner and possibly more 64-bit correct code.
4853
4854 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4855
4856         * dumper.c (pdump_load_finish): move restoration of
4857         `noninteractive1' to emacs.c (main_1).
4858         * emacs.c (main_1): protect LISP-visible command-line flags
4859         from pdump_load().
4860
4861 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
4862
4863         * Makefile.in.in (versionclean):  Use EXE_TARGET and
4864         DUMP_TARGET instead of literal program names.
4865
4866 2000-09-20  Martin Buchholz  <martin@xemacs.org>
4867
4868         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
4869
4870 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4871
4872         * *: Spelling mega-patch
4873
4874 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4875
4876         * fns.c (bad_bad_turtle):
4877         Delete "Eek!" comment, since we fixed the bug to which it refers.
4878
4879 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4880
4881         * alloca.c: Replace REGISTER with register.
4882
4883 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
4884
4885         * file-coding.c (ucs_to_char): Use countof.
4886
4887 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4888
4889         * file-coding.c: (ucs_to_char):
4890         (complex_vars_of_file_coding):
4891         Use countof instead of sizeof.
4892         Use CHECK_NATNUM instead of CHECK_INT.
4893
4894         * sysdep.c (strcasecmp): Remove.
4895         * device-x.c (ascii_strcasecmp): New.
4896         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
4897         Avoid using non-standard non-portable strcasecmp.
4898
4899 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4900
4901         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
4902         * font-lock.c: remove reference to emacsfns.h.
4903         * search.c: small doc improvement.
4904         * event-Xt.c: correct file names in comments.
4905         * console-x.h Correct file names in comments.
4906         * frame.c: Correct file names in comments.
4907         * event-stream.c: remove Energize from comments.
4908
4909 2000-09-15  Martin Buchholz  <martin@xemacs.org>
4910
4911         * symeval.h (DEFERROR_STANDARD):
4912         (DEFERROR):
4913         (DEFSYMBOL):
4914         (DEFSYMBOL_NO_DUMP):
4915         (DEFSYMBOL_MULTIWORD_PREDICATE):
4916         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
4917         (DEFKEYWORD):
4918         The construct &##name is not sensible C.
4919         Fixes compilation errors with Unixware native compiler.
4920
4921 2000-09-14  Martin Buchholz  <martin@xemacs.org>
4922
4923         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
4924         (next_frame_internal): Removed.  We now just have next_frame.
4925         (next_frame):
4926         Write a simpler and cleaner one-pass algorithm.
4927         Remove called_from_delete_device arg and #ifdefed-out code.
4928         (previous_frame):
4929         Renamed from prev_frame.  Update callers.
4930         Cleaned up to have an analogous implementation to next_frame.
4931         (other_visible_frames_internal): Remove the
4932         called_from_delete_device bogus arg, and hence, remove this
4933         function.  Just use other_visible_frames().
4934
4935         * window.c (Fnext_window):
4936         Prettify docstring.
4937         Since next_frame() is guaranteed to return a frame, remove check
4938         for nil inserted in previous patch.
4939         (Fprevious_window):
4940         Prettify docstring.
4941         Make code look more like Fnext_window.
4942         (window_loop):
4943         Respect the `console' arg when iterating through windows.
4944         Fixes bug: (get-buffer-window buffer t device) not respecting
4945         the `device' arg.
4946         This function needs more work, as others have pointed out.
4947
4948         * frame.h: Rename prev_frame to previous_frame.
4949         device_matches_console_spec no longer takes a `frame' arg.
4950
4951         * s/gnu.h:
4952         * s/linux.h:
4953         * s/hpux.h:
4954         Use EMACS_BLOCK_SIGNAL instead of sigblock.
4955         From "Golubev I. N." <gin@mo.msk.ru>.
4956
4957         * make-src-depend: Fix typo.
4958
4959 2000-09-13  Martin Buchholz  <martin@xemacs.org>
4960
4961         * window.c (Fnext_window):
4962         next_frame() might return nil, not a frame.
4963         Fixes this crash:
4964         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4965
4966         * frame.c (next_frame_internal):
4967         We've passed a frame if we've passed its device.
4968         Fixes this crash:
4969         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4970 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
4971
4972 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4973
4974         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
4975         Allow option to suppress accelerators in menu/dialog items.
4976         (populate_or_checksum_helper): Pass dialog title through above.
4977
4978 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4979
4980         * event-msw.c (mswindows_key_to_emacs_keysym):
4981         Add "pause" key, fix "menu" key.
4982
4983 2000-09-09  Martin Buchholz  <martin@xemacs.org>
4984
4985         * eval.c (reinit_vars_of_eval):
4986         Increase max_lisp_eval_depth to 1000,
4987         required for thai-xtis.el to byte-compile under some circumstances.
4988
4989 2000-09-04  Martin Buchholz  <martin@xemacs.org>
4990
4991         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
4992         From Kenichi Handa.
4993
4994 2000-09-01  Martin Buchholz  <martin@xemacs.org>
4995
4996         * make-src-depend: Make the generated Makefiles smaller.
4997
4998         * s/hpux.h (SETUP_SLAVE_PTY):
4999         Provide a %d in the format string for the errno argument.
5000
5001         * editfns.c (Ftemp_directory):
5002         Warning fix.
5003         Avoid buffer overrun on very long file name.
5004
5005         * input-method-xlib.c (XIM_init_device):
5006         6th parameter of XRegisterIMInstantiateCallback has different
5007         pointer types on different OSes, so simply cast to (void *).
5008
5009         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5010
5011         * sysdll.c (dll_open):
5012         shl_load will hang hard if passed a NULL filename.
5013         Simply return NULL for compatibility with dlopen.
5014         * sysdll.c: Conform to XEmacs coding standards.
5015
5016         * sysdep.c (get_pty_max_bytes):
5017         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5018
5019 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5020
5021         * tooltalk.c: Add #include <syssignal.h>
5022
5023 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5024
5025         * s/hpux.h: Don't use undefined function sigunblock().
5026
5027 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5028
5029         * config.h.in: Add HAVE_BALLOON_HELP.
5030         * emacs.c: Use HAVE_BALLOON_HELP.
5031         * Makefile.in.in (x_objs):
5032         Make Balloon Help conditional on finding shape.h.
5033
5034 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5035
5036         * syntax.c (regex_emacs_buffer_p): New variable.
5037         * syntax.h (regex_emacs_buffer_p): extern.
5038         * search.c (looking_at_1):
5039         (string_match_1):
5040         (fast_string_match):
5041         (search_buffer): Set regex_emacs_buffer_p.
5042         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5043         when before_dot, at_dot, after_dot.
5044
5045 2000-08-23  Andy Piper  <andy@xemacs.org>
5046
5047         * gui-x.c (popup_selection_callback): Only set action_occurred
5048         when we really have an image instance.
5049         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5050
5051 2000-08-23  Andy Piper  <andy@xemacs.org>
5052
5053         * gui-msw.c (mswindows_handle_gui_wm_command): set
5054         action_occurred.
5055         * gui-x.c (popup_selection_callback): ditto.
5056
5057         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5058         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5059         (struct Lisp_Image_Instance): add action_occurred flag.
5060
5061         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5062         (image_instance_changed): ditto.
5063         (reset_frame_subwindow_instance_cache): only unmap windows - do
5064         not remove them from the cache also.
5065
5066         * glyphs-widget.c (tab_control_update): better debug.
5067         (progress_gauge_update): ditto.
5068         (layout_update): ditto.
5069         (layout_instantiate): ditto.
5070         (tab_control_order_only_changed): cope with null pending items.
5071
5072         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5073         debug. Force selection of an item when an action occurred. Cope
5074         with null pending_items.
5075         (mswindows_progress_gauge_redisplay): better debug.
5076         * glyphs-x.c (x_tab_control_redisplay): ditto.
5077
5078         * redisplay.c (redisplay_frame): reset the frame cache if the
5079         frame is garbaged.
5080
5081         * window.c (Fset_window_configuration): potentially re-enable
5082         frame cache reset.
5083         (window_unmap_subwindows): need to finalize instances here since
5084         it is only used in mark_window_as_deleted.
5085
5086 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5087
5088         * nas.c (SndOpenDataForReading):
5089         nas.c (WaveOpenDataForReading):
5090         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5091         Somehow escaped from the 2000-08-14 patch.
5092
5093 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5094
5095         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5096         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5097
5098 2000-08-21  Andy Piper  <andy@xemacs.org>
5099
5100         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5101         window if it is not already displayed.
5102
5103         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5104         it is not already displayed.
5105
5106         * window.c (Fset_window_configuration): don't reset the frame
5107         cache.
5108
5109         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5110         instances from the frame cache if we are actually finalizing them.
5111         (reset_frame_subwindow_instance_cache): reset frame cache only
5112         after unmapping everything.
5113         (map_subwindow): set displayed flag after mapping.
5114
5115 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5116
5117         * data.c (indirect_function):
5118         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5119
5120         * eval.c (function_argcount):
5121         Use original function when signaling errors.
5122
5123 2000-08-18  Andy Piper  <andy@xemacs.org>
5124
5125         * frame.c (delete_frame_internal): use new
5126         free_frame_subwindow_instances name.
5127
5128         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5129         (add_tab_item): make return type correct.
5130         (mswindows_tab_control_instantiate): assert index of tab.
5131         (mswindows_tab_control_redisplay): Re-code to use
5132         gui_item_equal_sans_selected and gui_item_list_find_selected.
5133
5134         * glyphs-widget.c (tab_control_update): Correct comment.
5135
5136         * window.c (window_unmap_subwindows): use new
5137         unmap_subwindow_instance_cache_mapper.
5138         (window_unmap_subwindows_cache_mapper): deleted.
5139         (Fset_window_configuration): comparisons should now be with
5140         EQ. Preserve the subwindow instance cache across configuration
5141         changes.
5142         (allocate_window): ditto.
5143         (make_dummy_parent): ditto.
5144
5145         * glyphs.c (free_frame_subwindow_instances): rename from
5146         free_frame_subwindow_instance_cache. finalize all instances rather
5147         than just those in the display cache.
5148         (finalize_all_subwindow_instances): walk windows unmapping and
5149         finalizing subwindows.
5150         (unmap_subwindow_instance_cache_mapper): moved from
5151         window.c. Allow finalization as well as unmapping.
5152
5153         * gui.c (gui_item_list_find_selected): new function.
5154
5155         * gui.h (gui_item_list_find_selected): declare.
5156
5157         * glyphs-x.c (x_tab_control_redisplay): pick tab
5158         explicitly. Re-code to use gui_item_equal_sans_selected and
5159         gui_item_list_find_selected.
5160
5161         * glyphs-x.h: add lwlib-utils.h
5162
5163         * buffer.c (Frecord_buffer): undo previous change.
5164
5165 2000-08-09  Vin Shelton  <acs@xemacs.org>
5166
5167         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5168         possible.  Create temporary files more securely.  The patch was
5169         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5170         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5171         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5172         for details.
5173
5174 2000-08-07  Ben Wing  <ben@xemacs.org>
5175
5176         * getloadavg.c: remove duplicate (and windows-breaking)
5177         includes of fcntl.h and sys/file.h.
5178
5179         * nt.c: remove duplicate getloadavg() definition.
5180
5181         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5182         encodings.
5183
5184 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5185
5186         * eval.c (function_argcount): If function needs to be autoloaded
5187         actually use the loaded definition.
5188         GCPRO function.
5189
5190 2000-08-05  Ben Wing  <ben@xemacs.org>
5191
5192         * getloadavg.c: add prototype for getloadavg().  remove
5193         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5194         of the code).  remove duplicate header includes.
5195
5196         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5197
5198         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5199         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5200         useful load average.
5201
5202         * alloc.c (reinit_alloc_once_early): removed references to
5203         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5204         the lisp vars are the only things referencing the malloc_sbrk_*
5205         vars, and they were already if 0'd out.  these vars only exist
5206         in the older malloc.c, which is basically unused, and they're
5207         only for informational purposes.
5208
5209         * m\*.h: removed useless VIRT_ADDR_VARIES.
5210
5211         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5212
5213 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5214
5215         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5216         color if the image is a mono pixmap.
5217
5218 2000-07-30  Ben Wing  <ben@xemacs.org>
5219
5220         * Makefile.in.in (release):
5221         Remove stray @.
5222
5223         * buffer.c (directory_is_current_directory):
5224         * dired-msw.c (mswindows_get_files):
5225         * dired.c:
5226         * dired.c (Fdirectory_files):
5227         * dired.c (file_name_completion_stat):
5228         * dired.c (Ffile_attributes):
5229         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5230         preprocessor tricks, to avoid problems on some machines
5231         (e.g. SCO).
5232
5233         * callproc.c (egetenv): GC docs.
5234
5235         * console-msw.h:
5236         * console-msw.h (struct mswindows_dialog_id):
5237         * lrecord.h (lrecord_type):
5238         New object for use with MSW dialogs.
5239
5240         * console.h (struct console_methods):
5241         New enable/disable frame methods, for proper modal dialogs.
5242
5243         * device-msw.c (msprinter_default_printer): Fix to follow
5244         proper Mule conventions.
5245
5246         * device-msw.c:
5247         * device-msw.c (signal_open_printer_error):
5248         * device-msw.c (msprinter_init_device):
5249         * device-msw.c (ensure_not_printing):
5250         * device-msw.c (plist_get_margin):
5251         * device-msw.c (Fmsprinter_select_settings):
5252         * device-msw.c (finalize_devmode):
5253         * device-msw.c (Fmsprinter_settings_despecialize):
5254         * device-msw.c (signal_enum_priner_error):
5255         * extents.c (decode_extent):
5256         * extents.c (decode_map_extents_flags):
5257         * extents.c (decode_extent_at_flag):
5258         * extents.c (Fextent_at):
5259         * extents.c (Fextents_at):
5260         * extents.c (symbol_to_glyph_layout):
5261         [[[[2]]]] Use structured errors.
5262
5263         * dialog-msw.c:
5264         * dialog-msw.c (mswindows_is_dialog_msg):
5265         * dialog-msw.c (mark_mswindows_dialog_id):
5266         * dialog-msw.c (dialog_proc):
5267         * dialog-msw.c (handle_question_dialog_box):
5268         * dialog-msw.c (syms_of_dialog_mswindows):
5269         Define new object to clean up marking; use it as a dialog identifier.
5270         Call new delete-dialog-box-hook.
5271
5272         * dialog-x.c (dbox_selection_callback):
5273         * dialog-x.c (dbox_descriptor_to_widget_value):
5274         * dialog-x.c (x_make_dialog_box_internal):
5275         Call new delete-dialog-box-hook.
5276         Return an id.
5277
5278         * dialog.c:
5279         * dialog.c (syms_of_dialog):
5280         * dialog.c (vars_of_dialog):
5281         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5282
5283         * eval.c:
5284         * eval.c (signal_call_debugger):
5285         when noninteractive, output stack traces on the console instead
5286         of in a (never-seen) buffer.
5287
5288         * eval.c (signal_type_error):
5289         * eval.c (invalid_argument_2):
5290         * lisp.h:
5291         new funs for use w/structured errors.
5292
5293         * event-Xt.c:
5294         * event-Xt.c (x_to_emacs_keysym):
5295         * event-Xt.c (describe_event):
5296         * event-Xt.c (emacs_Xt_event_handler):
5297         * event-Xt.c (vars_of_event_Xt):
5298         * event-msw.c:
5299         * event-msw.c (mswindows_wnd_proc):
5300         * event-msw.c (vars_of_event_mswindows):
5301         rename {x,mswindows}-debug-events to debug-{}-events for
5302         consistency with other debug-foo variables.
5303
5304         * event-stream.c:
5305         document next-event more clearly.
5306
5307         * fileio.c (Ffile_name_directory):
5308         * fileio.c (Ffile_name_nondirectory):
5309         * fileio.c (Funhandled_file_name_directory):
5310         * fileio.c (file_name_as_directory):
5311         * fileio.c (Ffile_name_as_directory):
5312         * fileio.c (directory_file_name):
5313         * fileio.c (Fdirectory_file_name):
5314         * fileio.c (Fmake_temp_name):
5315         * fileio.c (Ffile_truename):
5316         * fileio.c (Fsubstitute_in_file_name):
5317         * fileio.c (expand_and_dir_to_file):
5318         * fileio.c (barf_or_query_if_file_exists):
5319         * fileio.c (check_executable):
5320         * fileio.c (Ffile_exists_p):
5321         * fileio.c (Ffile_writable_p):
5322         * fileio.c (Ffile_directory_p):
5323         * fileio.c (Ffile_regular_p):
5324         * fileio.c (Ffile_modes):
5325         * fileio.c (Ffile_newer_than_file_p):
5326         * fileio.c (Fverify_visited_file_modtime):
5327         * fileio.c (Fset_visited_file_modtime):
5328         * fileio.c (auto_save_1):
5329         (1). (2).
5330         fix up gcpro's.
5331
5332         * frame-msw.c:
5333         * frame-msw.c (mswindows_init_frame_1):
5334         * frame-msw.c (mswindows_enable_frame):
5335         * frame-msw.c (error_frame_unsizable):
5336         * frame-msw.c (msprinter_init_frame_1):
5337         * frame-msw.c (msprinter_init_frame_3):
5338         * frame-msw.c (console_type_create_frame_mswindows):
5339         (2).
5340         implement new enable/disable frame methods.
5341
5342         * frame-x.c:
5343         * frame-x.c (x_enable_frame):
5344         * frame-x.c (console_type_create_frame_x):
5345         implement new enable/disable frame methods.
5346
5347         * frame.c:
5348         * frame.c (Fdisable_frame):
5349         * frame.c (syms_of_frame):
5350         * frame.h (struct frame):
5351         implement new enable/disable frame methods/functions.
5352
5353         * general-slots.h:
5354         add initial-focus.
5355
5356         * glyphs-msw.c (mswindows_widget_instantiate):
5357         comment that initial-focus should be implemented.
5358
5359         * glyphs-widget.c:
5360         * glyphs-widget.c (check_valid_instantiator):
5361         * glyphs-widget.c (check_valid_orientation):
5362         * glyphs-widget.c (check_valid_tab_orientation):
5363         * glyphs-widget.c (check_valid_justification):
5364         * glyphs-widget.c (check_valid_border):
5365         * glyphs-widget.c (check_valid_callback):
5366         * glyphs-widget.c (check_valid_int_or_function):
5367         * glyphs-widget.c (check_valid_string_or_vector):
5368         * glyphs-widget.c (check_valid_item_list_1):
5369         * glyphs-widget.c (widget_validate):
5370         * glyphs-widget.c (combo_box_validate):
5371         * glyphs-widget.c (widget_instantiate):
5372         * glyphs-widget.c (syms_of_glyphs_widget):
5373         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5374         * glyphs-widget.c (image_instantiator_combo_box):
5375         * glyphs-widget.c (image_instantiator_scrollbar):
5376         * glyphs-widget.c (image_instantiator_tab_control):
5377         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5378         (2).
5379         support (unimplemented) keyword initial-focus.
5380         reindent long macros.
5381
5382         * glyphs-x.c (x_redisplay_widget):
5383         * glyphs-x.c (x_button_instantiate):
5384         * glyphs-x.c (x_button_redisplay):
5385         * glyphs-x.c (x_progress_gauge_instantiate):
5386         * glyphs-x.c (x_edit_field_instantiate):
5387         * glyphs-x.c (x_combo_box_instantiate):
5388         * glyphs-x.c (x_tab_control_instantiate):
5389         * glyphs-x.c (x_label_instantiate):
5390         * gui-x.c:
5391         * gui-x.c (button_item_to_widget_value):
5392         * gui-x.c (gui_items_to_widget_values_1):
5393         * gui-x.c (gui_item_children_to_widget_values):
5394         * gui-x.c (gui_items_to_widget_values):
5395         * gui-x.h:
5396         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5397         add new flag to gui-parsing routines to indicate whether
5398         accelerator specs should be supported.
5399
5400         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5401
5402         * glyphs.h (struct Lisp_Image_Instance):
5403         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5404         add initial-focus flag.
5405
5406         * gui.c:
5407         * gui.c (syms_of_gui):
5408         * gui.c (vars_of_gui):
5409         clean up menu-no-selection-hook.
5410
5411         * gui.h:
5412         support delete-dialog-box-hook.
5413
5414         * lread.c (Fload_internal):
5415         * lread.c (locate_file_in_directory_mapper):
5416         (1).
5417
5418         * lrecord.h:
5419         * lrecord.h (struct toolbar_button):
5420         * lrecord.h (syms_of_toolbar):
5421         document how to create a new object.
5422
5423         * menubar-msw.c (mswindows_char_is_accelerator):
5424         may be called on frames w/o menus.
5425
5426         * menubar.c (vars_of_menubar):
5427         clean up :filter docs.
5428
5429         * nt.c (readdir):
5430         * ntproc.c:
5431         (1).
5432
5433         * process-nt.c:
5434         * process-nt.c (validate_signal_number):
5435         * process-nt.c (signal_cannot_launch):
5436         * process-nt.c (nt_create_process):
5437         * process-nt.c (nt_send_process):
5438         * process-nt.c (nt_kill_child_process):
5439         * process-nt.c (nt_open_network_stream):
5440         * process-nt.c (syms_of_process_nt):
5441         (2).
5442         delete quote-handling.  call new lisp code that does it better.
5443
5444         * process-unix.c (connect_to_file_descriptor):
5445         * process-unix.c (allocate_pty):
5446         * process-unix.c (unix_send_process):
5447         * process-unix.c (unix_kill_child_process):
5448         * process-unix.c (unix_open_network_stream):
5449         * process-unix.c (unix_open_multicast_group):
5450         (1). (2).
5451
5452         * process.c:
5453         * process.c (Fstart_process_internal):
5454         (2).  need to canonicalize process path even if absolute.
5455
5456         * select-msw.c (symbol_to_ms_cf):
5457         * select-msw.c (ms_cf_to_symbol):
5458         * select-msw.c (cf_is_autofreed):
5459         * select-msw.c (mswindows_destroy_selection):
5460         * select.c:
5461         * select.c (syms_of_select):
5462         * select.h:
5463         support dibv5, fix bugs. (from Mike Alexander)
5464
5465         * select.c (Fget_selection_internal):
5466         * select.c (select_convert_out):
5467
5468         * sysdep.c:
5469         * sysdep.c (xemacs_stat):
5470         renamed.
5471
5472         * sysdep.c (mkdir):
5473         * sysdep.c (rmdir):
5474         but keep original stat() here because we provide encapsulation
5475         around these funs.
5476
5477         * sysfile.h:
5478         * sysfile.h (fstat):
5479         remove stat garbage.
5480
5481         * syswindows.h:
5482         fix X/MSW conflict.
5483         don't include tchar.h.  it's inappropriate because it makes
5484         compile-time distinctions when we want runtime distinctions.
5485         (we provide our own tchar replacements)
5486
5487         * toolbar.c:
5488         use default object printer for toolbar-button.
5489
5490         * unexcw.c:
5491         make sure we don't encapsulate.
5492
5493         * window.c (vars_of_window):
5494         emphasize that temp-buffer-show-hook is obsolete.
5495
5496 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5497
5498         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5499         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5500
5501         * events.c (Fevent_timestamp_lessp):
5502         Not 64-bit clean.  Use EMACS_INT, not int.
5503
5504 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5505
5506         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5507         unsigned int and changed the last enum to
5508         lrecord_type_last_built_in_type.
5509         (lrecord_implementations_table): changed prototype to know how
5510         long the array is supposed to be.
5511         (lrecord_type_count): new unsigned int to keep track of the
5512         current number of lisp lrecord types.
5513         (DEFINE_EXTERNAL_LRECORD):
5514         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5515         dynamic-modules to declare new lisp types. They are the same
5516         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5517         int for each new type, and increment lrecord_type_count by 1.
5518
5519         * alloc.c (lrecord_implementations_table): Changed to reference
5520         lrecord_type_last_built_in_type for the size of the array.
5521         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5522
5523 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5524
5525         * glyphs.h (check_valid_item_list): Renamed from
5526         check_valid_item_list_1.
5527
5528 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5529
5530         * select.c (Qselect_coerce): New.
5531         * select.c (Vselection_coercion_alist): New.
5532         * select.c (syms_of_select): Declare.
5533         * select.c (get-selection-internal): Use it.
5534         Use the new select-coerce functionality.
5535
5536         * select.c (select_coerce): New.
5537         * select.h (select_coerce): Declare.
5538         New function to coerce one type of data into another.
5539
5540 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5541
5542         * callproc.c (Fcall_process_internal):
5543         (Fcall_process_internal):
5544         * process-unix.c (unix_create_process):
5545         Save and restore the value of errno, so that error messages are accurate.
5546
5547 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5548
5549         * elhash.c (print_hash_table):
5550         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5551         Prettify docstrings and indentation.
5552
5553 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5554
5555         * window.c (Fwindow_pixel_edges): Subtract frame border and
5556         gutter size.
5557
5558 2000-07-31  Andy Piper  <andy@xemacs.org>
5559
5560         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5561         will acknowledge the change.
5562
5563         * glyphs.h: declare tab_control_order_only_changed.
5564
5565         * glyphs-x.c (x_tab_control_redisplay): use
5566         tab_control_order_only_changed.
5567
5568         * glyphs-widget.c (tab_control_order_only_changed): new function.
5569
5570         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5571         tab_control_order_only_changed.
5572
5573         * gui.c (gui_item_equal_sans_selected): new function.
5574         (gui_item_equal): use it.
5575
5576         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5577         :properties in favor of :items..
5578
5579         * glyphs-widget.c (check_valid_item_list): rename from
5580         check_valid_item_list_1.
5581         (check_valid_item_list_1): renamed.
5582         (combo_box_validate): deprecate :properties in favor of :items.
5583         (widget_instantiate): ditto.
5584         (tab_control_update): ditto.
5585         (image_instantiator_combo_box): ditto.
5586         (image_instantiator_tree_view): ditto.
5587         (image_instantiator_tab_control): ditto.
5588         (layout_post_instantiate): remove dead code.
5589
5590         * print.c (debug_print_no_newline): only write to debugger if in
5591         WIN32_NATIVE.
5592
5593         * elhash.c (Fmake_hash_table): update doc string.
5594
5595         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5596         messages whilst in GC. This at least stops XEmacs crashing but has
5597         the potential for wierd behaviour.
5598
5599 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5600
5601         * config.h.in:
5602         Make existence of s&m files optional.
5603
5604         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5605         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5606         * s/gnu.h: Remove HAVE_GETLOADAVG.
5607         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5608         * s/sol2.h: Remove HAVE_GETLOADAVG.
5609         * lisp.h: Remove getloadavg() declaration.
5610         * fns.c:
5611         Include <sys/loadavg.h> if available.
5612         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5613         * config.h.in:  Group together getloadavg()-related macros.
5614         Use only configure-time tests to detect getloadavg().
5615
5616 2000-07-30  Martin Buchholz  <martin@xemacs.org>
5617
5618         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
5619
5620 2000-07-25  Andy Piper  <andy@xemacs.org>
5621
5622         * syswindows.h: add tchar.h for native builds.
5623
5624         * frame.c (syms_of_frame): remove set-glyph-image.
5625
5626         * general-slots.h: add Qset_glyph_image.
5627
5628         * glyphs-widget.c (layout_update): add domain arg to
5629         set-glyph-image.
5630         (syms_of_glyphs_widget): remove set-glyph-image.
5631
5632 2000-07-23  Ben Wing  <ben@xemacs.org>
5633
5634         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
5635         Vpopup_frame_list.
5636
5637 2000-07-22  Andy Piper  <andy@xemacs.org>
5638
5639         * symsinit.h: add syms_of_win32().
5640
5641         * gui-msw.c (syms_of_gui_mswindows): remove
5642         Fmswindows_shell_execute.
5643         (Fmswindows_shell_execute): moved to win32.c.
5644
5645         * emacs.c (main_1): add syms_of_win32 ().
5646
5647         * win32.c (init_potentially_nonexistent_functions): rewrite in
5648         compiler-friendly terms.
5649         (Fmswindows_shell_execute): move here from gui-msw.c.
5650         (syms_of_win32): new.
5651
5652         * device-msw.c (Fmswindows_printer_list): clean up args to
5653         EnumPrinters.
5654         Don't include tchar under cygwin or mingw.
5655         (msprinter_default_printer): make cygwin-friendly.
5656
5657 2000-07-21  Andy Piper  <andy@xemacs.org>
5658
5659         * glyphs-widget.c (image_instantiator_tree_view): use tab
5660         control's update function.
5661         (layout_property): new function. Retrieve items.
5662
5663         * glyphs-msw.c (mswindows_tree_view_redisplay): new
5664         function. Re-populate the tree view from the pending items.
5665
5666         * glyphs.c (instantiate_image_instantiator): Make sure the domain
5667         is designated the parent if the domain is an image instance. This
5668         is needed so that dirtiness can be cascade up the hierarchy and
5669         thus for layout children to be redisplayed correctly.
5670         (allocate_image_instance): rename glyph -> parent.
5671
5672         * redisplay.h: change redisplay_output_layout signature.
5673
5674         * redisplay-msw.c (mswindows_output_display_block): use domain
5675         arg.
5676
5677         * redisplay-x.c (x_output_display_block): use domain arg.
5678
5679 2000-07-10  Andy Piper  <andy@xemacs.org>
5680
5681         * window.c (Fset_window_configuration): add comment.
5682
5683         * redisplay-output.c (compare_runes):
5684         (redisplay_output_subwindow): redisplay rather than update subwindow.
5685         (redisplay_output_layout): ditto.
5686
5687         * redisplay-msw.c (mswindows_frame_output_end):
5688         (mswindows_frame_output_end): make defer window pos optional.
5689
5690         * lisp.h: add Flast.
5691
5692         * glyphs.h (struct image_instantiator_methods): add dest_mask top
5693         normalize method. Change update method to be for changed
5694         instantiators. Add redisplay method. Change signature of layout
5695         method.
5696         (struct Lisp_Image_Instance): add instantiator.
5697         (IMAGE_INSTANCE_INSTANTIATOR): new.
5698         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
5699         (XIMAGE_INSTANCE_INSTANTIATOR): new.
5700         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
5701
5702         * glyphs.c:
5703         (find_instantiator_differences): new function.
5704         (Fset_instantiator_property): new convenience function.
5705         (check_image_instance_structure): strictly check for vector
5706         instantiators.
5707         (normalize_image_instantiator): make non-static.
5708         (instantiate_image_instantiator): pass on dest_mask and use new
5709         signatures for image_instance_layout and friends.
5710         (mark_image_instance): mark the instantiator. Mark the subwindow
5711         face not the widget face.
5712         (image_instance_equal): add instantiator.
5713         (image_instance_hash): ditto.
5714         (allocate_image_instance): ditto.
5715         (Fset_image_instance_property): removed.
5716         (Fimage_instance_file_name): ditto.
5717         (Fcolorize_image_instance): ditto.
5718         (image_instance_layout): add offsets to be set.
5719         (update_image_instance): new function. update an image instance
5720         from its changed instantiator.
5721         (inherit_normalize): add dest_mask.
5722         (xbm_normalize): ditto.
5723         (xface_normalize): ditto.
5724         (xpm_normalize): ditto.
5725         (text_update): set_property -> update.
5726         (image_instantiate): use the glyph identity as a hash key, not the
5727         instantiator.
5728         (glyph_width): use new image_instance_layout signature.
5729         (glyph_ascent): ditto.
5730         (glyph_descent): ditto.
5731         (glyph_height): ditto.
5732         (glyph_query_geometry): ressurrect.
5733         (glyph_layout): ditto.
5734         (redisplay_subwindow): update -> redisplay.
5735         (syms_of_glyphs): add Fset_instantiator_property.
5736         (image_instantiator_format_create): set_property -> update.
5737
5738         * glyphs-x.c:
5739         (autodetect_normalize): add dest_maks to signature.
5740         (x_redisplay_subwindow): update -> redisplay.
5741         (x_redisplay_widget): ditto.
5742         (x_button_redisplay): ditto.
5743         (x_progress_gauge_redisplay): ditto.
5744         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
5745         stacking order.
5746         (console_type_create_glyphs_x): update -> redisplay.
5747         (image_instantiator_format_create_glyphs_x): ditto.
5748
5749         * glyphs-widget.c:
5750         (check_valid_instantiator): disallow glyphs in the instantiator,
5751         they must now be vectors.
5752         (check_valid_instantiator_list): ditto.
5753         (glyph_instantiator_to_glyph): use internal symbol rather than
5754         intern.
5755         (widget_update): renamed from widget_set_property. Call cascaded
5756         update methods.
5757         (redisplay_widget): renamed from update_widget.
5758         (widget_layout): image_instance_layout now takes position as well
5759         as size.
5760         (widget_normalize): ditto.
5761         (widget_instantiate): ditto.
5762         (tab_control_query_geometry) ditto.:
5763         (tab_control_update): renamed from tab_control_set_property.
5764         (progress_gauge_update): set_property -> update.
5765         (layout_normalize): rewrite so that child instantiators are
5766         normalized also.
5767         (layout_update): new function. Create glyphs from the normalized
5768         children and cope with any other layout keywords. We do not
5769         instantiate children here that will be take care of by
5770         redisplay_output_layout.
5771         (layout_instantiate): call layout_update and not much else.
5772         (layout_post_instantiate): not sure whether this is needed
5773         anymore.
5774         (layout_query_geometry): query glyph geometry rather than
5775         image_instance geometry.
5776         (layout_layout): set offsets from pass in parameters. Use glyph
5777         geometry and layout functions rather than image instance ones.
5778         (native_layout_layout): ditto.
5779         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
5780         (image_instantiator_widget): set_property -> update.
5781         (image_instantiator_buttons): ditto.
5782         (image_instantiator_progress_guage): ditto.
5783         (image_instantiator_tab_control): ditto.
5784         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
5785         (image_instantiator_layout): add update method.
5786
5787         * glyphs-msw.c (bmp_normalize):
5788         (mswindows_resource_normalize): add dest_mask so that it can be
5789         proprogated by layout_normalize.
5790         (begin_defer_window_pos): make optional because it may not be the
5791         right thing to do and it introduces differences with X.
5792         (mswindows_unmap_subwindow): ditto.
5793         (mswindows_map_subwindow): ditto.
5794         (mswindows_redisplay_subwindow): renamed from
5795         mswindows_update_subwindow.
5796         (mswindows_redisplay_widget): ditto.
5797         (mswindows_button_redisplay): renamed from
5798         mswindows_button_update. Update is now what the instantiation
5799         function does for a changed instantiator.
5800         (mswindows_progress_gauge_instantiate): set the progress value
5801         here if appropriate.
5802         (mswindows_tab_control_redisplay): cope with re-ordering of the
5803         members of the tab widget by simply selecting the new top
5804         widget. This makes things appear ok if you click on a tab.
5805         (mswindows_combo_box_instantiate): image_instance_layout now takes
5806         position as well as size.
5807         (mswindows_progress_gauge_redisplay): renamed from
5808         mswindows_progress_gauge_update.
5809         (console_type_create_glyphs_mswindows): fix update -> redisplay.
5810         (image_instantiator_format_create_glyphs_mswindows): ditto.
5811
5812         * glyphs-eimage.c (jpeg_normalize):
5813         (gif_normalize):
5814         (png_normalize):
5815         (tiff_normalize): add dest_mask so that it can be proprogated by
5816         layout_normalize.
5817
5818         * elhash.c:
5819         (print_hash_table):
5820         (hash_table_weakness_validate):
5821         (decode_hash_table_weakness):
5822         (Fhash_table_weakness):
5823         (Fhash_table_type):
5824         (syms_of_elhash): use Ben's naming scheme for hashtable types..
5825
5826         * console.h (struct console_methods): move update_* to
5827         redisplay_*.
5828
5829 2000-07-20  Ben Wing  <ben@xemacs.org>
5830
5831         * *.[ch] (XSETOBJ): remove unused middle argument.
5832         lisp-disunion.h: correct wrap_object() to one argument.
5833
5834 2000-07-15  Ben Wing  <ben@xemacs.org>
5835
5836         * s/cygwin32.h:
5837         * s/cygwin32.h (CYGWIN_CONV_PATH):
5838         Add missing logb prototype for v1.1.
5839         Use post-b20 names and alias to pre-b20 names when pre-b20.
5840
5841         * s/windowsnt.h: [5].
5842
5843 2000-07-15  Ben Wing  <ben@xemacs.org>
5844
5845         * Makefile.in.in (x_objs):
5846         * Makefile.in.in (sheap_objs):
5847         * Makefile.in.in (objs):
5848         added win32.o, cosmetic cleanups.
5849
5850         * alloc.c (Fmake_byte_code):
5851         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
5852         etc. macros which declare their own args now.
5853
5854         * alloc.c (syms_of_alloc):
5855         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
5856
5857         * buffer.c:
5858         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
5859
5860         * buffer.c (Fget_file_buffer):
5861         Fixed GCPRO problem.
5862
5863         * buffer.c (get_truename_buffer):
5864         Fixed comment about GC checking.
5865
5866         * buffer.c (syms_of_buffer):
5867         Undeclared those dedicated frame funs.
5868         [2].
5869
5870         * buffer.h:
5871         Define convenience macros for internal/external conversions.
5872         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
5873         and Qenvironment_variable_encoding for cleaner code.
5874
5875         * bufslots.h:
5876         Remove dedicated-frame; in lisp.
5877
5878         * bytecode.c (funcall_compiled_function):
5879         [1].
5880
5881         * bytecode.c (syms_of_bytecode):
5882         [2].
5883
5884         * console-msw.c:
5885         * console-msw.c (mswindows_show_console): Rewrote.
5886
5887         * console-msw.c (Fmswindows_debugging_output): New.
5888         Sends to OutputDebugString (special MSWin debugger interface).
5889
5890         * console-msw.c (Fmswindows_message_box):
5891         Fixed stupid bugs so it works when called from kill-emacs.
5892
5893         * console-msw.c (syms_of_console_mswindows):
5894         Declare Fmswindows_debugging_output.
5895
5896         * console-msw.h:
5897         New MSWin prototypes.
5898
5899         * console-msw.h (struct mswindows_frame):
5900         New entry last-click-mods for improved button-modifier support.
5901
5902         * console-msw.h (FRAME_MSWINDOWS_POPUP):
5903         New struct entry `popup' with corresponding accessor.
5904
5905         * console-x.c:
5906         * console-x.c (split_up_display_spec):
5907         * console-x.c (get_display_arg_connection):
5908         * console-x.c (x_semi_canonicalize_console_connection):
5909         * console-x.c (x_canonicalize_device_connection):
5910         [[[6]]]: Change char to more specific type.
5911         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
5912
5913         * console-x.c (x_semi_canonicalize_console_connection):
5914         * console-x.c (x_canonicalize_device_connection):
5915         [[[9]]]: Fix up error signalling to use new structured error system.
5916
5917         * console-x.h:
5918         [[[4]]]: Define codesys aliases:
5919         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
5920         Qx_color_name_encoding, Qx_display_name_encoding.
5921
5922         * console.h (struct console_methods):
5923         New method make_dialog_box_internal supersedes older
5924         popup_dialog_box method.
5925
5926         * data.c:
5927         Define many new errors, part of new structured errors.
5928
5929         * data.c (init_errors_once_early):
5930         * data.c (syms_of_data):
5931         [2].
5932
5933         * device-msw.c (mswindows_init_device):
5934         [[[5]]]: Cleanup to support NT 3.51.
5935
5936         * device-msw.c (decode_devmode): Cleanup.
5937
5938         * device-msw.c (mswindows_handle_print_setup_dialog_box):
5939         * device-msw.c (mswindows_handle_print_dialog_box):
5940         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5941         * device-msw.c (syms_of_device_mswindows):
5942         Delete the dialog box primitives recently introduced by Kirill and
5943         instead interface to general dialog box interface.
5944
5945         * device-x.c:
5946         * device-x.c (compute_x_app_name):
5947         * device-x.c (x_init_device):
5948         * device-x.c (Fx_valid_keysym_name_p):
5949         * device-x.c (Fx_set_font_path):
5950         [6].
5951         [7].
5952
5953         * device.h (wrap_device): New.
5954         First of its kind; meant to replace XSETDEVICE.
5955
5956         * dialog-msw.c: Many file-dialog symbols.
5957
5958         * dialog-msw.c (mswindows_register_popup_frame): New.
5959         * dialog-msw.c (mswindows_is_dialog_msg): New.
5960         For supporting kbd traversal in dialog boxes.
5961
5962         * dialog-msw.c (dialog_proc):
5963         Support hitting ESC in dialogs.
5964
5965         * dialog-msw.c (struct):
5966         Common dialog box errors.
5967
5968         * dialog-msw.c (handle_file_dialog_box): New.
5969         Add file dialog code.
5970
5971         * dialog-msw.c (handle_question_dialog_box):
5972         Redo existing code to support new question dialog syntax.
5973
5974         * dialog-msw.c (console_type_create_dialog_mswindows):
5975         We support new dialog console method.
5976
5977         * dialog-msw.c (syms_of_dialog_mswindows):
5978         * dialog-msw.c (vars_of_dialog_mswindows):
5979         New file dialog symbols, vars.
5980
5981         * dialog-x.c:
5982         * dialog-x.c (maybe_run_dbox_text_callback):
5983         * dialog-x.c (dbox_descriptor_to_widget_value):
5984         * dialog-x.c (x_make_dialog_box_internal):
5985         * dialog-x.c (console_type_create_dialog_x):
5986         Mule-ize entire file.
5987         Redo to support question dialog syntax.
5988         [6].
5989
5990         * dialog.c:
5991         * dialog.c (Fmake_dialog_box_internal):
5992         * dialog.c (syms_of_dialog):
5993         Kill old popup-dialog-box, replace with new primitive.
5994         Just call device method or signal error.
5995
5996         * eldap.c (Fldap_open):
5997         * eldap.c (Fldap_search_basic):
5998         * eldap.c (Fldap_add):
5999         * eldap.c (Fldap_modify):
6000         [1].
6001         [7].
6002
6003         * emacs.c:
6004         * emacs.c (make_arg_list_1):
6005         * emacs.c (make_arg_list):
6006         Mule-ize call to dll_init().
6007         [6].
6008         [8].
6009
6010         * emacs.c (make_argc_argv):
6011         * emacs.c (free_argc_argv):
6012         * emacs.c (init_cmdargs):
6013         * emacs.c (main_1):
6014         * emacs.c (Fkill_emacs):
6015         * emacs.c (Fdump_emacs):
6016         Update comments about what can be used in syms_* etc.
6017         Call init_win32() when necessary.
6018         Fix up MS Win dialog box in kill-buffer to actually work right.
6019         [7].
6020
6021         * eval.c:
6022         * eval.c (For):
6023         * eval.c (Fand):
6024         * eval.c (Fprogn):
6025         * eval.c (Fprog1):
6026         * eval.c (Fprog2):
6027         * eval.c (FletX):
6028         * eval.c (Flet):
6029         * eval.c (condition_case_3):
6030         * eval.c (Feval):
6031         * eval.c (function_argcount):
6032         * eval.c (funcall_lambda):
6033         [1].
6034
6035         * eval.c (type_error): New.
6036         * eval.c (maybe_type_error): New.
6037         * eval.c (continuable_type_error): New.
6038         * eval.c (maybe_continuable_type_error): New.
6039         * eval.c (type_error_with_frob): New.
6040         * eval.c (maybe_type_error_with_frob): New.
6041         * eval.c (continuable_type_error_with_frob): New.
6042         * eval.c (maybe_continuable_type_error_with_frob): New.
6043         New functions for use with structured errors.
6044
6045         * event-Xt.c:
6046         * event-Xt.c (x_event_to_emacs_event):
6047         Buttons are now modifiers too.
6048
6049         * event-Xt.c (emacs_Xt_current_event_timestamp):
6050         Implement new event method.
6051         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6052
6053         * event-msw.c:
6054         * event-msw.c (ntpipe_shove_writer): [5].
6055         * event-msw.c (mswindows_enqueue_mouse_button_event):
6056         * event-msw.c (mswindows_drain_windows_queue):
6057         * event-msw.c (mswindows_wnd_proc): [7].
6058         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6059         * event-msw.c (mswindows_modifier_state):
6060         Throughout: support new button modifiers.
6061
6062         * event-msw.c (emacs_mswindows_current_event_timestamp):
6063         Implement new event method.
6064         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6065
6066         * event-stream.c:
6067         * event-stream.c (event_stream_current_event_timestamp): New.
6068         * event-stream.c (maybe_kbd_translate): New functionality.
6069         * event-stream.c (vars_of_event_stream):
6070         Document new kbd-translate-table functionality.
6071
6072         * event-stream.c (Fcurrent_event_timestamp): New.
6073         New primitive for use in fabricated events.
6074         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6075
6076         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6077
6078         * events.c:
6079         * events.c (Fmake_event):
6080         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6081         [1].
6082         [9].
6083
6084         * events.c (format_event_object): fix gcc warnings.
6085
6086         * events.c (Fevent_timestamp): Document new primitives.
6087
6088         * events.c (TIMESTAMP_HALFSPACE): New.
6089
6090         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6091         comparing timestamps correctly (half-space algorithm).
6092
6093         * events.c (Fevent_modifier_bits): Doc fix.
6094
6095         * events.c (Fevent_modifiers): Major doc addition.
6096         * events.c (event_x_y_pixel_internal): Typo fix.
6097         * events.c (syms_of_events): Declare new primitives.
6098
6099         * events.h:
6100         Update long comment for button modifiers, timestamps.
6101
6102         * events.h (struct event_stream):
6103         New current_event_timestamp method.
6104
6105         * extents.c:
6106         * extents.c (extent_in_region_p):
6107         * extents.c (decode_extent):
6108         * extents.c (Fset_extent_parent):
6109         * extents.c (decode_map_extents_flags):
6110         Fix gcc warnings.
6111         [9].
6112
6113         * extents.c (struct extent_at_arg):
6114         * extents.c (decode_extent_at_flag):
6115         * extents.c (extent_at_mapper):
6116         * extents.c (extent_at_bytind):
6117         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6118         * extents.c (Fextents_at): New primitive. [9].
6119         * extents.c (symbol_to_glyph_layout): [9].
6120         Support new primitive `extents-at'.
6121
6122
6123         * extents.c (get_text_property_bytind):
6124         extent_at_bytind has another arg.
6125         [9].
6126
6127         * extents.c (syms_of_extents): New primitive.
6128
6129         * file-coding.c (Fmake_coding_system): [1].
6130         * file-coding.c (subsidiary_coding_system): fix gcc warning
6131         * file-coding.c (syms_of_file_coding): [2].
6132
6133         * fileio.c (Fexpand_file_name):
6134         * fileio.c (Fsysnetunam):
6135         * fileio.c (Ffile_exists_p):
6136         * fileio.c (Ffile_executable_p):
6137         * fileio.c (Fverify_visited_file_modtime):
6138         Clean up GCPROing.
6139
6140         * fileio.c (syms_of_fileio): [2].
6141
6142         * filelock.c (lock_file_1):
6143         * filelock.c (current_lock_owner):
6144         * filelock.c (lock_if_free):
6145         * filelock.c (lock_file):
6146         * filelock.c (unlock_file):
6147         Clean up GCPROing.
6148
6149         * fns.c (concat): Fix gcc warning.
6150
6151         * fns.c (Fmember):
6152         * fns.c (Fold_member):
6153         * fns.c (Fmemq):
6154         * fns.c (Fold_memq):
6155         * fns.c (memq_no_quit):
6156         * fns.c (Fassoc):
6157         * fns.c (Fold_assoc):
6158         * fns.c (Fassq):
6159         * fns.c (Fold_assq):
6160         * fns.c (assq_no_quit):
6161         * fns.c (Frassoc):
6162         * fns.c (Fold_rassoc):
6163         * fns.c (Frassq):
6164         * fns.c (Fold_rassq):
6165         * fns.c (rassq_no_quit):
6166         * fns.c (Fdelete):
6167         * fns.c (Fold_delete):
6168         * fns.c (Fdelq):
6169         * fns.c (Fold_delq):
6170         * fns.c (delq_no_quit):
6171         * fns.c (Fremassoc):
6172         * fns.c (Fremassq):
6173         * fns.c (remassq_no_quit):
6174         * fns.c (Fremrassoc):
6175         * fns.c (Fremrassq):
6176         * fns.c (remrassq_no_quit):
6177         * fns.c (Freverse):
6178         * fns.c (mapcar1):
6179         [1].
6180
6181         * frame-msw.c (mswindows_init_frame_1):
6182         * frame-msw.c (mswindows_delete_frame):
6183         Register popups with dialog code so keyboard traversing works.
6184
6185         * frame-tty.c (tty_raise_frame_no_select): [1].
6186
6187         * frame-x.c:
6188         * frame-x.c (x_set_frame_text_value):
6189         * frame-x.c (x_set_frame_properties):
6190         * frame-x.c (x_create_widgets):
6191         [7].
6192
6193         * frame.c:
6194         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6195
6196         * frame.h (wrap_frame): New.
6197         Macro like wrap_device.
6198
6199         * general.c:
6200         * general.c (SYMBOL):
6201         * general.c (syms_of_general):
6202         Major reorg.  This is now just a wrapper and symbols themselves
6203         are listed in general-slots.h.
6204
6205         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6206         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6207
6208         * glyphs-msw.c (mswindows_native_layout_instantiate):
6209         Add DS_CONTROL so keyboard traversal will work.
6210
6211         * glyphs-widget.c:
6212         * glyphs-widget.c (syms_of_glyphs_widget):
6213         Move some symbols to general-slots.h.
6214
6215         * glyphs-x.c:
6216         * glyphs-x.c (xbm_instantiate_1):
6217         * glyphs-x.c (x_xbm_instantiate):
6218         * glyphs-x.c (x_xface_instantiate):
6219         * glyphs-x.c (autodetect_instantiate):
6220         * glyphs-x.c (cursor_font_instantiate):
6221         * glyphs-x.c (x_update_widget):
6222         * glyphs-x.c (x_widget_instantiate):
6223         * glyphs.c (bitmap_to_lisp_data):
6224         * glyphs.c (pixmap_to_lisp_data):
6225         [7].
6226
6227         * glyphs.c (syms_of_glyphs):
6228         [2].
6229
6230         * gui-x.c:
6231         * gui-x.c (print_widget_value):
6232         * gui-x.c (menu_separator_style_and_to_external):
6233         * gui-x.c (add_accel_and_to_external):
6234         * gui-x.c (button_item_to_widget_value):
6235         * gui-x.c (gui_items_to_widget_values_1):
6236         * gui-x.c (gui_items_to_widget_values):
6237         * gui-x.c (syms_of_gui_x):
6238         * gui-x.c (vars_of_gui_x):
6239         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6240         [9].
6241
6242         * gui-x.h:
6243         Muleize, prototype changes matching gui-x.c.
6244
6245         * gui.c:
6246         * gui.c (separator_string_p):
6247         * gui.c (gui_item_add_keyval_pair):
6248         * gui.c (make_gui_item_from_keywords_internal):
6249         * gui.c (signal_too_long_error):
6250         * gui.c (parse_gui_item_tree_item):
6251         * gui.c (syms_of_gui):
6252         * gui.c (vars_of_gui):
6253         * gui.h:
6254         menu-no-selection-hook moved here (used by MSWin).
6255         Move some symbols to general-slots.h.
6256         [6].
6257         [9].
6258
6259         * insdel.c (get_buffer_pos_char):
6260         * insdel.c (get_buffer_range_char):
6261         Add GC comments.
6262
6263         * keymap.c (keymap_lookup_directly):
6264         * keymap.c (keymap_store):
6265         * keymap.c (ensure_meta_prefix_char_keymapp):
6266         * keymap.c (describe_map):
6267         * keymap.h:
6268         Support new button modifiers.
6269
6270         * lisp-disunion.h (wrap_object):
6271         * lisp-disunion.h (XSETOBJ):
6272         Rename make_obj to wrap_object.
6273
6274         * lisp-union.h:
6275         * lisp-union.h (make_int):
6276         * lisp-union.h (make_char):
6277         Support wrap_object.
6278
6279         * lisp.h:
6280         * lisp.h (LIST_LOOP):
6281         * lisp.h (EXTERNAL_LIST_LOOP):
6282         * lisp.h (LIST_LOOP_2):
6283         * lisp.h (EXTERNAL_LIST_LOOP_1):
6284         * lisp.h (EXTERNAL_LIST_LOOP_2):
6285         * lisp.h (EXTERNAL_LIST_LOOP_3):
6286         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6287         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6288         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6289         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6290         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6291         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6292         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6293         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6294         * lisp.h (struct Lisp_Symbol):
6295         * lisp.h (maybe_continuable_error_with_frob):
6296         Fix up section comments.
6297         Add new types for char to indicate usage.
6298         Delete symbols auto-generated from general-slots.h.
6299         Add prototypes for structured error functions.
6300         Add long comments describing looping macros and change interface
6301         so that lvalues are automatically declared.
6302         Add NO_DECLARE macro in case callers want to declare lvalues
6303         themselves.
6304
6305         * lread.c (read_syntax_error):
6306         * lread.c (continuable_read_syntax_error):
6307         * lread.c (read_structure):
6308         * lread.c (sequence_reader):
6309         * lread.c (read_list_conser):
6310         * lread.c (read_compiled_function):
6311         Rename syntax_error and continuable_syntax_error to avoid clash
6312         with same-named structured error functions.
6313
6314         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6315         * menubar-msw.c (populate_menu_add_item):
6316         * menubar-msw.c (populate_or_checksum_helper):
6317         [5].
6318         [9].
6319
6320         * menubar-x.c:
6321         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6322         Mule-ize whole file.
6323
6324         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6325
6326         * mule-charset.c (Fmake_charset):
6327         * mule-wnnfns.c (Fwnn_set_param):
6328         [1].
6329
6330         * ntproc.c (create_child):
6331         * ntproc.c (Fwin32_set_current_locale):
6332         Add comments portending doom.
6333
6334         * objects-msw.c:
6335         * objects-msw.c (old_font_enum_callback_2):
6336         * objects-msw.c (font_enum_callback_1):
6337         * objects-msw.c (mswindows_enumerate_fonts):
6338         [5].
6339
6340         * objects-x.c:
6341         * objects-x.c (allocate_nearest_color):
6342         * objects-x.c (x_parse_nearest_color):
6343         * objects-x.c (x_initialize_color_instance):
6344         * objects-x.c (x_print_color_instance):
6345         * objects-x.c (x_finalize_color_instance):
6346         * objects-x.c (x_valid_color_name_p):
6347         * objects-x.c (x_initialize_font_instance):
6348         * objects-x.c (x_print_font_instance):
6349         * objects-x.c (valid_x_font_name_p):
6350         * objects-x.c (truename_via_FONT_prop):
6351         * objects-x.c (truename_via_random_props):
6352         * objects-x.c (truename_via_XListFonts):
6353         * objects-x.c (x_font_truename):
6354         * objects-x.c (x_font_instance_truename):
6355         * objects-x.c (x_font_instance_properties):
6356         * objects-x.c (x_list_fonts):
6357         * objects-x.c (x_find_charset_font):
6358         Mule-ize entire file.
6359         [7].
6360
6361         * objects-x.h:
6362         Mule-verify.
6363
6364         * print.c:
6365         * print.c (std_handle_out_external):
6366         * print.c (debug_print_no_newline):
6367         * print.c (syms_of_print):
6368         Output to all debugger kinds in debug-print.
6369         Fix console-output code under MSWin to actually work.
6370
6371         * process-nt.c (send_signal):
6372         * process-nt.c (nt_create_process):
6373         Use newer Unicode macros.
6374
6375         * process-unix.c (unix_create_process):
6376         * process-unix.c (unix_canonicalize_host_name):
6377         * process-unix.c (unix_open_network_stream):
6378         [7].
6379
6380         * scrollbar-x.c:
6381         Mule-verify.
6382
6383         * search.c (syms_of_search):
6384         [2].
6385
6386         * select-msw.c (mswindows_destroy_selection):
6387         Use LIST_LOOP_2.
6388
6389         * select-x.c (symbol_to_x_atom):
6390         [7].
6391
6392         * select.c (syms_of_select):
6393         [2].
6394
6395         * sound.c (Fplay_sound_file):
6396         [7].
6397
6398         * specifier.c:
6399         * specifier.c (decode_specifier_type):
6400         * specifier.c (Fvalid_specifier_locale_type_p):
6401         * specifier.c (check_valid_locale_or_locale_type):
6402         * specifier.c (decode_locale):
6403         * specifier.c (decode_locale_type):
6404         * specifier.c (decode_locale_list):
6405         * specifier.c (check_valid_domain):
6406         * specifier.c (decode_specifier_tag_set):
6407         * specifier.c (Fcanonicalize_tag_set):
6408         * specifier.c (Fdefine_specifier_tag):
6409         * specifier.c (Fspecifier_tag_predicate):
6410         * specifier.c (check_valid_inst_list):
6411         * specifier.c (check_valid_spec_list):
6412         * specifier.c (decode_how_to_add_specification):
6413         * specifier.c (check_modifiable_specifier):
6414         * specifier.c (specifier_add_spec):
6415         * specifier.c (boolean_validate):
6416         * specifier.c (display_table_validate):
6417         [9].
6418
6419         * specifier.c (syms_of_specifier):
6420         Move some symbols to general-slots.h.
6421         [2].
6422
6423         * symbols.c:
6424         * symbols.c (Fmapatoms):
6425         * symbols.c (Fapropos_internal):
6426         Add GCPROs.
6427
6428         * symbols.c (set_default_buffer_slot_variable):
6429         * symbols.c (set_default_console_slot_variable):
6430         [1].
6431
6432         * symbols.c (defsymbol_massage_name_1):
6433         * symbols.c (defkeyword_massage_name):
6434         * symbols.c (deferror_1):
6435         * symbols.c (deferror):
6436         * symbols.c (deferror_massage_name_and_message):
6437         * symeval.h:
6438         * symeval.h (DEFSYMBOL):
6439         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6440
6441         * symbols.c (syms_of_symbols):
6442         [2].
6443
6444         * symsinit.h:
6445         * symsinit.h (init_win32): New.
6446         Also new is syms_of_dialog_mswindows.
6447
6448         * syswindows.h:
6449         Add new Unicode macros, missing Cygwin wide-char functions,
6450         convenience conversion macros for Qmswindows_tstr, macros for
6451         encapsulating required MSWin <-> Cygwin filename conversions,
6452         prototype for dynamically-extracted (not in NT 3.51) functions.
6453
6454         * toolbar-x.c:
6455         Mule-verify.
6456
6457         * tooltalk.c (Fadd_tooltalk_message_arg):
6458         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6459         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6460         [7].
6461
6462         * tooltalk.c (syms_of_tooltalk):
6463         [2].
6464
6465         * unexnt.c:
6466         * unexnt.c (unexec):
6467         Fix up headers, declaration of unexec() to be more standard.
6468
6469 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6470
6471         * offix.h: Revert change to guard macros - they're used in offix.c!
6472
6473 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6474
6475         * lisp.h: Defsubred Fdelete.
6476
6477         * console-msw.h:  (msprinter_default_printer): Added.
6478
6479         * console-msw.c (msprinter_canonicalize_console_connection):
6480         (msprinter_canonicalize_device_connection): Added.
6481
6482         * device-msw.c (msprinter_default_printer):
6483         (Fmswingows_get_default_printer):
6484         (signal_enum_priner_error):
6485         (Fmswingows_printer_list): Added.
6486
6487 2000-07-19  Martin Buchholz <martin@xemacs.org>
6488
6489         * XEmacs 21.2.35 is released.
6490
6491 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6492
6493         * select-x.c (x_handle_selection_request):
6494         Text selected in xemacs and pasted into xterm failed to appear.
6495         Spelling fixes and cosmetic changes.
6496
6497 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6498
6499         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6500         XEmacs frame (fix for doubling chars in dialog boxes).
6501
6502 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6503
6504         * select.c (select_convert_in, select_convert_out):
6505         Don't call intern() every time.
6506
6507         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6508         * select.c (vars_of_select): Initialise them.
6509
6510 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6511
6512         * select.c (selection-coercible-types): New.
6513
6514         * select.c (own-selection-internal):
6515         * select.c (get-selection-internal):
6516         MULE bug fix - these should default to COMPOUND_TEXT and not
6517         STRING for MULE. I think.
6518
6519         * select.c (select_convert_out): Use selection-coercible-types
6520         to find types that we can attempt to perform coercions on.
6521
6522 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6523
6524         * mule-wnnfns.c:
6525         * mule-canna.c:
6526         Add coding: cookie to identify encoding.
6527
6528         * mule-canna.c (CANNA_mode_keys): make static.
6529         Use proper prototypes, even for functions of no arguments.
6530         Remove external prototype for Fding().
6531
6532         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6533
6534         * select.c (syms_of_select): Add missing DEFSUBR.
6535
6536 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6537
6538         * select.c (get_selection_internal, own_selection_internal):
6539         Make the type default to STRING, rather than placing a nil type
6540         into Vselection_alist.
6541
6542 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6543
6544         * gpmevent.c (tty_selection_exists_p):
6545         * gpmevent.c (tty_own_selection):
6546         Updated parameter lists.
6547
6548 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6549
6550         * select.h (selection-alist): Removed declaration.
6551
6552         * select.h (get_local_selection):
6553         * select.c (get_local_selection):
6554         Made static.
6555
6556         * select.h (convert_selection): Removed declaration.
6557         * select.c (convert_selection): Removed.
6558         This function belongs in Lisp.
6559
6560         * select.h (select_convert_in): Declare.
6561         * select.h (select_convert_out): Declare.
6562         * select.c (select_convert_in): New.
6563         * select.c (select_convert_out): New.
6564         New conversion functions for other files to call.
6565
6566         * select.h (select_notify_buffer_kill): Declare.
6567         * select.c (select_notify_buffer_kill): New.
6568         New functions that get called from kill-buffer.
6569
6570         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6571         X-specific lisp code.
6572
6573         * select.h: Declare some of the lisp-visible functions for
6574         external use.
6575
6576         * select.c (clean_local_selection_data): Removed. This was
6577         a disgusting function, and previously should have been in
6578         select-x.c in any case. The functionality is now provided
6579         in select-convert-from-integer (select.el).
6580
6581         * select.c (available-selection-types): Fixed stupidity where
6582         INTEGER and ATOM got added twice. Also add STRING when we see an
6583         extent.
6584
6585         * select.c (get-selection-internal): Removed symbol stripping. No
6586         longer causes conversion when data comes from the internal cache.
6587
6588         * select.c (syms_of_select): Added new functions.
6589
6590         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6591         error checking - previously this called abort!
6592
6593         * select-x.c (x_own_selection): Changed comment.
6594
6595         * select-x.c (x_handle_selection_request): Use select_convert_out.
6596         Don't mess with selection-alist; it's an internal variable of select.c.
6597
6598         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6599
6600         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6601         rather than messing with selection-alist.
6602
6603         * select-msw.c (mswindows_get_foreign_selection):
6604         Use TO_INTERNAL_FORMAT rather than hacking.
6605
6606 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6607
6608         * process-unix.c (unix_open_multicast_group):
6609         (unix_open_multicast_group): Remove useless casts.
6610
6611 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6612
6613         * sound.c (Fplay_sound): Fix `unused variable' warning.
6614
6615         * emacs.c (main): Use correct type for _environ on SCO5.
6616
6617 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
6618
6619         * console.h (own_selection_method):
6620         * console.h (selection_exists_p_method):
6621         * console.h (available_selection_types_method): New.
6622         * console.h (register_selection_data_type_method): New.
6623         * console.h (selection_data_type_name): New.
6624
6625         * console-msw.h (mswindows_destroy_selection): Declare it.  New
6626         function & alist to track GlobalAlloc()'d handles that need
6627         releasing when the clipboard data gets replaced or emptied.
6628
6629         * event-msw.c (mswindows_wnd_proc): Call it.
6630
6631         * lisp.h, general.c (Qappend): New symbol representing a
6632         `how-to-add' mode.
6633
6634         * select.c (own-selection-internal):
6635         * select.c (selection-exists-p):
6636         * select.c (available-selection-types): New.
6637         * select.c (register-selection-data-type): New.
6638         * select.c (selection-data-type-name): New.  New functions to deal
6639         with device-specific selection data formats.
6640         * select.c (selection-converter-out-alist): Renamed.
6641         * select.c (selection-converter-in-alist): New.
6642         * select.c (selection-appender-alist): New.  Added new alists.
6643         * select.c (syms_of_select, vars_of_select): Added new symbols &
6644         variables.
6645         * select.c (get_local_selection): Split.
6646         * select.c: Removed spurious type checking - selections may now be
6647         of any type, not just strings.
6648         * select.c (own-selection-internal):
6649
6650         * select.h, select.c (convert_selection): New. Created
6651         convert_selection() function based on get_local_selection().
6652         * select.h, select.c (QCF_*): New symbols representing mswindows
6653         clipboard formats.
6654         * select.h, select.c (Qreplace_all, Qreplace_existing): New
6655         symbols representing `how-to-add' modes.
6656
6657         * select-msw.c (x_sym_p): New.
6658         * select-msw.c (symbol_to_ms_cf): New.
6659         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
6660         symbols & clipboard formats. Can also handle string names.
6661         * select-msw.c (mswindows_own_selection):
6662         * select-msw.c (mswindows_selection_exists_p):
6663         Added `data-type' parameter. Use it.
6664         * select-msw.c (mswindows_available_selection_types): New.
6665         * select-msw.c (mswindows_register_selection_data_type): New.
6666         * select-msw.c (mswindows_selection_data_type_name): New.
6667         * select-msw.c (mswindows_own_selection):
6668         * select-msw.c (mswindows_get_foreign_selection):
6669         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
6670         * select-msw.c (console_create_select_mswindows): Added new methods.
6671         * select-msw.c (mswindows_destroy_selection): New.
6672         * select-msw.c (Vhandle_alist): New list.
6673         * select-msw.c (mswindows_own_selection):
6674
6675         * select-x.c (x_own_selection):
6676         * select-x.c (x_selection_exists_p):
6677         * select-x.c: Added some comments about maybe using new
6678         functionality.
6679         * select-x.c (x_own_selection):
6680
6681         * specifier.c: Remove definition of Qappend (now in general.c)
6682         * specifier.c (syms_of_specifier): Remove Qappend.
6683
6684 2000-07-12  Martin Buchholz  <martin@xemacs.org>
6685
6686         * config.h.in: Add socklen_t.
6687
6688         * s/decosf4-0.h: No special compiler flags needed or desired.
6689         In particular, undefine _BSD for DEC OSF 4.0.
6690
6691 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6692
6693         * redisplay-msw.c (msprinter_frame_output_end): Added.
6694         (console_type_create_redisplay_mswindows): Referred the above.
6695
6696         * frame.c (setup_frame_without_minibuffer): Do not create a
6697         default minibuffer frame on a printer device.
6698
6699         * frame-msw.c (apply_dc_geometry): Added.
6700         (msprinter_start_page):
6701         (msprinter_init_frame_3):
6702         (msprinter_eject_page): Use it.
6703
6704         * console-msw.h (struct msprinter_frame): Added pix_left and top,
6705         and removed residual duplex and orientation properties.
6706
6707 2000-07-11  Martin Buchholz  <martin@xemacs.org>
6708
6709         * eval.c (function_argcount): Work around a DEC CC compiler bug.
6710
6711         * unexalpha.c: Remove system prototypes from C sources!
6712
6713 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
6714
6715         * eval.c: Remove references to M-x edit-options in DEFUNs for
6716         `defvar' and `defconst'.
6717
6718 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6719
6720         * config.h.in: Remove SMART_INCLUDE hackery.
6721
6722         PostgreSQL hacking:
6723         * config.h.in: Don't use SMART_INCLUDE.
6724
6725         * postgresql.h: Include libpq-fe.h here.  Fix typo.
6726         * inline.c: Simply #include "postgresql.h"
6727         * postgresql.c:
6728         - Don't use SMART_INCLUDE
6729         - Use simply "const".
6730         - Use standard doc string conventions.
6731         - Use correct type for result of PQstatus.
6732
6733 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6734
6735         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
6736
6737         C++ compilation changes.
6738         * config.h.in (EXTERN_C): Define.
6739         * config.h.in (not): This is also a C++ keyword.
6740         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
6741         * cm.c: Use EXTERN_C.
6742         * redisplay-tty.c: Use EXTERN_C.
6743         * sysdep.c: Use EXTERN_C.  Remove Gould support.
6744
6745 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6746
6747         * general.c: Remove duplicate definition for Qfunction.
6748
6749 2000-07-08  Ben Wing  <ben@xemacs.org>
6750
6751         * device-msw.c (msprinter_init_device):
6752         * device-msw.c (sync_printer_with_devmode):
6753         * device-msw.c (handle_devmode_changes):
6754         * device-msw.c (print_dialog_worker):
6755         * device-msw.c (Fmsprinter_apply_settings):
6756         * device-msw.c (hash_devmode):
6757         * device-msw.c (Fmsprinter_settings_despecialize):
6758         use Qmswindows_tstr, not Qctext.
6759
6760         * vm-limit.c (check_memory_limits):
6761         avoid infinite loop printing warning messages.
6762
6763 2000-07-05  Craig Lanning  <lanning@scra.org>
6764
6765         * Makefile.in.in: Add support for including the Windows resources
6766         when building with the cygwin and mingw targets.
6767
6768         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
6769         not set or not correct.
6770         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
6771         (init_initial_directory): Don't try to use $PWD on the
6772         WIN32_NATIVE target.
6773
6774         * s\cygwin32.h:
6775         [[Add -mwindows to eliminate console window.]] not required --ben
6776         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6777         (MAIL_USE_POP): removed; now handled by configure.
6778
6779         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
6780         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
6781         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6782         (MAIL_USE_POP): removed; now handled by configure.
6783         (ENCAPSULATE_STAT): from Dan Holmsand, added.
6784         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
6785         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
6786         constant string.
6787         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
6788         up from <winsock.h> via systime.h.
6789         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
6790         (getpagesize): from Dan Holmsand, added.
6791         Added #endif which was left dangling by Ben's mega patch; added
6792         comment to help prevent this in the future.
6793
6794         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
6795
6796 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6797
6798         * console-msw.h (struct mswindows_device): Removed unnecessary
6799         cached device geometry values.
6800         Added update_tick and an accessor macro.
6801         (Lisp_Devmode): Added lrecord declaration.
6802         (struct msprinter_device): Contain devmode as a Lisp object.
6803         Added mswindows_get_selected_frame_hwnd();
6804
6805         * console.h (struct console_methods): Indentation nitpicking.
6806
6807         * device-msw.c (mswindows_init_device): Do not initialize geometry
6808         cache. Initialize update tick.
6809         (mswindows_device_system_metrics): Ask the device for its geometry.
6810         (global_free_2_maybe):
6811         (devmode_to_hglobal):
6812         (handle_printer_changes):
6813         (ensure_not_printing):
6814         (print_dialog_worker):
6815         (Fmsprinter_print_setup_dialog):
6816         (Fmsprinter_print_dialog):
6817         (plist_get_margin):
6818         (plist_set_margin):
6819         (Fmsprinter_page_setup_dialog): Added functions.
6820         (sync_printer_with_devmode):
6821         (handle_devmode_changes):
6822         (Fmsprinter_get_settings):
6823         (Fmsprinter_select_settings):
6824         (Fmsprinter_apply_settings):
6825         (allocate_devmode):
6826         (Fmsprinter_settings_copy):
6827         (Fmsprinter_settings_despecialize):
6828         (print_devmode):
6829         (finalize_devmode):
6830         (equal_devmode):
6831         (hash_devmode): Added functions
6832         (syms_of_device_mswindows): Init devmode lrecord class.
6833
6834         * device.h: Added an exfun for find-device.
6835
6836         * event-msw.c (mswindows_wnd_proc): Do not update the cached
6837         geometry; although, recreate the device compatible DC.
6838
6839         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
6840         (msprinter_init_frame_3):
6841         (msprinter_frame_property):
6842         (msprinter_internal_frame_property_p):
6843         (msprinter_frame_properties):
6844         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
6845         print job properties (will move to device settings).
6846
6847         * lisp.h: Added symbols.
6848
6849         * general.c (syms_of_general): Declared them.
6850
6851         * hash.c (string_hash): Added.
6852
6853         * lrecord.h (lrecord_type): Added devmode lrecord type.
6854
6855 2000-07-02  Mike Sperber <mike@xemacs.org>
6856
6857         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
6858         FreeBSD 4.0.
6859
6860 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
6861
6862         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
6863         integer.
6864
6865 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
6866
6867         * data.c (Fstring_to_number): Don't recognize floating point if
6868         base is not 10.
6869
6870 2000-06-22  Martin Buchholz  <martin@xemacs.org>
6871
6872         * glyphs-widget.c (tab_control_query_geometry):
6873         (widget_query_geometry):
6874         (button_query_geometry):
6875         * glyphs.c (text_query_geometry):
6876         Enforce type correctness.
6877
6878 2000-06-18  Martin Buchholz  <martin@xemacs.org>
6879
6880         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
6881         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
6882
6883 2000-06-17  Martin Buchholz  <martin@xemacs.org>
6884
6885         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
6886         conflicts with gcc's fixincluded version of FOO.h.
6887
6888         * glyphs.h (image_instance_geometry): Remove trailing `,'
6889
6890 2000-06-08  Mike Alexander  <mta@arbortext.com>
6891
6892         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
6893         (shove_thread): Don't write the same output twice
6894         (make_ntpipe_output_stream): Increase priority of shove thread
6895         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
6896         chance to run
6897         (ntpipe_shove_closer): Don't delete the pipe until we're done with
6898         it.
6899
6900 2000-06-12  Ben Wing  <ben@xemacs.org>
6901
6902         * s\mingw32.h (sigset):
6903         * s\windowsnt.h (sigset):
6904         rename msw_ to mswindows_ for consistency with general convention.
6905
6906 2000-06-12  Ben Wing  <ben@xemacs.org>
6907
6908         * console-msw.c:
6909         * console-msw.c (mswindows_get_console_hwnd):
6910         * console-msw.c (mswindows_ensure_console_allocated):
6911         * console-msw.c (mswindows_hide_console):
6912         * console-msw.c (mswindows_show_console):
6913         * console-msw.c (mswindows_ensure_console_buffered):
6914         * console-msw.c (mswindows_output_console_string):
6915         * console-msw.c (mswindows_windows9x_p):
6916         * console-msw.h:
6917         * device-msw.c (mswindows_get_workspace_coords):
6918         * device-msw.c (mswindows_device_system_metrics):
6919         * dialog-msw.c (mswindows_popup_dialog_box):
6920         * event-msw.c (mswindows_wnd_proc):
6921         * frame-msw.c (mswindows_size_frame_internal):
6922         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6923         * menubar-msw.c (displayable_menu_item):
6924         * menubar-msw.c (mswindows_char_is_accelerator):
6925         * nt.c:
6926         * nt.c (mswindows_sigset):
6927         * nt.c (mswindows_sigrelse):
6928         * nt.c (mswindows_sigpause):
6929         * nt.c (mswindows_raise):
6930         * nt.c (timer_proc):
6931         * ntproc.c:
6932         * ntproc.c (find_child_console):
6933         * ntproc.c (sys_kill):
6934         * print.c:
6935         * print.c (std_handle_out_external):
6936         * process-nt.c (find_child_console):
6937         * process-nt.c (send_signal_the_95_way):
6938         * process-nt.c (ensure_console_window_exists):
6939         * process-nt.c (nt_create_process):
6940         * syssignal.h:
6941         rename msw_ to mswindows_ for consistency with general convention.
6942
6943         * emacs.c:
6944         * dumper.c:
6945         include nt.h, not syswindows.h.
6946
6947         * nt.c (mswindows_fstat):
6948         * nt.c (mswindows_stat):
6949         prefix mswindows_ instead of attempting to directly override the
6950         library functions.  fix declarations.
6951
6952         * nt.h:
6953         include syswindows.h.  move some sysdep.h stuff here.
6954
6955         * ntheap.h:
6956         include syswindows.h, not <windows.h>.
6957
6958         * ntplay.c:
6959         clean up headers.
6960
6961         * sysdep.c:
6962         clean up headers.
6963
6964         * sysdep.c (sys_fstat):
6965         * sysdep.c (sys_stat):
6966         call mswindows versions when appropriate.
6967
6968         * sysdep.h:
6969         move mswin decls to nt.h.
6970
6971         * syswindows.h:
6972         add long comment describing appropriate use of the various windows
6973         headers.
6974
6975 2000-06-11  Ben Wing  <ben@xemacs.org>
6976
6977         * device-x.c: Correct doc string for sixth arg of x-get-resource.
6978
6979 2000-06-10  Ben Wing  <ben@xemacs.org>
6980
6981         * Makefile.in.in (release):
6982         Correction to make sure xemacs.exe always dumped when correct.
6983
6984         * alloca.c:
6985         * balloon_help.c:
6986         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
6987
6988         * buffer.c (set_buffer_internal):
6989         [[[[2]]]]: Remove HAVE_FEP code.
6990
6991         * buffer.c (init_initial_directory):
6992         [3].
6993
6994         * bytecode.c:
6995         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
6996         individual files.
6997
6998         * callproc.c:
6999         * callproc.c (call_process_cleanup):
7000         * callproc.c (Fold_call_process_internal):
7001         * callproc.c (child_setup):
7002         * callproc.c (getenv_internal):
7003         * callproc.c (init_callproc):
7004         * callproc.c (vars_of_callproc):
7005         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7006         __CYGWIN32__ -> CYGWIN.
7007         DOS_NT -> WIN32_NATIVE.
7008         Remove MSDOS support/references, converting to WIN32_NATIVE
7009           where correct.
7010         __MINGW32__ -> MINGW.
7011         Fix windows.h includes.
7012         Remove bogus HAVE_NTGUI.
7013
7014         * config.h.in:
7015         [2].
7016
7017         * console-msw.c:
7018         mswindows_message_outputted added for use in allowing startup
7019         errors on the console to be seen.
7020
7021         * console-msw.c (msw_ensure_console_allocated):
7022         * console-msw.c (msw_output_console_string):
7023         * console-msw.c (DHEADER):
7024         * console-msw.c (DOPAQUE_DATA):
7025         * console-msw.c (DEVENT):
7026         * console-msw.c (DCONS):
7027         * console-msw.c (DCONSCDR):
7028         * console-msw.c (DSTRING):
7029         * console-msw.c (DVECTOR):
7030         * console-msw.c (DSYMBOL):
7031         * console-msw.c (DSYMNAME):
7032         Fix warnings.
7033
7034         * console-stream.c (stream_init_console):
7035         Fix text/binary problems.
7036
7037         * device-msw.c:
7038         * device-msw.c (mswindows_finish_init_device):
7039         * device-msw.c (mswindows_delete_device):
7040         [1].
7041
7042         * device.c (handle_asynch_device_change):
7043         [3].
7044
7045         * dgif_lib.c:
7046         * dgif_lib.c (DGifOpenFileName):
7047         * dgif_lib.c (DGifOpenFileHandle):
7048         * dgif_lib.c (DGifGetLine):
7049         * dgif_lib.c (DGifGetPixel):
7050         Added config.h/lisp.h, fix up includes.
7051         [1].
7052
7053         * dired-msw.c:
7054         [4].
7055
7056         * dired.c:
7057         * dired.c (file_name_completion):
7058         * dired.c (Ffile_attributes):
7059         * dired.c (syms_of_dired):
7060         [1].
7061
7062         * dumper.c:
7063         * dumper.c (pdump_file_unmap):
7064         * dumper.c (pdump_load):
7065         [1].
7066
7067         * editfns.c:
7068         * editfns.c (Ftemp_directory):
7069         * editfns.c (user_login_name):
7070         * editfns.c (Fuser_real_login_name):
7071         * editfns.c (get_home_directory):
7072         [1].
7073
7074         * elhash.c (finish_marking_weak_hash_tables):
7075         [[[[5]]]]: Fix GCC warnings.
7076
7077         * emacs.c:
7078         * emacs.c (mswindows_handle_hardware_exceptions):
7079         * emacs.c (make_arg_list_1):
7080         * emacs.c (main_1):
7081         * emacs.c (Fkill_emacs):
7082         * emacs.c (Fdump_emacs):
7083         [1].
7084         Fix problems with nested crashes, add long comment.
7085
7086         * event-Xt.c (init_event_Xt_late):
7087         [1].
7088
7089         * event-msw.c:
7090         * event-msw.c (mswindows_dde_callback):
7091         * event-msw.c (mswindows_handle_sticky_modifiers):
7092         * event-msw.c (mswindows_wnd_proc):
7093         [1].
7094         [5].
7095
7096         * events.c (character_to_event):
7097         [1].
7098
7099         * fileio.c:
7100         * fileio.c (Ffile_name_directory):
7101         * fileio.c (Ffile_name_nondirectory):
7102         * fileio.c (directory_file_name):
7103         * fileio.c (Fexpand_file_name):
7104         * fileio.c (Fsubstitute_in_file_name):
7105         * fileio.c (Ffile_name_absolute_p):
7106         * fileio.c (check_executable):
7107         * fileio.c (Ffile_readable_p):
7108         * fileio.c (Ffile_accessible_directory_p):
7109         * fileio.c (Ffile_modes):
7110         * fileio.c (Funix_sync):
7111         * fileio.c (vars_of_fileio):
7112         [1]. [4].
7113
7114         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7115
7116         Expand getdefdir defn.
7117         Fix bogus rename() comment.
7118
7119         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7120         to use standard XEmacs include files, e.g. sysfile.h, rather
7121         than system-specific includes.
7122
7123         * fns.c:
7124         * fns.c (Fsubseq):
7125         [5]. [6].
7126
7127         * frame.c (vars_of_frame):
7128         [1].
7129
7130         * getloadavg.c:
7131         * getloadavg.c (getloadavg):
7132         [1]. [6].
7133         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7134         (We don't use it elsewhere in the code; just add a comment.)
7135
7136         * gif_io.c:
7137         [6].
7138         Add config.h.
7139
7140         * glyphs-msw.c:
7141         * glyphs-msw.c (mswindows_resource_instantiate):
7142         [1].
7143
7144         * glyphs-x.c (x_native_layout_instantiate):
7145         [5].
7146
7147         * gui-msw.c (Fmswindows_shell_execute):
7148         [1].
7149
7150         * insdel.c:
7151         [4].
7152
7153         * lisp.h:
7154         [4]. [5].
7155
7156         * lread.c (locate_file_in_directory_mapper):
7157         [1].
7158
7159         * lstream.c:
7160         [4].
7161
7162         * mem-limits.h:
7163         * mem-limits.h (get_lim_data):
7164         [1].
7165
7166         * menubar-msw.c:
7167         [4].
7168
7169         * ndir.h:
7170         [1].
7171
7172         * nt.c:
7173         * nt.c (getwd):
7174         * nt.c (closedir):
7175         * nt.c (rva_to_section):
7176         * nt.c (mswindows_executable_type):
7177         [1]. [6].
7178         Fix closedir() defn.
7179
7180         * nt.h:
7181         [[[[8]]]]: *_OK defs moved to sysfile.h.
7182
7183         * ntproc.c:
7184         [6]. [7].
7185
7186         * objects-x.c:
7187         [4].
7188
7189         * print.c:
7190         * print.c (std_handle_out_external):
7191         [1]. [4].
7192
7193         * process-nt.c:
7194         * process-nt.c (nt_create_process):
7195         [6].
7196         try to fix process quoting somewhat.
7197
7198         * process-unix.c (unix_create_process):
7199         [1].
7200
7201         * process.c:
7202         * process.c (vars_of_process):
7203         Add Vnull_device.
7204
7205         * process.h:
7206         [1].
7207
7208         * realpath.c:
7209         * realpath.c (xrealpath):
7210         [1].
7211
7212         * redisplay-tty.c (init_tty_for_redisplay):
7213         [3].
7214
7215         * redisplay.c:
7216         [4]. [6].
7217
7218         * scrollbar-msw.c:
7219         [4].
7220
7221         * sheap.c:
7222         * sheap.c (more_static_core):
7223         * sheap.c (report_sheap_usage):
7224         [5]. [6].
7225
7226         * signal.c:
7227         * signal.c (alarm_signal):
7228         [1]. [6].
7229
7230         * sound.c:
7231         [6].
7232
7233         * strftime.c:
7234         * strftime.c (zone_name):
7235         [1]. [5].
7236
7237         * symsinit.h (init_sunpro):
7238         [1].
7239
7240         * syscommctrl.h:
7241         commctrl.h not in Cygwin b20.1.
7242
7243         * sysdep.c:
7244         * sysdep.c (endif):
7245         * sysdep.c (sys_subshell):
7246         * sysdep.c (init_baud_rate):
7247         * sysdep.c (emacs_get_tty):
7248         * sysdep.c (emacs_set_tty):
7249         * sysdep.c (tty_init_sys_modes_on_device):
7250         * sysdep.c (init_system_name):
7251         * sysdep.c (sys_open):
7252         * sysdep.c (interruptible_open):
7253         * sysdep.c (sys_fopen):
7254         * sysdep.c (sys_mkdir):
7255         * sysdep.c (sys_rename):
7256         * sysdep.c (get_process_times_1):
7257         [1]. [6].
7258
7259         * sysdep.h:
7260         [1].
7261
7262         * sysdir.h:
7263         * sysdir.h (DIRENTRY_NONEMPTY):
7264         [1]. [6].
7265
7266         * sysdll.c (dll_init):
7267         * sysdll.h:
7268         [1].
7269
7270         * sysfile.h:
7271         [1]. [6]. [8].
7272         added text/binary defs.
7273
7274         * sysfloat.h:
7275         [1].
7276
7277         * sysproc.h:
7278         * sysproc.h (EDESTADDRREQ):
7279         * sysproc.h (poll_fds_for_input):
7280         [1]. [6].
7281
7282         * syspwd.h:
7283         [6].
7284
7285         * syssignal.h:
7286         [1].
7287
7288         * systime.h:
7289         [1]. [6].
7290
7291         * systty.h:
7292         [1].
7293
7294         * syswindows.h:
7295         [1].
7296         Always define WIN32_LEAN_AND_MEAN.
7297
7298         * unexcw.c (unexec):
7299         [5].
7300
7301         * unexec.c:
7302         * unexec.c (copy_text_and_data):
7303         * unexec.c (adjust_lnnoptrs):
7304         [1].
7305
7306         * unexnt.c:
7307         * unexnt.c (_start):
7308         [1].
7309
7310 2000-06-07  Ben Wing  <ben@xemacs.org>
7311
7312         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7313         was used only as a model.  We've long since extracted any useful
7314         logic or code out of this. (I just did an exhaustive search.)
7315
7316         * s\msdos.h: Removed.
7317
7318         * s\windows95.h: Removed.
7319
7320 2000-06-10  Ben Wing  <ben@xemacs.org>
7321
7322         * s\cygwin32.h:
7323         [1]. [5].
7324         Don't use extern with fun defs.
7325
7326         * s\mingw32.h:
7327         [1]. [7].
7328         Remove nt\inc include.
7329         Remove getdisk, getdefdir. (The former is unused, the latter
7330         expanded in fileio.h.)
7331
7332         * s\windowsnt.h:
7333         * s\windowsnt.h (WIN32_NATIVE):
7334         * s\windowsnt.h (HAVE_STRCASECMP):
7335         [1]. [7].
7336         Add long comment about preprocessor changes.
7337         Remove getdisk, getdefdir. (The former is unused, the latter
7338         expanded in fileio.h.)
7339
7340 2000-06-10  Ben Wing  <ben@xemacs.org>
7341
7342         * m\arm.h:
7343         * m\delta.h:
7344         * m\intel386.h:
7345         * m\sequent.h:
7346         * m\template.h:
7347         * m\windowsnt.h:
7348         [1].
7349         Remove bogus/unused NO_SOCK_SIGIO.
7350
7351 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7352
7353         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7354         not an Emchar.
7355
7356 2000-06-04  Mike Sperber <mike@xemacs.org>
7357
7358         * casetab.c (set_case_table): For `set-standard-case-table',
7359         actually deposit the new case tables where the rest of XEmacs can
7360         see them.
7361
7362 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7363
7364         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7365
7366 2000-06-05  Ben Wing  <ben@xemacs.org>
7367
7368         * callproc.c (child_setup): Don't do close_load_descs() under
7369         MS Windows.  Put in a comment explaining why.
7370
7371 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7372
7373         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7374         Toolkit shell" which breaks `kill-compilation' on Windows NT
7375         native, retaining STDERR handling improvements.
7376
7377 2000-06-01  Andreas Jaeger  <aj@suse.de>
7378
7379         * s/s390.h: Support for S390, based on a patch by Martin
7380         Schwidefsky <schwidefsky@de.ibm.com>.
7381
7382 2000-05-30  Andy Piper  <andy@xemacs.org>
7383
7384         * window.c (allocate_window):
7385         (make_dummy_parent):
7386         (Fset_window_configuration): use new hashtable type.
7387
7388         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7389         (struct image_instantiator_methods):
7390         (struct Lisp_Image_Instance): make instance geometry signed.
7391
7392         * glyphs.c (instantiate_image_instantiator):
7393         (image_instance_query_geometry):
7394         (image_instance_layout):
7395         (image_instance_layout):
7396         (query_string_geometry):
7397         (text_query_geometry):
7398         (image_instantiate):
7399         (image_instantiate):
7400         (cache_subwindow_instance_in_frame_maybe):
7401         (subwindow_query_geometry): make instance geometry signed.
7402
7403         * glyphs-widget.c (widget_query_geometry):
7404         (widget_layout):
7405         (button_query_geometry):
7406         (tree_view_query_geometry):
7407         (tab_control_query_geometry):
7408         (layout_query_geometry):
7409         (layout_layout):
7410         (native_layout_layout): make instance geometry signed.
7411
7412 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7413
7414         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7415         constant.
7416
7417         * general.c (syms_of_general): Add Qfull_assoc symbol.
7418
7419         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7420         correctly.
7421         (decode_weak_list_type): Decode full-assoc type.
7422         (encode_weak_list_type): Encode full-assoc type.
7423         (Fmake_weak_list): Update doc string.
7424
7425 2000-05-30  Andy Piper  <andy@xemacs.org>
7426
7427         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7428
7429         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7430         (decode_hash_table_weakness): ditto.
7431         (Fhash_table_weakness): ditto.
7432         (Fhash_table_type): ditto.
7433         (finish_marking_weak_hash_tables): ditto.
7434         (hash_table_weakness_validate): ditto.
7435         (syms_of_elhash): ditto.
7436
7437 2000-05-28  Martin Buchholz <martin@xemacs.org>
7438
7439         * XEmacs 21.2.34 is released.
7440
7441 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7442
7443         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7444         start cache.
7445         (updating_line_start_cache): Gone.
7446         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7447         generic code to force a minimum of 1 line laid out in the
7448         CMOTION_DISP case.
7449
7450 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7451
7452         * glyphs.c (instantiate_image_instantiator): Check for initialized
7453         height & width no longer special cases IMAGE_NOTHING.
7454         (nothing_instantiate): Set height and width of instance.
7455
7456 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7457
7458         * unexelf.c (unexec): Search for ".data" section.
7459         Initialize new_data2_offset from old_data_index.
7460         Remove redundant check for ElfW.
7461
7462 2000-05-23  Andy Piper  <andy@xemacs.org>
7463
7464         * glyphs.c (get_image_instantiator_governing_domain): allow more
7465         specific domains as the governing domain rather than expecting an
7466         exact match. This fixes problems with layouts.
7467
7468 2000-05-22  Andy Piper  <andy@xemacs.org>
7469
7470         * redisplay-output.c (compare_runes): check for non-images
7471
7472         * glyphs.c (set_glyph_dirty_p): ditto.
7473         (update_glyph_cachel_data): ditto.
7474
7475         * glyphs-widget.c (layout_post_instantiate): ditto.
7476         (layout_post_instantiate): ditto.
7477
7478         * event-msw.c (mswindows_wnd_proc): warning removal.
7479
7480 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7481
7482         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7483
7484         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7485
7486         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7487
7488         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7489         (mswindows_executable_type): mingw32 now has enough headers for
7490         this to work.
7491
7492 2000-05-20  Andy Piper  <andy@xemacs.org>
7493
7494         * console-msw.c (mswindows_output_last_error): ; -> ,
7495
7496 2000-05-12  Andy Piper  <andy@xemacs.org>
7497
7498         * console-msw.c (FROB): compare ints with ints.
7499
7500 2000-05-11  Andy Piper  <andy@xemacs.org>
7501
7502         * glyphs-x.c (x_finalize_image_instance): make minimal build
7503         happy.
7504
7505 2000-05-20  Ben Wing  <ben@xemacs.org>
7506
7507         * event-Xt.c:
7508         * event-Xt.c (vars_of_event_Xt):
7509         move modifier-keys-are-sticky to event-stream.c.
7510
7511         * event-msw.c:
7512         * event-msw.c (mswindows_enqueue_mouse_button_event):
7513         * event-msw.c (key_needs_default_processing_p):
7514         * event-msw.c (XEMSW_LCONTROL):
7515         * event-msw.c (mswindows_handle_sticky_modifiers):
7516         * event-msw.c (FROB):
7517         * event-msw.c (clear_sticky_modifiers):
7518         * event-msw.c (output_modifier_keyboard_state):
7519         * event-msw.c (output_alt_keyboard_state):
7520         * event-msw.c (mswindows_wnd_proc):
7521         * event-msw.c (mswindows_modifier_state):
7522         * event-msw.c (emacs_mswindows_handle_magic_event):
7523         implement sticky modifiers.
7524
7525         * event-stream.c:
7526         * event-stream.c (vars_of_event_stream):
7527         move modifier-keys-are-sticky here.
7528
7529         * lisp.h:
7530         add CHECK_FUNCTION.
7531
7532         * rangetab.c:
7533         implement map-range-table.
7534
7535
7536 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7537
7538         * redisplay-tty.c (reset_tty_modes):
7539         (tty_redisplay_shutdown): Adjust argument type to
7540         tty_frame_output_end.
7541
7542 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7543
7544         * eval.c (Fbacktrace): Don't output a line with only right
7545         parenthesis.
7546
7547 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7548
7549         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7550         (Fpq_reset_poll): Ditto.
7551
7552 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7553
7554         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7555
7556 2000-05-16  Ben Wing  <ben@xemacs.org>
7557
7558         * buffer.c:
7559         * buffer.c (dfc_convert_to/from_internal_format):
7560         * buffer.c (reinit_vars_of_buffer):
7561         Fix conversion functions to allow reentrancy.
7562
7563         * console-msw.c:
7564         * console-msw.c (mswindows_output_last_error):
7565         New fun, generally useful -- output a human-readable
7566         version of GetLastError() on the console.
7567
7568         * console-msw.h:
7569         * console-msw.h (struct mswindows_frame):
7570         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7571
7572         * console-stream.c (stream_output_begin):
7573         * console-stream.c (stream_output_end):
7574         * console-stream.c (stream_output_vertical_divider):
7575         * console-stream.c (stream_clear_region):
7576         * console-stream.c (stream_flash):
7577         * console-stream.c (console_type_create_stream):
7578         Delete blank stream methods, not needed.
7579
7580         * console.h (struct console_methods):
7581         Split begin/end methods into window and frame.
7582
7583         * event-msw.c:
7584         * event-msw.c (mswindows_handle_paint):
7585         * event-msw.c (output_alt_keyboard_state):
7586         * event-msw.c (mswindows_wnd_proc):
7587         * event-msw.c (vars_of_event_mswindows):
7588         Comment about problems with ignored-expose.
7589         Define mswindows-debug-events; not really implemented.
7590
7591         * frame-msw.c (mswindows_init_frame_1):
7592         random cleanups.
7593
7594         * glyphs-msw.c:
7595         * glyphs-msw.c (begin_defer_window_pos):
7596         * glyphs-msw.c (mswindows_unmap_subwindow):
7597         * glyphs-msw.c (mswindows_map_subwindow):
7598         * glyphs-msw.c (mswindows_resize_subwindow):
7599         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7600
7601         * glyphs.c (make_image_instance_1):
7602         Fix crash.
7603
7604         * gutter.c (Fredisplay_gutter_area):
7605         Use new begin/end methods.
7606
7607         * lisp.h (Dynarr_new2):
7608         New creation fun.
7609
7610         * redisplay-msw.c:
7611         * redisplay-msw.c (mswindows_frame_output_begin):
7612         * redisplay-msw.c (mswindows_frame_output_end):
7613         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7614         New begin/end methods -- handle DeferWindowPos.
7615
7616         * redisplay-output.c (redisplay_move_cursor):
7617         * redisplay-output.c (redraw_cursor_in_window):
7618         * redisplay-output.c (redisplay_update_line):
7619         * redisplay-output.c (redisplay_output_window):
7620         New begin/end methods.
7621
7622         * redisplay-tty.c:
7623         * redisplay-tty.c (tty_frame_output_begin):
7624         * redisplay-tty.c (tty_frame_output_end):
7625         * redisplay-tty.c (console_type_create_redisplay_tty):
7626         New begin/end methods.
7627
7628         * redisplay-x.c:
7629         * redisplay-x.c (x_window_output_begin):
7630         * redisplay-x.c (x_window_output_end):
7631         * redisplay-x.c (console_type_create_redisplay_x):
7632         New begin/end methods.
7633
7634         * redisplay.c (redisplay_frame):
7635         * redisplay.c (Fredisplay_echo_area):
7636         New begin/end methods.
7637         use MAYBE_DEVMETH for clear_frame; it may not exist.
7638
7639         * window.h (WINDOW_XFRAME):
7640         WINDOW_XFOO macros -- get locale and decode struct pointer.
7641
7642
7643 2000-05-12  Ben Wing  <ben@xemacs.org>
7644
7645         * emacs.c:
7646         * emacs.c (ensure_no_quitting_from_now_on):
7647         * emacs.c (fatal_error_signal):
7648         * emacs.c (mswindows_handle_hardware_exceptions):
7649         * emacs.c (main):
7650         * emacs.c (Fkill_emacs):
7651         * emacs.c (shut_down_emacs):
7652         * emacs.c (assert_failed):
7653         various improvements in fatal error handling.
7654
7655         * eval.c:
7656         move preparing_for_armageddon to emacs.c.
7657
7658         * lisp.h:
7659         declare fatal_error_in_progress.
7660
7661         * print.c:
7662         * print.c (std_handle_out_external):
7663         * print.c (std_handle_out_va):
7664         * print.c (stderr_out):
7665         * print.c (stdout_out):
7666         use console under mswin when no standard output.
7667         don't do code conversion during fatal error.
7668
7669         * scrollbar.c (Fscrollbar_page_up):
7670         * scrollbar.c (Fscrollbar_page_down):
7671         fix missing else.  reindent.
7672
7673 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
7674
7675         Emergency fix.
7676
7677         * glyphs.h (GLYPH_CACHEL_DESCENT):
7678         (GLYPH_CACHEL_DESCENT):
7679         (GLYPH_CACHEL_DESCENT):
7680         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
7681         used in case these are inline functions.
7682         Use more absurd values to error check.
7683
7684         include window.h for error check functions.
7685
7686 2000-05-11  Ben Wing  <ben@xemacs.org>
7687
7688         * cmdloop.c (Freally_early_error_handler):
7689         Display message box under windows; otherwise, message will disappear
7690         before it can be viewed.
7691
7692         * console-msw.c:
7693         * console-msw.c (Fmswindows_message_box):
7694         * console-msw.c (FROB):
7695         * console-msw.c (syms_of_console_mswindows):
7696         Define new fun `mswindows-message-box'.
7697         #### I will merge this into `popup-dialog-box'; just give me
7698         a bit of time.
7699
7700         * general.c:
7701         * general.c (syms_of_general):
7702         Some new symbols used in `mswindows-message-box'.
7703
7704         * glyphs.c:
7705         * glyphs.c (Fset_image_instance_property):
7706         put warning in this fun.
7707
7708         * glyphs.h:
7709         * glyphs.h (GLYPH_CACHEL_WIDTH):
7710         * glyphs.h (GLYPH_CACHEL_ASCENT):
7711         * glyphs.h (GLYPH_CACHEL):
7712         * glyphs.h (GLYPH_CACHEL_GLYPH):
7713         define error-checking versions to try to catch a bug i've seen --
7714         redisplay gets in an infinite loop because the glyph width of the
7715         continuation glyph is 65535.
7716
7717         * lisp.h:
7718         Extern message-box stuff.
7719
7720         * window.c (allocate_window):
7721         * window.c (make_dummy_parent):
7722         * window.c (Fset_window_configuration):
7723         Use EQUAL not EQ for subwindow caches to make them work a bit
7724         better. (Something is still very broken.)
7725
7726
7727 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7728
7729         * glyphs.c (image_instantiate): Suppress gcc warnings.
7730         (Fmake_image_instance): Fix doc string.
7731         * specifier.c (Fmake_specifier): Ditto.
7732
7733 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
7734
7735         * paths.h.in (PATH_LOCK): Removed.
7736         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
7737         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
7738
7739 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7740
7741         * fns.c (Ffeaturep): Update e-mail address in doc-string.
7742         Document (featurep '(and xemacs 21.02)).
7743
7744 2000-05-09  Ben Wing  <ben@xemacs.org>
7745
7746         * buffer.c (complex_vars_of_buffer):
7747         update modeline-format doc.
7748
7749         * device.h:
7750         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
7751
7752         * emacs.c:
7753         timeline of all released versions of Emacs, for use in creating
7754         authorship comments and in synching up.
7755
7756         * glyphs-widget.c (image_instantiator_buttons):
7757         * glyphs-widget.c (image_instantiator_edit_fields):
7758         * glyphs-widget.c (image_instantiator_combo_box):
7759         * glyphs-widget.c (image_instantiator_scrollbar):
7760         * glyphs-widget.c (image_instantiator_progress_guage):
7761         * glyphs-widget.c (image_instantiator_tree_view):
7762         * glyphs-widget.c (image_instantiator_tab_control):
7763         * glyphs-widget.c (image_instantiator_labels):
7764         * glyphs-widget.c (image_instantiator_layout):
7765         * glyphs-widget.c (image_instantiator_native_layout):
7766         rename decode_domain method to governing_domain.
7767
7768         * glyphs.c:
7769         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
7770         * glyphs.c (add_entry_to_device_ii_format_list):
7771         make sure we don't put an entry more than once into the list.
7772         * glyphs.c (check_instance_cache_mapper):
7773         *************************************************************
7774         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7775         HAVE BEEN GETTING.
7776         *************************************************************
7777         * glyphs.c (get_image_instantiator_governing_domain):
7778         clean up, expand on new concept of governing domain.
7779         * glyphs.c (instantiate_image_instantiator):
7780         * glyphs.c (allocate_image_instance):
7781         use governing_domain instead of cache_domain in naming.
7782         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
7783         * glyphs.c (make_image_instance_1):
7784         * glyphs.c (Fmake_image_instance):
7785         allow for any domain (not just device), and process the
7786         governing domain correctly.  very big doc fix.
7787         * glyphs.c (Fimage_instance_domain):
7788         new primitive, to retrieve the governing domain of an image instance.
7789         * glyphs.c (image_instantiate):
7790         use new governing_domain stuff.  this fixes a crash you could get
7791         by instantiating certain widget glyphs in frame locales. (should
7792         signal an error instead of crashing.)
7793         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
7794         * glyphs.c (Fglyphp): clean up doc.
7795         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
7796         * glyphs.c (syms_of_glyphs):
7797         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
7798         * glyphs.c (image_instantiator_format_create): add some comments about
7799         bogus code.
7800         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
7801         for current-display-table. (Apparently Hrjove implemented in 1998 a
7802         design I wrote up in 1996, but didn't update the doc string.)
7803
7804         * glyphs.h: clean up a doc string.
7805         * glyphs.h (governing_domain):
7806         * glyphs.h (struct image_instantiator_methods):
7807         changes for governing_domain stuff.
7808
7809         * gutter.c:
7810         * gutter.c (Fgutter_specifier_p):
7811         * gutter.c (Fgutter_size_specifier_p):
7812         * gutter.c (Fgutter_visible_specifier_p):
7813         * objects.c:
7814         * objects.c (Fcolor_specifier_p):
7815         * objects.c (Ffont_specifier_p):
7816         * objects.c (Fface_boolean_specifier_p):
7817         doc strings moved to make-*-specifier.
7818
7819         * redisplay.c (add_disp_table_entry_runes_1):
7820         * redisplay.c (generate_fstring_runes):
7821         * redisplay.c (screen):
7822         add random comments and doc strings.
7823
7824         * specifier.c:
7825         * specifier.c (Fmake_specifier):
7826         major overhaul of this doc string.
7827
7828         * specifier.c (Fvalid_specifier_domain_p):
7829         comment about the bogosity of image instances being domains.
7830         * specifier.c (decode_domain):
7831         now non-static, used in glyphs.c.
7832         * specifier.c (specifier_instance):
7833         comment about the bogosity of image instances being domains.
7834         * specifier.c (Fgeneric_specifier_p):
7835         move doc string to make-generic-specifier.
7836         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
7837         rebackslashify.
7838
7839         * specifier.h:
7840         * specifier.h (DOMAIN_FRAME):
7841         * specifier.h (DOMAIN_LIVE_P):
7842         * specifier.h (DOMAIN_XDEVICE):
7843         rebackslashify.
7844         add comments about problems with these macros.
7845         prototype for decode_domain.
7846
7847         * toolbar.c:
7848         * toolbar.c (Ftoolbar_specifier_p):
7849         move doc string to `make-toolbar-specifier'.
7850
7851         * window.c (window_unmap_subwindows_cache_mapper):
7852         *************************************************************
7853         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7854         HAVE BEEN GETTING.
7855         *************************************************************
7856
7857 2000-05-09  Andy Piper  <andy@xemacs.org>
7858
7859         * glyphs.h: declare reset_frame_subwindow_instance_cache.
7860
7861         * window.c (Fset_window_configuration): reset the frame subwindow
7862         cache and re-initialize the window subwindow caches.
7863
7864         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
7865
7866 2000-05-09  Ben Wing  <ben@xemacs.org>
7867
7868         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
7869         DWORD.
7870
7871 2000-04-26  Mike Woolley  <mike@bulsara.com>
7872
7873         * ntheap.c: Changed recreate_heap to limit the amount reserved
7874         for the heap to that which is actually available. Also now
7875         displays a message box (with some dignostics) in the event that
7876         it still can't start.
7877
7878 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
7879
7880         * callproc.c (Fold_call_process_internal): GCPRO path
7881
7882 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
7883
7884         Patch by Bill Perry.
7885
7886         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
7887         back data instead of #ifdef.
7888         (Fscrollbar_page_down): ditto.
7889
7890 2000-05-07  Ben Wing  <ben@xemacs.org>
7891
7892         * buffer.h:
7893         Kludge for defining Qmswindows_tstr.
7894
7895         * nt.c:
7896         * nt.c (open_input_file):
7897         * nt.c (open_output_file):
7898         * nt.c (rva_to_section):
7899         * nt.c (mswindows_executable_type):
7900         Move all memory-mapped-file routines here (some were in unexnt.c,
7901         which is bad because they are used by process-nt.c, and unexnt
7902         won't be around when portable dumping).  Synched the above routines
7903         with FSF 20.6.
7904
7905         * nt.h:
7906         Removed ifdef'd out bogus code.
7907         Fixed some prototypes.
7908
7909         * nt.h (file_data):
7910         * nt.h (OFFSET_TO_RVA):
7911         * nt.h (RVA_TO_OFFSET):
7912         * nt.h (RVA_TO_PTR):
7913         Moved the memory-mapped-file structures, macros and prototypes
7914         here, to parallel nt.c.  ntheap.h should really be removed
7915         entirely, and it's a non-portable-dumper specific file.
7916
7917         * ntheap.h (round_to_next):
7918         Moved the memory-mapped-file structures, macros and prototypes
7919         to nt.h.
7920
7921         * ntproc.c (compare_env):
7922         Moved rva_to_section and mswindows_executable_type to nt.c.
7923         Moved compare_env to process-nt.c.
7924         ntproc.c will die, one day.
7925
7926         * ntproc.c (sys_spawnve):
7927         Account for win32_ -> mswindows_.
7928
7929         * process-nt.c:
7930         * process-nt.c (struct nt_process_data):
7931         * process-nt.c (ensure_console_window_exists):
7932         * process-nt.c (compare_env):
7933         * process-nt.c (nt_create_process):
7934         * process-nt.c (nt_kill_process_by_pid):
7935         * process-nt.c (syms_of_process_nt):
7936         * process-nt.c (vars_of_process_nt):
7937         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
7938         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
7939         changes).  Eliminate our old `nt-quote-process-args' mechanism.
7940         Synch up nt_create_process with FSF 20.6 sys_spawnve.
7941         Move compare_env here from ntproc.c.
7942
7943         * process.c (Fprocess_send_region):
7944         Takes an optional fourth argument, BUFFER, which should fix some
7945         problems with call-process.
7946
7947         * syscommctrl.h:
7948         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
7949
7950         * syswindows.h:
7951         Move ICC_BAR_CLASSES to syscommctrl.h.
7952         Add preliminary macros for MSWindows/Mule.  More to come.
7953
7954         * unexnt.c:
7955         * unexnt.c (unexec):
7956         open_output_file moved to nt.c.
7957
7958
7959 2000-05-05  Andy Piper  <andy@xemacs.org>
7960
7961         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
7962         instance from the frame cache also since GC may catch up too late
7963         to make frame deletion sane.
7964
7965 2000-05-04  Andy Piper  <andy@xemacs.org>
7966
7967         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
7968         (x_finalize_image_instance): ungcpro on deletion.
7969
7970         * glyphs.c (image_instantiator_format_create): give pointers a
7971         query geometry method so that the geometry is at least set.
7972
7973         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
7974         initialize layouts if using widgets.
7975
7976 2000-05-03  Andy Piper  <andy@xemacs.org>
7977
7978         * nt.c: remove bogus reference to sysmmsystem.h
7979
7980         * gui-x.c (popup_selection_callback): fix no selection abort.
7981
7982 2000-05-02  Andy Piper  <andy@xemacs.org>
7983
7984         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
7985         (mswindows_widget_instantiate): ditto.
7986
7987         * glyphs-widget.c (initialize_widget_image_instance): initialize
7988         children correctly.
7989         (widget_instantiate): cope with children and items in the same
7990         instance.
7991
7992         * glyphs.c (mark_image_instance): cope with children as a first
7993         class member.
7994         (image_instance_equal): ditto.
7995         (image_instance_hash): ditto.
7996         (image_instance_changed): ditto.
7997
7998 2000-04-30  Andy Piper  <andy@xemacs.org>
7999
8000         * glyphs.c (subwindow_query_geometry): new function. Return some
8001         defaults.
8002         (subwindow_instantiate): don't assign dimensions if none have been
8003         given.
8004         (image_instantiator_format_create): add subwindow_query_geometry.
8005         (print_image_instance): cope with layouts as widgets.
8006
8007 2000-04-29  Andy Piper  <andy@xemacs.org>
8008
8009         * frame.c (delete_frame_internal): call
8010         free_frame_subwindow_instance_cache so that all subwindows are
8011         finalized before their parent.
8012         (mark_frame): remove subwindow_cachels.
8013         (Fmake_frame): remove subwindow_cachel manipulation.
8014         (allocate_frame_core): subwindow_instance_cache is a weak list.
8015         (delete_frame_internal): set subwindow_instance_cache to nil.
8016
8017         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8018         finalization safe.
8019         (mswindows_finalize_image_instance): use the device
8020         not the domain as the domain may have died already.
8021
8022         * glyphs-x.c (x_finalize_image_instance): ditto.
8023         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8024         HEIGHT.
8025
8026         * redisplay-output.c (redisplay_unmap_subwindows): update for
8027         subwindow instance cache as a weak list.
8028         (redisplay_unmap_subwindows_maybe): ditto.
8029         (redisplay_unmap_subwindows_except_us): ditto.
8030
8031         * glyphs.c (unmap_subwindow): error checking will check the domain
8032         so don't deal with it here. Don't use cachels anymore.
8033         (map_subwindow): ditto.
8034         (update_subwindow_cachel_data): remove old accessor names.
8035         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8036         (Fresize_subwindow): don't update cachel.
8037         (mark_subwindow_cachels):
8038         (update_subwindow_cachel_data):
8039         (add_subwindow_cachel):
8040         (get_subwindow_cachel_index):
8041         (update_subwindow_cachel):
8042         (reset_subwindow_cachels):
8043         (mark_subwindow_cachels_as_not_updated): deleted.
8044         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8045         subwindow instance to the frame cache.
8046         (find_matching_subwindow): update for subwindow instance cache as
8047         a weak list.
8048         (update_widget_instances): ditto.
8049         (image_instance_type_to_mask):inlined.
8050         (free_frame_subwindow_instance_cache): new function. finalize all
8051         subwindows that are instantiated.
8052
8053         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8054         of cachel information.
8055         (IMAGE_INSTANCE_DISPLAY_X):
8056         (IMAGE_INSTANCE_DISPLAY_Y):
8057         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8058         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8059         (XIMAGE_INSTANCE_DISPLAY_X):
8060         (XIMAGE_INSTANCE_DISPLAY_Y):
8061         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8062         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8063         remove subwindow_cachel structure and function references.
8064         (image_instance_type_to_mask): inline from glyphs.c
8065
8066         * redisplay.c (redisplay_frame): remove subwindow_cachel
8067         references.
8068
8069         * frame.h (struct frame): remove subwindow_cachels.
8070         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8071
8072         * frameslots.h: add subwindow_instance_cache.
8073
8074         * window.c (replace_window): check subwindow cache of replacement.
8075         (window_unmap_subwindows_cache_mapper):
8076         (window_unmap_subwindows): new functions. Unmap all subwindows
8077         cached on this window.
8078         (mark_window_as_deleted): unmap all subwindows.
8079
8080 2000-04-27  Andy Piper  <andy@xemacs.org>
8081
8082         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8083
8084         * glyphs-widget.c (widget_layout): return something.
8085         (layout_layout): return something. Fail if not initialized.
8086         (layout_query_geometry): ditto.
8087         (image_instantiator_native_layout): new function. Initialized the
8088         native layout type.
8089         (widget_instantiate): don't do layout stuff here.
8090
8091         * glyphs.c (instantiate_image_instantiator): reorded calling or
8092         instantiate and post_instantiate with layout in between.
8093         (image_instance_layout): be more selective about deciding whether
8094         the layout has been done or not.
8095
8096         * glyphs.h (struct image_instantiator_methods): return a value
8097         from layout_method.
8098
8099 2000-04-26  Andy Piper  <andy@xemacs.org>
8100
8101         * glyphs.c (allocate_image_instance): make initial width and
8102         height unspecified. Set initialized to 0.
8103
8104         * syscommctrl.h new file. Encapsulates commctrl.h.
8105
8106         * syswindows.h new file. Encapsulates windows.h.
8107
8108         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8109         * nt.c: ditto.
8110         * console-msw.h: ditto.
8111
8112         * redisplay-tty.c (tty_output_display_block): remove layout references.
8113
8114         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8115         window handle rather than just the frame.
8116
8117         * glyphs.c (mark_image_instance): remove layout references.
8118         (print_image_instance): ditto.
8119         (image_instance_equal): ditto.
8120         (image_instance_hash): ditto.
8121         (decode_image_instance_type): ditto.
8122         (encode_image_instance_type): ditto.
8123         (image_instantiate): ditto.
8124         (allocate_glyph): ditto.
8125         (Fimage_instance_height): ditto.
8126         (Fimage_instance_width): ditto.
8127         (update_subwindow): ditto.
8128
8129         * redisplay-x.c (x_output_display_block): recode for layouts as
8130         widgets.
8131
8132         * redisplay-output.c (redisplay_output_layout): recode for layouts
8133         as widgets.
8134         (compare_runes): remove layout references.
8135
8136         * redisplay-msw.c (mswindows_output_display_block): recode for
8137         layouts as widgets.
8138
8139         * glyphs-widget.c (image_instantiator_layout): remove
8140         layout_possible_dest_types.
8141         (layout_possible_dest_types): deleted.
8142
8143         * glyphs.h (image_instance_type): remove layout references.
8144         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8145         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8146         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8147
8148 2000-04-25  Andy Piper  <andy@xemacs.org>
8149
8150         * glyphs-widget.c (image_instantiator_buttons):
8151         (image_instantiator_edit_fields):
8152         (image_instantiator_combo_box):
8153         (image_instantiator_scrollbar):
8154         (image_instantiator_progress_guage):
8155         (image_instantiator_tree_view):
8156         (image_instantiator_tab_control):
8157         (image_instantiator_labels):
8158         (image_instantiator_layout): call default post_instantiate method.
8159         (widget_post_instantiate): new function. Simply lays out the
8160         widgets.
8161
8162         * glyphs.h (struct image_instantiator_methods): add
8163         post_instantiate method.
8164
8165         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8166         method calls.
8167
8168 2000-04-23  Andy Piper  <andy@xemacs.org>
8169
8170         * glyphs.h (struct image_instantiator_methods): add
8171         decode_domain_method.
8172         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8173         derived from the domain.
8174         (IMAGE_INSTANCE_FRAME): new accessor.
8175         (XIMAGE_INSTANCE_FRAME): ditto.
8176
8177         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8178         instead of _SUBWINDOW_FRAME.
8179         (finalize_image_instance): ditto.
8180         (Fimage_instance_foreground): ditto.
8181         (Fimage_instance_background): ditto.
8182         (image_instantiate): ditto.
8183         (update_subwindow_cachel): ditto.
8184         (update_subwindow): ditto.
8185         (unmap_subwindow): ditto.
8186         (map_subwindow): ditto
8187         (subwindow_instantiate): ditto.
8188         * glyphs-msw.c (mswindows_update_widget): ditto.
8189         (mswindows_progress_gauge_instantiate): ditto.
8190         (mswindows_tab_control_update): ditto.
8191         * glyphs-x.c (x_update_widget): ditto.
8192         (x_widget_instantiate): ditto.
8193         (x_tab_control_instantiate): ditto.
8194         (x_tab_control_update): ditto.
8195         * event-msw.c (mswindows_wnd_proc): ditto
8196
8197         * glyphs-widget.c (image_instantiator_layout): use
8198         subwindow_decode_domain.
8199         (image_instantiator_buttons): ditto.
8200         (image_instantiator_edit_fields): ditto.
8201         (image_instantiator_combo_box): ditto.
8202         (image_instantiator_scrollbar): ditto.
8203         (image_instantiator_progress_guage): ditto.
8204         (image_instantiator_tree_view): ditto.
8205         (image_instantiator_tab_control): ditto.
8206         (image_instantiator_labels): ditto.
8207         (image_instantiator_layout): ditto.
8208
8209         * glyphs.c: add instance error checking to many functions.
8210         (instantiate_image_instantiator): decode device from cache_domain.
8211         (image_instantiate): partially rewrite by using
8212         decode_image_instantiator_domain to determine what domain the
8213         instance needs to be cached in.
8214         (decode_image_instantiator_domain): new function. Determine what
8215         domain the image needs to be cached in.
8216         (check_window_subwindow_cache): new error checking function.
8217         (check_instance_cache_mapper): ditto.
8218         (check_image_instance_structure): ditto.
8219         (subwindow_decode_domain): new function. Encodes a window as a
8220         subwindow's cache domain.
8221         (image_instantiator_format_create): use it for text and
8222         subwindows.
8223
8224 2000-04-21  Andy Piper  <andy@xemacs.org>
8225
8226         * glyphs.c (image_instance_device): new function.
8227         (image_instance_frame): new function.
8228         (image_instance_window): new function.
8229         (image_instance_live_p): new function.
8230
8231         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8232         cache to nil.
8233
8234         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8235         (IMAGE_INSTANCE_DOMAIN): new accessor.
8236         (XIMAGE_INSTANCE_DOMAIN): ditto.
8237
8238         * glyphs-x.c (x_finalize_image_instance): device->domain.
8239
8240         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8241         (mswindows_finalize_image_instance): ditto.
8242
8243         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8244         (gif_instantiate): ditto.
8245         (png_instantiate): ditto.
8246         (tiff_instantiate): ditto.
8247
8248         * glyphs.c (instantiate_image_instantiator): use domain rather
8249         than device.
8250         (mark_image_instance): device -> domain.
8251         (print_image_instance): ditto.
8252         (finalize_image_instance): ditto.
8253         (image_instance_equal): ditto.
8254         (allocate_image_instance): ditto.
8255         (Fcolorize_image_instance): ditto.
8256         (query_string_geometry): ditto.
8257         (image_instantiate): ditto
8258         (query_string_font): ditto.
8259         (image_instantiate): ditto.
8260         (update_subwindow): ditto.
8261         (unmap_subwindow): ditto.
8262         (map_subwindow): ditto.
8263         (subwindow_instantiate): ditto.
8264
8265         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8266         (DOMAIN_FRAME): ditto.
8267         (DOMAIN_WINDOW): ditto.
8268         (DOMAIN_LIVE_P): ditto.
8269         (XDOMAIN_DEVICE): ditto.
8270         (XDOMAIN_FRAME): ditto.
8271         (XDOMAIN_WINDOW): ditto.
8272
8273         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8274         a valid specifier domain.
8275
8276 2000-04-19  Andy Piper  <andy@xemacs.org>
8277
8278         * glyphs-widget.c (syms_of_glyphs_widget): remove
8279         widget-callback-current-channel.
8280         (vars_of_glyphs_widget): ditto.
8281         * glyphs.h: ditto
8282
8283         * gui.c (get_gui_callback): revert to previous behaviour.
8284
8285 2000-04-18  Andy Piper  <andy@xemacs.org>
8286
8287         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8288         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8289         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8290
8291         * glyphs.c (image_instance_equal): add margin_width.
8292         (image_instance_hash): ditto.
8293
8294         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8295         (layout_query_geometry): ditto.
8296         (layout_layout): ditto.
8297         (syms_of_glyphs_widget): add margin-width.
8298         (image_instantiator_layout): allow margin-width.
8299
8300         * glyphs.c (update_widget_instances): make a normal function.
8301         (syms_of_glyphs): remove Qupdate_widget_instances.
8302         * glyphs.h: ditto.
8303
8304         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8305         so that we don't corrupt ideas about the last event or
8306         command. Remove widget-callback-current-channel fiddling.
8307         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8308
8309 2000-05-01  Martin Buchholz <martin@xemacs.org>
8310
8311         * XEmacs 21.2.33 is released.
8312
8313 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8314
8315         * make-src-depend: Allow dots in header file name.
8316
8317 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8318
8319         * mule-charset.h (struct charset_lookup): Add
8320         next_allocated_1_byte_leading_byte and
8321         next_allocated_2_byte_leading_byte.
8322         * mule-charset.c: Move above two variables so that those values
8323         will be dumped.
8324
8325 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8326
8327         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8328         when string length is zero.
8329         (find_charsets_in_emchar_string): Ditto.
8330
8331 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8332
8333         * lisp.h: extern Qdialog and Qmenubar.
8334
8335         * gui-x.c: added events.h.
8336                 also fixed typo which made the file uncompilable.
8337
8338         * general.c: Added Qmenubar and Qdialog
8339
8340 2000-04-28  Ben Wing  <ben@xemacs.org>
8341
8342         * frame-msw.c (mswindows_init_frame_1):
8343         * frame-msw.c (mswindows_mark_frame):
8344         * event-msw.c (mswindows_enqueue_dispatch_event):
8345         * console-msw.h:
8346         * console-msw.h (struct mswindows_frame):
8347         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8348         there are now three hash tables for callbacks.
8349         mswindows_enqueue_dispatch_event is no longer static.
8350
8351         * dialog-x.c (maybe_run_dbox_text_callback):
8352         * dialog-x.c (dbox_descriptor_to_widget_value):
8353         switch to new cons3 form for callbacks.
8354
8355         * glyphs-msw.c (mswindows_register_gui_item):
8356         * glyphs-msw.c (mswindows_widget_instantiate):
8357         * glyphs-msw.c (add_tree_item):
8358         * glyphs-msw.c (add_tab_item):
8359         new image instance parameter, so it can be passed to callback-ex.
8360         respect :callback-ex as well as :callback.
8361
8362         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8363         add :callback-ex.
8364
8365         * glyphs.c (print_image_instance):
8366         prettify, e.g. now prints widget type.
8367
8368         * gui-x.h:
8369         certain funs have new image instance parameter.
8370
8371         * gui.c:
8372         * gui.c (get_gui_callback):
8373         * gui.c (gui_item_add_keyval_pair):
8374         * gui.c (gui_item_init):
8375         * gui.c (gui_add_item_keywords_to_plist):
8376         * gui.c (mark_gui_item):
8377         * gui.c (gui_item_hash):
8378         * gui.c (gui_item_equal):
8379         * gui.c (copy_gui_item):
8380         * gui.c (syms_of_gui):
8381         recognize callback-ex in a number of places.
8382         also, fix the annoying "can't get out of yes-no dialog" bug.
8383
8384         * gui.h:
8385         * gui.h (struct Lisp_Gui_Item):
8386         recognize callback-ex in a number of places.
8387
8388         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8389         new parameter in button_item_to_widget_value.
8390
8391         * glyphs-x.c (x_update_widget):
8392         * glyphs-x.c (x_button_instantiate):
8393         * glyphs-x.c (x_button_update):
8394         * glyphs-x.c (x_progress_gauge_instantiate):
8395         * glyphs-x.c (x_edit_field_instantiate):
8396         * glyphs-x.c (x_combo_box_instantiate):
8397         * glyphs-x.c (x_tab_control_instantiate):
8398         * glyphs-x.c (x_label_instantiate):
8399         new image instance parameter in various places.
8400
8401         * event-Xt.c:
8402         * event-Xt.c (enqueue_Xt_dispatch_event):
8403         this fun gets exported.
8404
8405         * gui-msw.c:
8406         * gui-msw.c (mswindows_handle_gui_wm_command):
8407         handle both :callback and :callback-ex, and generate our own
8408         event because it's one of the callback-ex arguments.
8409
8410         * gui-x.c:
8411         * gui-x.c (popup_selection_callback):
8412         handle both :callback and :callback-ex, and generate our own
8413         event because it's one of the callback-ex arguments.
8414         * gui-x.c (button_item_to_widget_value):
8415         * gui-x.c (gui_items_to_widget_values_1):
8416         * gui-x.c (gui_item_children_to_widget_values):
8417         * gui-x.c (gui_items_to_widget_values):
8418         new image instance parameter in various places.
8419
8420         * fns.c (Freplace_list):
8421         fix small typo in doc string.
8422
8423         * lisp.h:
8424         declare enqueue_Xt_dispatch_event.
8425
8426 2000-04-28  Ben Wing  <ben@xemacs.org>
8427
8428         * buffer.c:
8429         * buffer.c (Frecord_buffer):
8430         * buffer.c (syms_of_buffer):
8431         delete record-buffer-hook.
8432
8433         * fns.c:
8434         * fns.c (Freplace_list):
8435         * fns.c (syms_of_fns):
8436         new primitive replace-list.
8437
8438         * frameslots.h:
8439         slot for old buffer-alist.
8440
8441         * lisp.h:
8442         exfun replace-list.
8443
8444         * redisplay.c:
8445         * redisplay.c (redisplay_frame):
8446         * redisplay.c (syms_of_redisplay):
8447         * redisplay.c (vars_of_redisplay):
8448         new hook buffer-list-changed-hook.
8449         call it.
8450
8451 2000-04-27  Ben Wing  <ben@xemacs.org>
8452
8453         * extents.h: extern in_modeline_generation.
8454
8455         * redisplay.c (generate_formatted_string_db): set
8456         in_modeline_generation.
8457
8458         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8459         flags if in modeline generation.  otherwise frame-modified-tick
8460         is ticked far too often.
8461         Declare in_modeline_generation.
8462
8463 2000-04-26  Ben Wing  <ben@xemacs.org>
8464
8465         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8466         option.
8467         (vars_of_emacs): add quick-build as an error-checking option.
8468         A bit kludgy, but there doesn't seem much point in creating
8469         a real var for this.
8470
8471         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8472
8473 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8474
8475         * redisplay.h (struct display_line): Add a new variable,
8476         line_continuation.
8477
8478         * redisplay.c (create_text_block): Set dl->line_continuation if
8479         the line continues.
8480         (create_string_text_block): Ditto.
8481         (regenerate_window_incrementally): Use line_continuation instead
8482         of searching continuation glyph.
8483         (add_margin_runes): Call add_glyph_rune.
8484         (add_glyph_rune): Handle margin glyph.
8485
8486 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8487
8488         * filelock.c (fill_in_lock_file_name):
8489         ANSIfy.
8490         Check for IS_ANY_SEP instead of '/'.
8491         (lock_file_1):
8492         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8493         Never check errno without first seeing that system call failed.
8494         (unlock_file): Add GCPRO.
8495         (Flock_buffer): Fix docstring.
8496         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8497
8498 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8499
8500         * sysdep.c (get_pty_max_bytes):
8501         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8502         strings longer than 252 bytes.
8503
8504         * md5.c: Unconditionally include ANSI header <limits.h>
8505
8506         * glyphs-x.c (convert_EImage_to_XImage):
8507         * lisp-union.h (union Lisp_Object):
8508         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8509
8510 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8511
8512         * filelock.c (current_lock_owner): Remove unused variable o, p.
8513
8514 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8515
8516         * callint.c: Remove multiply defined symbol Qlet
8517         (syms_of_callint): ditto.
8518
8519 2000-04-14  Andy Piper  <andy@xemacs.org>
8520
8521         * general.c (syms_of_general): add last-command, this-command, let
8522         and funcall.
8523
8524         * lisp.h: declare various symbols.
8525
8526         * glyphs.h: declare Qwidget_callback_current_channel;
8527
8528         * glyphs-widget.c (syms_of_glyphs_widget): add
8529         Qgui_callback_current_channel.
8530         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8531
8532         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8533         widget-callback-current-channel when invoking the interactive
8534         arg. Also bind last-command and next-command when invoking the
8535         widget updates.
8536         * gui-x.c (popup_selection_callback): ditto.
8537
8538         * gui.c (get_gui_callback): massage args so that we are always
8539         calling eval. This allows us to add our own variable bindings
8540         outside.
8541
8542         * glyphs-x.c (x_button_instantiate): use
8543         gui_items_to_widget_values since this is GC safe.
8544         (x_progress_gauge_instantiate): ditto.
8545         (x_edit_field_instantiate): ditto.
8546         (x_label_instantiate): ditto.
8547
8548         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8549         (emacs_Xt_event_widget_focus_out): new function
8550         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8551         focus.
8552         (emacs_Xt_event_add_widget_actions): new function. add focus
8553         functions as actions.
8554         (init_event_Xt_late): use it.
8555
8556 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8557
8558         * event-stream.c (Fdispatch_event): Doc fix.
8559
8560 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8561
8562         * postgresql.c: Remove all references to PQsetenv*.
8563
8564         * postgresql.h: Remove references to PGsetenvHandler object.
8565         * lrecord.h (lrecord_type): Ditto.
8566
8567 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8568
8569         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8570         real_heigh and real_width members, and accessor macros for these.
8571
8572         * glyphs-msw.c (init_image_instance_geometry): New function.
8573         (init_image_instance_from_dibitmap): Use it.
8574         (mswindows_resource_instantiate): Use it.
8575         (init_image_instance_from_xbm_inline): Use it.
8576         (mswindows_initialize_image_instance_mask): Use real bitmap
8577         geometry.
8578         (mswindows_create_resized_bitmap): Ditto.
8579         (mswindows_create_resized_mask): Ditto.
8580
8581         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8582         and bitmap to their surface size.
8583
8584 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8585
8586         * process-unix.c (unix_send_process): Guard against process MIA
8587         after Faccept_process_output.
8588
8589 2000-04-11  Ben Wing  <ben@xemacs.org>
8590
8591         * eval.c (unbind_to_hairy): fix brokenness introduced by
8592         nanosecond speed improvements.
8593
8594 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8595
8596         * sunplay.c (init_device): To play sounds correctly, the device
8597         apparently needs to be initialized at least once by XEmacs.  Make
8598         it so.
8599
8600 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8601
8602         * redisplay.c (add_margin_runes): Add text image glyph
8603           handling.
8604
8605 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8606
8607         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8608         gcc is newer than 2.5.
8609
8610 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8611
8612         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8613
8614         * fns.c (size_bit_vector):
8615         * alloc.c (size_vector):
8616         (make_vector_internal):
8617         (make_bit_vector_internal):
8618         (sweep_bit_vectors_1):
8619         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
8620
8621 2000-04-06  Andy Piper  <andy@xemacs.org>
8622
8623         * gmalloc.c (malloc): undo previous change.
8624         (malloc): ditto.
8625         (free): ditto.
8626         (realloc): ditto.
8627
8628 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
8629
8630         * line-number.c (buffer_line_number): Revert to former version.
8631
8632 2000-04-06  Andy Piper  <andy@xemacs.org>
8633
8634         * gmalloc.c (malloc): add error checking.
8635         (malloc): ditto.
8636         (free): ditto.
8637         (realloc): ditto.
8638
8639         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
8640         button_item_to_widget_value arg.
8641
8642         * glyphs-x.c (x_button_instantiate): add extra
8643         button_item_to_widget_value arg.
8644         (x_progress_gauge_instantiate): ditto.
8645         (x_edit_field_instantiate): ditto.
8646         (x_label_instantiate): ditto.
8647
8648         * gui-x.c (gui_items_to_widget_values_1): add extra
8649         button_item_to_widget_value arg.
8650         (button_item_to_widget_value): add extra menu_item_p arg.
8651
8652         * gui-x.h: change signature of button_item_to_widget_value.
8653
8654         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
8655         button_item_to_widget_value arg.
8656
8657 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8658
8659         * buffer.h (struct buffer): auto_save_modified should be long.
8660
8661 2000-04-05  Andy Piper  <andy@xemacs.org>
8662
8663         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
8664         type.
8665         (button_query_geometry): give a little more room so that athena
8666         buttons fit.
8667
8668 2000-04-05  Andy Piper  <andy@xemacs.org>
8669
8670         * faces.c (complex_vars_of_faces): The widget face should inherit
8671         the font of the gui-element face.
8672
8673 2000-04-04  Andy Piper  <andy@xemacs.org>
8674
8675         * glyphs-x.c (x_button_update): new function. unconditionally
8676         update a button's state when the instance is dirty.
8677         (image_instantiator_format_create_glyphs_x): add x_button_update.
8678         (x_widget_instantiate): remove old resize cruft.
8679
8680 2000-04-02  Andy Piper  <andy@xemacs.org>
8681
8682         * frame.c (change_frame_size_1): The introduction of gutters means
8683         that we need to allow 0 as a potential frame dimension.
8684
8685 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8686
8687         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
8688         image glyph if allow_cursor.
8689         (add_hscroll_rune): Don't allow cursor to border glyph.
8690         (create_text_block): Ditto.
8691
8692         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
8693         text not in buffer.
8694         (redisplay_output_layout): Call ensure_face_cachel_complete for
8695         text image glyph.
8696
8697
8698 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8699
8700         * redisplay.c (add_glyph_rune): Adding text image as text runes.
8701
8702         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
8703         not in buffer
8704
8705         * redisplay-tty.c (tty_output_display_block): Delete the routine
8706         for text image glyph
8707         * redisplay-x.c (x_output_display_block): ditto
8708         * redisplay-msw.c (mswindows_output_display_block): ditto
8709
8710 2000-02-02  Mike Alexander  <mta@arbortext.com>
8711
8712         Note: Some of these were committed by accident as part of other
8713         patches.
8714
8715         * regex.c (regex_compile): Avoid compiler warnings.
8716
8717         * ntproc.c (sys_spawnve): Avoid compiler warnings.
8718
8719         * nt.h: Declare term_ntproc correctly.
8720
8721         * nt.c: Remove incorrect declaration of get_home_directory which
8722         is declared correctly in lisp.h.
8723
8724         * keymap.c (get_keyelt): Avoid compiler warnings.
8725         (raw_lookup_key_mapper): Avoid compiler warnings.
8726
8727         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
8728
8729         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
8730
8731         * filemode.c (mode_string): Avoid compiler warnings.
8732
8733         * file-coding.c (Fcoding_system_aliasee): Add return statement to
8734         avoid warning.
8735
8736         * events-mod.h: Undef some things that winuser.h defines differently.
8737
8738         * data.c (Faset): Avoid compiler warnings.
8739
8740         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
8741
8742 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8743
8744         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
8745         Fall through to simple beep on error.
8746         Replace "extern" by real header file.
8747
8748         * linuxplay.c: Use nativesound.h
8749         (play_sound_data): Return error code. Be less verbose on error.
8750
8751         * sunplay.c: Use nativesound.h
8752         (play_sound_data): Return error code. Be less verbose on error.
8753
8754         * ntplay.c: Use nativesound.h
8755         (play_sound_data): Return fake error code
8756
8757         * sgiplay.c: Use nativesound.h
8758         (play_sound_data): Return error code
8759
8760         * hpplay.c: Use nativesound.h, partially implement
8761         new error code. Break compilation until finished.
8762         (play_sound_data): error code.
8763
8764         * nativesound.h (play_sound_file):
8765           (play_sound_data): Prototype in new header.
8766
8767 2000-03-31  Andy Piper  <andy@xemacs.org>
8768
8769         * glyphs-widget.c: (button_query_geometry): new function. Adjust
8770         for toggle and radio buttons.
8771         (image_instantiator_buttons): use it.
8772
8773 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8774
8775         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
8776         (x_update_horizontal_scrollbar_callback): Return if no mirror was
8777         found. Scrollbar event probably belonged to some old config.
8778
8779 2000-03-31  Andy Piper  <andy@xemacs.org>
8780
8781         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
8782         than 1.
8783         (initialize_widget_image_instance): default layout to
8784         LAYOUT_HORIZONTAL rather than 0.
8785         (widget_instantiate): reverse the item list at the end rather than
8786         every iteration.
8787         (layout_layout): re-code for the border text at the front of the
8788         item list rather than at the end.
8789         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
8790         provided by the user.
8791         (widget_query_geometry): comment.
8792
8793 2000-03-30  Andy Piper  <andy@xemacs.org>
8794
8795         * glyphs-widget.c (image_instantiator_layout): allow standard
8796         widget keywords in layouts.
8797
8798         * gutter.c (output_gutter): cope with nil gutter contents.
8799
8800         * frame.c (Fset_frame_properties): add gutter docs.
8801
8802 2000-03-29  Andy Piper  <andy@xemacs.org>
8803
8804         * toolbar-msw.c (TBSTYLE_FLAT): add.
8805         (mswindows_output_toolbar): minor fiddling.
8806
8807 2000-03-29  Andy Piper  <andy@xemacs.org>
8808
8809         * gutter.c (output_gutter): force gutter size recalculation if
8810         what we are trying to display won't fit.
8811         (update_gutter_geometry): new function. A per-gutter version of
8812         update_frame_gutter_geometry.
8813         (update_frame_gutter_geometry): use it.
8814         (redraw_exposed_gutter): add extra debugging output.
8815
8816 2000-03-28  Mike Alexander  <mta@arbortext.com>
8817
8818         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
8819         (pdump_file_unmap): Implement it on Windows
8820         (pdump_file_get): Save alocated handles for pdump_file_unmap
8821
8822 2000-03-28  Andy Piper  <andy@xemacs.org>
8823
8824         * gui.c (get_gui_callback): treat Quit specially.
8825
8826 2000-03-27  Andy Piper  <andy@xemacs.org>
8827
8828         * glyphs.c (image_instantiate): be careful to check in the same
8829         way we assigned.
8830
8831 2000-03-27  Didier Verna  <didier@xemacs.org>
8832
8833         * config.h.in: define the proper SMART_INCLUDE macro.
8834         handle renaming of `foo_h_path' to `foo_h_file'.
8835
8836         * database.c: ditto.
8837
8838         * emacs.c: ditto.
8839
8840         * linuxplay.c: ditto.
8841
8842         * terminfo.c: ditto.
8843
8844         * tooltalk.h: ditto.
8845
8846 2000-03-27  Andy Piper  <andy@xemacs.org>
8847
8848         * glyphs-msw.c (mswindows_update_widget): make sure the widget
8849         gets updated whenever the face might have changed.
8850
8851 2000-03-26  Mike Alexander  <mta@arbortext.com>
8852
8853         * dumper.c (pdump_resource_free): Fix the comment.
8854
8855 2000-03-21  Olivier Galibert  <galibert@pobox.com>
8856
8857         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
8858
8859 2000-03-22  Mike Alexander  <mta@arbortext.com>
8860
8861         * dumper.c: Include Windows headers on Windows
8862         (pdump_resource_free): Add a body to the function
8863         (pdump_load): exe_name -> exe_path and add some comments.
8864
8865 2000-03-25  Mike Alexander  <mta@arbortext.com>
8866
8867         * gui.c (copy_gui_item_tree): Return a value in all cases
8868
8869 2000-03-21  Didier Verna  <didier@xemacs.org>
8870
8871         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
8872         lwlib/config.h.in.
8873         (SMART_INCLUDE): new macro.
8874         (POSTGRES_INCLUDE): new macro to include postgresql headers from
8875         the proper location.
8876
8877         * postgresql.c: use it.
8878
8879         * inline.c: ditto.
8880
8881 2000-03-24  Andy Piper  <andy@xemacs.org>
8882
8883         * gutter.c (redraw_exposed_gutters): must be "in display" when we
8884         do this.
8885
8886 2000-03-24  Andy Piper  <andy@xemacs.org>
8887
8888         * redisplay-output.c (compare_runes): use image_instance_changed
8889         to detect changes. Do not depend on glyphs_changed, only depend on
8890         dirtiness.
8891          (redisplay_output_layout): add debug messages.
8892         (compare_runes): ditto.
8893
8894         * glyphs.h: declare new functions.
8895         (struct Lisp_Image_Instance): remove percent and associated
8896         accessors.
8897
8898         * gui.h: declare new copying functions.
8899
8900         * gui.c (copy_gui_item_tree): new function.
8901         (copy_gui_item): new function.
8902         (gui_item_id_hash): revert to standard hash.
8903         (gui_item_hash): ditto.
8904         (gui_item_hash_internal): deleted.
8905         (mark_gui_item): mark value.
8906         (gui_item_add_keyval_pair): add value.
8907         (gui_item_init): ditto.
8908         (gui_add_item_keywords_to_plist): ditto.
8909         (gui_item_equal): ditto.
8910         (syms_of_gui): add Q_value.
8911
8912         * glyphs-x.c (x_progress_gauge_update): use pending items and
8913         value for setting the state.
8914         (x_update_widget): don't set items from pending here.
8915
8916         * glyphs-widget.c (update_widget): update items here.
8917         (progress_gauge_set_property): use items for storing value. Put
8918         new value in pending items.
8919
8920         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
8921         items for new value. Convert percent -> value.
8922         (mswindows_tab_control_update): don't update items here.
8923
8924         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
8925         (update_subwindow): ditto.
8926         (image_instance_changed): new function. Compare hash values and
8927         past and present widget items.
8928         (image_instantiate): We more careful about where we instantiate
8929         things.
8930         (image_instantiate): add error checking.
8931
8932         * gutter.c (syms_of_gutter): use -hook.
8933
8934 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
8935
8936         * console-tty.c (Fset_console_tty_input_coding_system): Use
8937         Qkeyboard.
8938         (Fset_console_tty_output_coding_system): Use Qterminal.
8939         (tty_init_console): Use Qkeyboard and Qterminal.
8940
8941 2000-03-21  Ben Wing  <ben@xemacs.org>
8942
8943         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
8944         From Mike Alexander <mta@arbortext.com>.
8945
8946 2000-03-21  Ben Wing  <ben@xemacs.org>
8947
8948         * event-msw.c (mswindows_need_event): Horrible kludge to fix
8949         process brokenness.  Proper implementation to come.
8950         * callproc.c:
8951         Rename call-process-internal to old-call-process-internal.
8952         New impl. in process.el.
8953
8954 2000-03-21  Martin Buchholz  <martin@xemacs.org>
8955
8956         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
8957
8958 2000-03-20  Andy Piper  <andy@xemacs.org>
8959
8960         * glyphs.c (full_list_hash): make hashes of the same elements in
8961         different orders return different values.
8962
8963 2000-03-20  Martin Buchholz <martin@xemacs.org>
8964
8965         * XEmacs 21.2.32 is released.
8966
8967 2000-03-20  Martin Buchholz  <martin@xemacs.org>
8968
8969         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
8970         (DFC_MALLOC_USE_CONVERTED_DATA):
8971         Add aliasing-safe casts to allow use with char* or unsigned char*
8972         lvalues.
8973
8974         * eldap.c (Fldap_open):
8975         (Fldap_search_basic):
8976         (Fldap_add):
8977         (Fldap_modify):
8978         Make C++-compilable.
8979         Make sure GCPRO'ed variables are initialized.
8980         Use temp variables to avoid repeated calls to Flength.
8981
8982 2000-03-16  Martin Buchholz  <martin@xemacs.org>
8983
8984         * sysfile.h:
8985         Make sure PATH_MAX is always defined.
8986         Include limits.h for PATH_MAX.
8987         Deprecate use of MAXPATHLEN.
8988
8989 2000-03-10  Martin Buchholz  <martin@xemacs.org>
8990
8991         * emacs.c: Add reinit_vars_of_fileio.
8992         * symsinit.h: Add reinit_vars_of_fileio.
8993         * fileio.c (reinit_vars_of_fileio): New.
8994         * fileio.c (Fmake_temp_name):
8995         Initialize temp_name random number from microseconds to make
8996         collisions even less likely.  Initialize always at process startup
8997         time.  (make-temp-name) used to return the same file name twice in
8998         a row when PDUMP.
8999         Random stylistic fiddling.
9000         Comment fixes.
9001
9002 2000-03-20  Andy Piper  <andy@xemacs.org>
9003
9004         * glyphs.c (image_instantiate): allow text glyphs to be
9005         instantiated in the minibuffer window.
9006
9007 2000-03-19  Andy Piper  <andy@xemacs.org>
9008
9009         * glyphs.c (image_instance_hash): be careful about which items we
9010         hash on.
9011
9012         * glyphs-widget.c (tab_control_set_property): record into pending
9013         items rather than the actual items.
9014
9015         * glyphs-x.c (x_update_widget): use pending items to update with.
9016
9017         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9018         to update with.
9019
9020         * glyphs.c (mark_image_instance): mark pending items.
9021
9022         * window.c (Fset_window_configuration): record the buffer.
9023         (Fselect_window): totally revert previous change which breaks many
9024         things.
9025
9026 2000-03-18  Andy Piper  <andy@xemacs.org>
9027
9028         * glyphs-msw.c (mswindows_tab_control_update): force selected
9029         item.
9030
9031         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9032         window domain cache, otherwise we get inconsistencies at
9033         startup. There is something fishy at startup which can lead to the
9034         minibuffer being the selected window when the gutter content is
9035         instantiated.
9036
9037         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9038         gcpros.
9039         (parse_gui_item_tree_children): ditto.
9040         (parse_gui_item_tree_item): ditto.
9041
9042         * glyphs.c (Fupdate_widget_instances): return something.
9043
9044 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9045
9046         * window.c (Fselect_window): Undo 2000-03-17 change.
9047
9048 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9049
9050         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9051         against v7.0 libraries.  Insta-coredump city until the postgres
9052         folks fix it.
9053
9054 2000-03-17  Andy Piper  <andy@xemacs.org>
9055
9056         * faces.c (complex_vars_of_faces): don't give the widget face an
9057         inherited background pixmap.
9058
9059         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9060         selected item.
9061
9062         * event-stream.c (Fdispatch_non_command_events): return something.
9063
9064         * gutter.c (output_gutter): use widget face.
9065         (clear_gutter): ditto.
9066
9067         * NEWS: adjust again.
9068
9069         * window.c (Fselect_window): make sure this runs to completion to
9070         avoid oddities with Fset_window_configuration.
9071         (Fcurrent_window_configuration): in general do not save the
9072         minibuffer as the selected window.
9073
9074         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9075
9076 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9077
9078         * emacs.c (Frunning_temacs_p): Revert previous patch.
9079         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9080
9081 2000-03-16  Andy Piper  <andy@xemacs.org>
9082
9083         * glyphs-x.c (x_tab_control_update): if no widget values then
9084         return.
9085
9086         * NEWS: update for new features.
9087
9088         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9089         synthetic event to the native system.
9090         (reinit_vars_of_event_Xt): set force_event_pending to
9091         emacs_Xt_force_event_pending.
9092
9093         * events.h (struct event_stream): add force_event_pending.
9094
9095         * specifier.c (recompute_one_cached_specifier_in_window): add
9096         comment.
9097
9098         * redisplay.c (redisplay_frame): don't call
9099         update_frame_subwindows. Reset subwindow cachels when
9100         subwindows_changed, removing this was an optimization too far.
9101
9102         * redisplay-output.c (compare_runes): reorganize so that we catch
9103         glyph changes when we want them. Set optimize_output when this
9104         would help layouts.
9105         (redisplay_output_layout): remove frame_really_changed, use
9106         optimize_output instead.
9107
9108         * redisplay-msw.c (mswindows_output_display_block): reset
9109         optimize_output after outputting a glyph.
9110         * redisplay-x.c (x_output_display_block): ditto.
9111         * redisplay-tty.c (tty_output_display_block): ditto.
9112
9113         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9114         functions.
9115         (gutter_specs_changed): do specific gutter positions.
9116         (top_gutter_specs_changed): new function. Only update the
9117         specified gutter specs.
9118         (bottom_gutter_specs_changed): ditto.
9119         (left_gutter_specs_changed): ditto.
9120         (right_gutter_specs_changed): ditto.
9121
9122         * gui.c (gui_item_hash_internal): new function, does a real hash.
9123         (gui_item_id_hash): use it.
9124         (gui_item_hash): hash the eval'ed gui_item.
9125
9126         * gui-x.c (popup_selection_callback): send an eval event to call
9127         Fupdate_widget_instances.
9128
9129         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9130         to call Fupdate_widget_instances.
9131
9132         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9133         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9134
9135         * glyphs.c: (update_frame_subwindows): deleted.
9136         (Fupdate_widget_instances): new function for updating the dirty
9137         state of widgets that might have changed.
9138         (syms_of_glyphs): add Qupdate_widget_instances.
9139         (full_list_hash): hash a list completely.
9140         (image_instance_hash): use it for items and properties.
9141
9142         * frame-msw.c (mswindows_size_frame_internal): remove unused
9143         variable.
9144
9145         * faces.h (struct face_cachel): fix comment.
9146
9147         * event-stream.c (Fdispatch_non_command_events): new
9148         function. Process non-command events, forcing an event cycle
9149         beforehand.
9150         (syms_of_event_stream): declare.
9151         (event_stream_force_event_pending): new function. Force an event
9152         on the native event queue so that an event cycle will occur next
9153         time we check.
9154
9155         * event-msw.c:
9156         (struct ntpipe_shove_stream):
9157         (mswindows_enqueue_dispatch_event):
9158         (mswindows_dequeue_dispatch_event):
9159         (mswindows_cancel_dispatch_event):
9160         (mswindows_pump_outstanding_events):
9161         (mswindows_drain_windows_queue):
9162         (mswindows_handle_paint):
9163         (mswindows_wnd_proc):
9164         (mswindows_key_to_emacs_keysym):
9165         (get_process_input_waitable):
9166         (emacs_mswindows_delete_stream_pair): re-indent file.
9167         (mswindows_need_event): do not process further fds if the windows
9168         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9169         fixes the 100% cpu problem.
9170         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9171
9172 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9173
9174         * alloc.h: New.
9175         * dumper.h: New.
9176         * dumper.c: New.
9177
9178         * emacs.c: Moved dump file searching to dumper.c.
9179         (Frunning_temacs_p): Fixed.
9180
9181         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9182         last_lrecord_type_index_assigned.
9183
9184 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9185
9186         * symsinit.h: Added reinit parameter to init_console_stream
9187         declaration.
9188
9189         * lisp.h: Added file parameter to pdump_load declaration.
9190
9191         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9192         support.  Added dump file searching.
9193
9194         * config.h.in: Added EMACS_PROGNAME.
9195
9196         * console-stream.c (init_console_stream): Fix reinitialisation
9197         when running from temacs.
9198
9199         * alloc.c (pdump): Add id support.
9200         (pdump_load): Add file parameter and signature/id support.
9201
9202         * Makefile.in.in: Add full pdump support.
9203
9204 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9205
9206         * postgresql.c: Update documentation to reflect latest code
9207         status.
9208         (print_result): Show tuple counts in printed representation when
9209         appropriate.
9210         (Fpq_put_nbytes): MULE-ize.
9211         (Fpq_get_line_async): Ditto.
9212
9213 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9214
9215         * postgresql.c (Fpq_lo_import): Fix return value.
9216         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9217
9218 2000-03-13  Ben Wing  <ben@xemacs.org>
9219
9220         * alloc.c (pdump_load):
9221         Fix compile warning under mswin.
9222
9223 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9224
9225         * postgresql.c: Mule-ization, bug fixes.
9226         Use PG_CODING to encapsulate coding system name changes.
9227         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9228         (pg-coding-system): Create.
9229
9230         (Fpq_conn_defaults): Mule-ize.
9231         (Fpq_connectdb): Mule-ize & bug fix.
9232         (Fpq_connect_start): Mule-ize.
9233         (Fpq_set_client_encoding): Mule-ize.
9234         (Fpq_finish): Document `DEAD' connection status.
9235         (Fpq_clear): Ditto.
9236         (Fpq_pgconn): Mule-ize.
9237         (Fpq_exec): Mule-ize & bug fix.
9238         (Fpq_send_query): Ditto.
9239         (Fpq_get_result): Ditto.
9240         (Fpq_res_status): Mule-ize.
9241         (Fpq_result_error_message): Mule-ize.
9242         (Fpq_ntuples): fix comments.
9243         (Fpq_fname): Mule-ize.
9244         (Fpq_fnumber): Mule-ize.
9245         (Fpq_ftype): fix comments.
9246         (Fpq_get_value): Mule-ize.
9247         (Fpq_cmd_status): Ditto.
9248         (Fpq_cmd_tuples): Ditto.
9249         (Fpq_oid_value): Ditto.
9250         (Fpq_notifies): Ditto.
9251         (Fpq_lo_import): Ditto.
9252         (Fpq_lo_export): Ditto.
9253         (Fpq_get_line): Ditto.
9254         (Fpq_put_line): Mule-ize and bug fix.
9255         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9256
9257 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9258
9259         * postgresql.c (vars_of_postgresql): Mule-ize.
9260         (Fpq_conn_defaults): Ditto.
9261
9262 2000-03-12  Ben Wing  <ben@xemacs.org>
9263
9264         * alloc.c (Fmake_byte_code):
9265         * alloc.c (debug_string_purity_print):
9266         * alloc.c (pdump_backtrace):
9267         * alloc.c (pdump_get_indirect_count):
9268         * alloc.c (pdump_register_sub):
9269         * alloc.c (pdump_register_object):
9270         * alloc.c (pdump_register_struct):
9271         * alloc.c (pdump_dump_data):
9272         * alloc.c (pdump_reloc_one):
9273         Minor cleanups.
9274
9275         * console-msw.c:
9276         * console-msw.c (GetConsoleHwnd):
9277         * console-msw.c (msw_hide_console):
9278         * console-msw.c (msw_show_console):
9279         * console-msw.c (msw_ensure_console_buffered):
9280         * console-msw.c (msw_output_console_string):
9281         * console-msw.c (console_type_create_mswindows):
9282
9283         a) Added functions to manipulate the console window for use with
9284         shell support.
9285
9286         b) Added support for writing text to the console, which is now
9287         used under Windows when xemacs is not being run non-interactively,
9288         to write text that would otherwise be destined for stdout because
9289         under these circumstances, text written to stdout tends to
9290         disappear and not be seen.
9291
9292         * console-msw.h:
9293         * event-Xt.c:
9294         * event-Xt.c (x_event_to_emacs_event):
9295         * event-Xt.c (describe_event_window):
9296         * events-mod.h (XEMACS_MOD_CONTROL):
9297         * events.c:
9298         * events.c (Fmake_event):
9299         * events.c (character_to_event):
9300         * events.c (event_to_character):
9301         * events.c (format_event_object):
9302         * events.c (Fevent_modifiers):
9303         * events.h:
9304         * events.h (struct key_data):
9305         * events.h (struct button_data):
9306         * events.h (struct misc_user_data):
9307         * frame-x.c (Fcde_start_drag_internal):
9308         * frame-x.c (Foffix_start_drag_internal):
9309         * gpmevent.c (Freceive_gpm_event):
9310         * keymap.c:
9311         * keymap.c (bucky_sym_to_bucky_bit):
9312         * keymap.c (control_meta_superify):
9313         * keymap.c (make_key_description):
9314         * keymap.c (keymap_lookup_directly):
9315         * keymap.c (create_bucky_submap):
9316         * keymap.c (keymap_store):
9317         * keymap.c (define_key_check_and_coerce_keysym):
9318         * keymap.c (define_key_parser):
9319         * keymap.c (define_key_alternate_name):
9320         * keymap.c (Fdefine_key):
9321         * keymap.c (raw_lookup_key_mapper):
9322         * keymap.c (struct map_keymap_unsorted_closure):
9323         * keymap.c (map_keymap_unsorted_mapper):
9324         * keymap.c (map_keymap_sort_predicate):
9325         * keymap.c (map_keymap_sorted):
9326         * keymap.c (accessible_keymaps_mapper_1):
9327         * keymap.c (where_is_recursive_mapper):
9328         * keymap.c (describe_map_mapper):
9329         * keymap.c (describe_map_sort_predicate):
9330         * keymap.c (describe_map):
9331         * keymap.c (complex_vars_of_keymap):
9332         And a number of other files, the key modifier preprocessor
9333         constants that xemacs uses have names that conflict with constants
9334         defined under MS Windows for other purposes, so they were renamed
9335         to begin with the prefix XEMACS_. The variables that hold such
9336         modifiers were changed to consistently be of type int to fix
9337         various compile warnings.
9338
9339         * console.c (complex_vars_of_console):
9340         * device.c:
9341         * device-msw.c:
9342         * device-msw.c (mswindows_finish_init_device):
9343         * device-msw.c (msw_get_workspace_coords):
9344         * device-msw.c (mswindows_device_system_metrics):
9345         and various other files, added support for a new
9346         device property called offset-workspace which returns the position
9347         of the upper left corner of the workspace area and goes along with
9348         the existing size-workspace property.
9349
9350         * dialog-msw.c:
9351         * dialog-msw.c (push_bufbyte_string_as_unicode):
9352         * dialog-msw.c (mswindows_popup_dialog_box):
9353         Added support for XEmacs-style accelerator specifications in
9354         button text.  Note: I didn't add support for this under X Windows,
9355         and somebody needs to do this.
9356
9357         * dialog.c:
9358         * dialog.c (Fpopup_dialog_box):
9359         Documented the support for accelerators that was just mentioned.
9360
9361         editfns.c (get_home_directory): Changed behavior under Windows
9362         when HOME not defined; former behavior was irretrievably broken.
9363
9364         * emacs.c:
9365         * emacs.c (main_1):
9366         * emacs.c (main):
9367         * minibuf.c (clear_echo_area_internal):
9368         * minibuf.c (echo_area_append):
9369         * print.c:
9370         * print.c (std_handle_out_external):
9371         * print.c (std_handle_out_va):
9372         * print.c (fatal):
9373         * print.c (write_string_to_stdio_stream):
9374         * print.c (output_string):
9375         * print.c (debug_print):
9376         * print.c (debug_backtrace):
9377         * print.c (debug_short_backtrace):
9378         Cleaned up the code that prints text to stdout so that this can be
9379         changed to output into a console window instead under MS Windows,
9380         as described above.
9381
9382         * eval.c:
9383         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9384         * eval.c (internal_catch):
9385         * eval.c (unwind_to_catch):
9386         * eval.c (throw_or_bomb_out):
9387         * eval.c (condition_case_1):
9388         * eval.c (signal_1):
9389         * eval.c (check_error_state_sanity):
9390         * eval.c (call_with_suspended_errors_1):
9391         * eval.c (call_with_suspended_errors):
9392         * eval.c (reinit_vars_of_eval):
9393         Added code to catch throw loops and check for a pesky bug that may
9394         be gone now.
9395
9396         * event-msw.c:
9397         * event-msw.c (key_needs_default_processing_p):
9398         * event-msw.c (mswindows_wnd_proc):
9399         * event-msw.c (mswindows_modifier_state):
9400         * event-msw.c (emacs_mswindows_quit_p):
9401         * event-msw.c (vars_of_event_mswindows):
9402         a) Added support for using the alt key to select menu items as is
9403         standard under MS Windows.  This is controlled using the variable
9404         menu-accelerator-enabled, just like under X Windows.  There is an
9405         option on the options menu to turn this support on.  I really
9406         think that it should be on by default under Windows, but I'm not
9407         going to make this change yet.
9408
9409         b)  Added support for dynamic display size changes under Windows.
9410
9411         * event-stream.c:
9412         * event-stream.c (maybe_echo_keys):
9413         * event-stream.c (Fnext_event):
9414         * event-stream.c (command_builder_find_leaf):
9415         * event-stream.c (lookup_command_event):
9416         * event-stream.c (execute_command_event):
9417         * event-stream.c (pre_command_hook):
9418         * event-stream.c (post_command_hook):
9419         * event-stream.c (syms_of_event_stream):
9420         * event-stream.c (vars_of_event_stream):
9421         * event-stream.c (complex_vars_of_event_stream):
9422         * events.h (struct command_builder):
9423
9424         a) Tried to clean up a little bit the horribly written x-specific
9425         accelerator code that crept into this file.  I moved this code
9426         into menubar-x.c where it belongs. I also needed to move the
9427         command builder structure into the file events.h because it is
9428         accessed directly by this accelerator code.  What I didn't do, but
9429         which should be done at some point, is to properly abstract this
9430         code using device methods instead of the kludgy way that it
9431         currently hooks into the event code.
9432
9433         b) Added the lisp variables this-command-properties and
9434         last-command- properties, which should be used to synchronize two
9435         adjacent commands in preference to playing games with the variable
9436         this-command, which is typically what happens.
9437
9438         c) Added some slightly nasty code to hook into the lisp support
9439         for shifted- motion-key selection.  This is actually necessary for
9440         somewhat complicated reasons, which are described in
9441         simple.el. (NB: I think the proper thing would be to have the code
9442         that calls the pre and post command hooks also call out to generic
9443         lisp functions in simple.el, where all built-in stuff could be
9444         added.  I will think about this more.)
9445
9446         * event-unixoid.c (poll_fds_for_input):
9447         * lread.c (readchar):
9448         * redisplay-tty.c (tty_clear_frame):
9449         * redisplay-x.c (x_get_gc):
9450         * signal.c (interrupt_signal):
9451         And a whole bunch of other files: fixed up places that printed
9452         directly to stderr to instead call the function stderr_out so that
9453         the changes I made under Windows work correctly.
9454
9455         * filemode.c (mode_string):
9456         Warning fixes.
9457
9458         * frame-msw.c:
9459         * frame-msw.c (mswindows_size_frame_internal):
9460         Fixed the computation of frame size and position to keep the frame
9461         within the workspace area, rather than within the physical
9462         dimensions of the screen, so that the frame doesn't overlap window
9463         manager decorations, such as the start menu and toolbar, typically
9464         at the bottom of the screen.
9465
9466         * frame.c (vars_of_frame):
9467         Changed the default frame title format under MS Windows to consist
9468         of buffername-XEmacs, which is standard under MS Windows.  I think
9469         it might be a good idea to change this everywhere because I think
9470         it is superior to the current frame title format, but this is the
9471         kind of change that is likely to cause some people to get annoyed,
9472         so I'm not making it.
9473
9474         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9475
9476         * gui-msw.c (mswindows_handle_gui_wm_command):
9477         Fixed compile warnings.
9478
9479         * gui-x.c:
9480         * gui-x.c (strdup_and_add_accel):
9481         * gui-x.c (button_item_to_widget_value):
9482         * gui-x.h:
9483         Added code to automatically put an accelerator onto the beginning
9484         of menu items that don't have one as is now the standard, and is
9485         described more later.  Also fixed things so that the menu item
9486         name can be an evaluated expression, again a new standard.
9487
9488         * gui.c:
9489         * gui.c (gui_item_add_keyval_pair):
9490         * gui.c (make_gui_item_from_keywords_internal):
9491         * gui.c (gui_add_item_keywords_to_plist):
9492         * gui.c (gui_item_accelerator):
9493         * gui.c (gui_name_accelerator):
9494         * gui.c (gui_item_included_p):
9495         * gui.c (gui_item_display_flush_left):
9496         * gui.c (gui_item_display_flush_right):
9497         * gui.c (parse_gui_item_tree_item):
9498         * gui.c (parse_gui_item_tree_children):
9499         * gui.c (parse_gui_item_tree_list):
9500         Mule-ized.  Cleanup.  GCPRO addition.
9501
9502         * line-number.c (buffer_line_number):
9503         * lisp.h:
9504         * lisp.h (EMACS_INT_MAX):
9505         Added the manifest constant EMACS_INT_MIN corresponding to the
9506         existing constant EMACS_INT_MAX.  This is partially to fix compile
9507         warnings under Windows, and partly for cleanliness.
9508
9509         * menubar-msw.c:
9510         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9511         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9512         * menubar-msw.c (displayable_menu_item):
9513         * menubar-msw.c (populate_menu_add_item):
9514         * menubar-msw.c (populate_or_checksum_helper):
9515         * menubar-msw.c (populate_menu):
9516         * menubar-msw.c (update_frame_menubar_maybe):
9517         * menubar-msw.c (prune_menubar):
9518         * menubar-msw.c (msw_char_is_accelerator):
9519         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9520         * menubar-msw.c (mswindows_handle_wm_command):
9521         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9522         * menubar-msw.c (mswindows_handle_wm_initmenu):
9523         * menubar-msw.c (mswindows_update_frame_menubars):
9524         * menubar-msw.c (mswindows_free_frame_menubars):
9525         * menubar-msw.c (mswindows_popup_menu):
9526         Fixed a bug in handling accelerators where an extra character
9527         would be displayed in the menu item.  Also generalized the
9528         function displayable_menu_item because it is now used by the
9529         dialog box code as well.  And finally, added code in the functions
9530         that create the menubar to extract a list of accelerators for the
9531         top level menubar, which is used in the event code to determine
9532         whether a particular alt-key combination should be used to invoke
9533         a menu item, or should be passed through to access the standard
9534         XEmacs keymap binding for this key combination.
9535
9536         Much needed GCPROing.
9537
9538         * menubar-x.c:
9539         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9540         * menubar-x.c (menu_item_descriptor_to_widget_value):
9541         * menubar-x.c (restore_in_menu_callback):
9542         * menubar-x.c (x_popup_menu):
9543         * menubar-x.c (menu_move_up):
9544         * menubar-x.c (menu_move_down):
9545         * menubar-x.c (menu_move_left):
9546         * menubar-x.c (menu_move_right):
9547         * menubar-x.c (menu_select_item):
9548         * menubar-x.c (command_builder_operate_menu_accelerator):
9549         * menubar-x.c (menu_accelerator_junk_on_error):
9550         * menubar-x.c (command_builder_find_menu_accelerator):
9551         * menubar-x.c (Faccelerate_menu):
9552         * menubar.h:
9553         Moved a whole bunch of code here that was previously in
9554         event-stream.c as described above.  There is also code connected
9555         to the new standard of adding an accelerator to the beginning of
9556         menu items that don't have one as described above and below.
9557
9558         * menubar.c:
9559         * menubar.c (menu_parse_submenu_keywords):
9560         * menubar.c (Fmenu_find_real_submenu):
9561         * menubar.c (Fnormalize_menu_item_name):
9562         * menubar.c (syms_of_menubar):
9563         * menubar.c (vars_of_menubar):
9564         * menubar.c (complex_vars_of_menubar):
9565
9566         a) Cleaned up a bunch of documentation and improved it.
9567
9568         b) XEmacs now automatically adds an accelerator onto the beginning
9569         of any menu items that don't have one.  I did this because there
9570         will inevitably be some menu items on the main menubar that don't
9571         have accelerators on them because the package that adds that
9572         particular menu item hasn't yet been fixed up to have accelerators
9573         in them and it looked rather strange to have some items with and
9574         some items without accelerators, especially since even in items
9575         without accelerators, you can, at least under windows, still
9576         access the item through an accelerator corresponding to the first
9577         character in the item's name.  If people don't like this behavior,
9578         I can add a variable to turn it off optionally, but I'm not sure
9579         this is a good idea because we really do need to have accelerators
9580         on all of the menu items, and if a package doesn't like the
9581         accelerators being put on the first character, then it should put
9582         the accelerators where they belong.
9583
9584         c) I made a behavior change, which is that the descriptor that
9585         specifies the text of the menu item, which formerly was just a
9586         string, can now also be an evaluated expression.  This makes this
9587         descriptor parallel with all of the others, which could also be
9588         evaluated expressions.  This also obviates the need for the
9589         keyword :label, which was previously listed in the documentation
9590         as unimplemented, and which was for the same purpose.
9591
9592         d) GCPROing.
9593
9594         * ntproc.c:
9595         * ntproc.c (new_child):
9596         * ntproc.c (sys_spawnve):
9597         * ntproc.c (find_child_console):
9598         * ntproc.c (sys_kill):
9599         Fixed compile warnings.  By the way, this file should really go
9600         away entirely, and this will happen as soon as Kirill makes his
9601         final round of process cleanups, which affect the function
9602         call-process.
9603
9604         * process-nt.c:
9605         * process-nt.c (struct nt_process_data):
9606         * process-nt.c (find_process_from_pid):
9607         * process-nt.c (send_signal_the_nt_way):
9608         * process-nt.c (enable_child_signals):
9609         * process-nt.c (find_child_console):
9610         * process-nt.c (send_signal_the_95_way):
9611         * process-nt.c (nt_finalize_process_data):
9612         * process-nt.c (ensure_console_window_exists):
9613         * process-nt.c (nt_create_process):
9614         * process-nt.c (nt_kill_child_process):
9615         * process-nt.c (nt_kill_process_by_pid):
9616         * process-nt.c (nt_open_network_stream):
9617         * process-nt.c (vars_of_process_nt):
9618         Copied over code from Emacs 20.5 to correctly send signals to sub-
9619         processes under Windows 95.  Also added code to automatically
9620         create and hide console window when a sub-process is created under
9621         Windows 95, which obviates the need for the separate runemacs.exe
9622         executable, and finally implemented some variables that were
9623         implemented in Emacs 20.5, but previously not in XEmacs.  These
9624         include mswindows- start-process-share-console and
9625         mswindows-start-process-inherit-error-mode. (Both of these only
9626         apply to Windows 95.)
9627
9628         * regex.c (regex_compile): Fixed a compile warning.
9629
9630         * select-msw.c:
9631         * select-msw.c (mswindows_own_selection):
9632         * select-msw.c (mswindows_get_foreign_selection):
9633         * select-msw.c (mswindows_disown_selection):
9634         * select-msw.c (console_type_create_select_mswindows):
9635         * select-msw.c (syms_of_select_mswindows):
9636         Cleaned up the file and implemented the device method
9637         selection_exists_p, which had accidentally been left out.  Also
9638         removed four lisp functions that were remnants from before the
9639         time when the selection code was properly device abstracted.
9640         These functions are no longer needed because there are generic
9641         equivalents, and because they were added recently and don't exist
9642         in FSF Emacs, I don't think there's any problem with just deleting
9643         them.
9644
9645         * sysdep.c:
9646         * sysdep.c (sys_subshell):
9647         Fixed a compile warning, although in this case there's probably
9648         something wrong with this code, and it ought to be looked into
9649         more thoroughly by somebody who understands it.
9650
9651         * window.c:
9652         * window.c (Fwindow_text_area_height):
9653         * window.c (Fwindow_width):
9654         * window.c (Fwindow_full_width):
9655         * window.c (Fwindow_pixel_width):
9656         * window.c (debug_print_window):
9657         * window.c (syms_of_window):
9658         Added functions window-text-area-height and window-full-width,
9659         which are functions for returning various width and height
9660         characteristics of a window. (One of these functions is necessary
9661         for making the file dialog box work correctly, and the other one
9662         was added for completeness.)  Also added a table to the
9663         documentation for window-height which describes the entire scheme
9664         for accessing width and height characteristics of a window.
9665
9666 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9667
9668         * nt.c (fstat): Added a comment for another problem with
9669         non-encapsulated [f]stat(), reported by Adrian Aichner
9670         <aichner@ecf.teradyne.com>.
9671
9672 2000-03-11  Andy Piper  <andy@xemacs.org>
9673
9674         * window.c (make_dummy_parent): initialize subwindow instance
9675         cache.
9676         (Fset_window_configuration): zero extent_modiff.
9677
9678 2000-03-10  Andy Piper  <andy@xemacs.org>
9679
9680         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
9681         more changes can be triggered.
9682         (Fredisplay_frame): ditto.
9683         (Fredraw_device): ditto.
9684         (Fredisplay_device): ditto.
9685         (redisplay_frame): make non-static.
9686         (redisplay_frame): call update_frame_gutter_geometry outside of
9687         display proper.
9688
9689         * gutter.h: declare update_frame_gutter_geometry.
9690
9691         * redisplay.h: declare redisplay_frame.
9692
9693         * gutter.c (update_frame_gutter_geometry): move geometry changes
9694         in update_frame_gutters here. Geometry changes can only occur
9695         outside of redisplay.
9696         (update_frame_gutters): remove geometry change code.
9697         (Fredisplay_gutter_area): make sure that we are in display when we
9698         update and that we have flushed any size changes.
9699
9700 2000-03-11  Andy Piper  <andy@xemacs.org>
9701
9702         * alloc.c (pdump_dump_data): remove i & count shadows.
9703
9704 2000-02-27  Mike Alexander  <mta@arbortext.com>
9705
9706         * sysdep.h: Declare pdump_read_file
9707
9708         * sysdep.c (pdump_read_file): New function
9709
9710         * alloc.c (pdump_load): Call pdump_read_file to get the portable
9711         dump data
9712
9713 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9714
9715         * lrecord.h: add `lrecord_type_pgsetenv'.
9716
9717 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
9718
9719         * symsinit.h: declare (vars|syms)_of* functions.
9720         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
9721
9722 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
9723
9724         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
9725
9726         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
9727         GCCs.
9728
9729         * emacs.c (main_1): Call postgres initialization code.
9730
9731         * postgresql.h: New file.  PostgreSQL RDBMS support.
9732         * postgresql.c: New file.
9733
9734 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9735
9736         * redisplay-output.c (redisplay_output_display_block): Disable
9737         redundant code.
9738
9739 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9740
9741         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
9742         (Fcanna_henkan_next): Ditto.
9743         (Fcanna_bunsetu_henkou): Ditto.
9744         (Fcanna_henkan_kakutei): Ditto.
9745         (Fcanna_henkan_end): Ditto.
9746         (Fcanna_henkan_quit): Ditto.
9747         (Fcanna_henkan_next): Set retun value correctly.
9748         (c2mu): Use unsigned char instead of signed char.
9749
9750 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9751
9752         * emacs.c (main_1): Always call syms_of_gui.
9753         * inline.c: include gui.h
9754
9755 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9756
9757         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
9758         converted to Lisp_Object.
9759         (Qtop_bottom): New variable.
9760         (syms_of_redisplay): Initialize it.
9761         * redisplay.h (Vvisible_bell): Ditto.
9762         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
9763         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
9764         only flash top and bottom.
9765
9766 2000-03-08  Andy Piper  <andy@xemacs.org>
9767
9768         * buffer.c (Frename_buffer): record new buffer name the right way.
9769
9770 2000-03-08  Andy Piper  <andy@xemacs.org>
9771
9772         * glyphs.c (update_subwindow): increase hash depth so that widget
9773         items get picked up properly.
9774
9775         * redisplay-output.c (compare_runes): increase hash depth so that
9776         widget items get picked up properly.
9777
9778 2000-03-08  Andy Piper  <andy@xemacs.org>
9779
9780         * gutter.c (output_gutter): add some debug.
9781
9782         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
9783         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
9784         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
9785
9786         * redisplay-output.c (compare_runes): use display_hash to
9787         determine if glyphs really are not the same.
9788
9789         * glyphs.c (update_subwindow): check display_hash to see if
9790         anything really needs to be updated. If not then do
9791         nothing. Record the display_hash after updating.
9792         (image_instance_equal): compare the image_instance face also.
9793
9794 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
9795
9796         * redisplay.h: Fix comment style.
9797
9798 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9799
9800         * consle-msw.h (struct mswindows_frame):
9801         Added new member paint_pending to indicate whether a WM_PAINT
9802         magic event has been queued for this frame.
9803
9804         * event-msw.c (mswindows_drain_windows_queue):
9805         Don't queue a WM_PAINT magic event if one is already queued.
9806         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
9807
9808         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
9809
9810 2000-03-07  Didier Verna  <didier@xemacs.org>
9811
9812         * dired.c: #include `regex.h' after `sysfile.h'.
9813
9814 2000-03-06  Martin Buchholz  <martin@xemacs.org>
9815
9816         * sound.c (init_nas_sound): Fix compiler warning.
9817
9818         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
9819         (FREE_STRUCT_P):
9820         (MARK_STRUCT_AS_FREE):
9821         (MARK_STRUCT_AS_NOT_FREE):
9822         Make `gcc -fstrict-aliasing' work properly.
9823
9824 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9825
9826         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
9827         (mswindows_delete_device): Call CoUnnitialize().
9828
9829         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
9830
9831 2000-02-25    <CraigL@DyCon.com>
9832
9833         * process-nt.c: MinGW now has <shellapi.h>, but still needs
9834         <errno.h>.
9835
9836         * sysdep.c: This extern declaration for environ prevents MinGW
9837         from finding the variable in CRTDLL.DLL.
9838
9839         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
9840         windows headers.
9841         (SHGFI_EXETYPE): ..
9842         (WM_MOUSEWHEEL): ..
9843         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
9844         definitions.
9845         (MMRESULT): Removed, now defined in cygwin's windows headers.
9846         (TIMECAPS): ..
9847         (uid_t,gid_t,pid_t,ssize_t): ..
9848         (_timeb): Removed, MinGW defines both _timeb and timeb.
9849         (HAVE_H_ERRNO): Added.
9850         (HAVE_TZNAME): Added, configure is not detecting this.
9851
9852 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
9853
9854         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
9855         * syntax.c (syntax_match): Use it.
9856
9857         * cmds.c: Import auto-fill-chars from FSF Emacs.
9858         (Vauto_fill_chars): New variables.
9859         (internal_self_insert): Check Vauto_fill_chars.
9860         (vars_of_cmds):
9861         Declare auto-fill-chars as a Lisp variable and initialize it.
9862
9863 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9864
9865         * fileio.c (Fmake_symbolic_link):
9866         (Ffile_symlink_p):
9867         Run handlers even if local machine doesn't have symlinks.
9868
9869 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9870
9871         * event-msw.c (mswindows_drain_windows_queue):
9872         Don't generate paint magic events for non-XEmacs frames.
9873
9874 2000-03-05  Andy Piper  <andy@xemacs.org>
9875
9876         * redisplay.c (redisplay_frame): generate_displayable_area and
9877         friends assumes that we are not in GC, we therefore have to make
9878         sure that this doesn't happen.
9879
9880         * gutter.c (calculate_gutter_size): generate_displayable_area
9881         assumes that we are not in GC, we therefore have to make sure that
9882         this doesn't happen.
9883
9884 2000-03-05  Martin Buchholz  <martin@xemacs.org>
9885
9886         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
9887
9888 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9889
9890         * redisplay.c (regenerate_window): Make sure we set a sane value
9891         for end_pos even if we jump out of the loop.
9892         (regenerate_window): Answer Ben's question :-).
9893         (start_end_of_last_line): Add may_error argument.
9894         (start_of_last_line):
9895         (end_of_last_line): Pass may_error = 0.
9896         (end_of_last_line_may_error): New function.
9897         (pixel_to_glyph_translation): Use it, so we don't crash in
9898         event_to_glyph.
9899
9900 2000-03-04  Andy Piper  <andy@xemacs.org>
9901
9902         * window.h (struct window): add gutter_extent_modiff.
9903
9904         * window.c (allocate_window): zero out gutter_extent_modiff.
9905
9906         * redisplay.h: declare sync_display_line_structs.
9907
9908         * redisplay.c (add_glyph_rune): add a better comment.
9909
9910         * redisplay-output.c (sync_display_line_structs): made non-static.
9911         (compare_runes): remove unneccesary glyph cachel access.
9912
9913         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
9914
9915         * gutter.c (output_gutter): don't output the gutter if extent
9916         changes only involve extents in buffers. use 4 sets of display
9917         lines.
9918         (gutter_extent_signal_changed_region_maybe): new function. Mark
9919         extents in gutters as changed.
9920         (update_frame_gutters): use 4 sets of display lines.
9921         (reset_gutter_display_lines): ditto.
9922         (free_frame_gutters): ditto.
9923         (redraw_exposed_gutter): force output of gutters.
9924
9925         * frame.h (struct frame): add 4 sets of gutter display lines.
9926
9927         * extents.c: (extent_changed_for_redisplay): signal changes to
9928         extents in strings in the gutter as well as extents in buffers.
9929
9930 2000-03-02  Andy Piper  <andy@xemacs.org>
9931
9932         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
9933
9934         * frame.c (Fmake_frame): make sure the gutters get initialized
9935         after the frame is visible.
9936         (set_frame_selected_window): re-arrange compilation macros a
9937         little.
9938         (change_frame_size_1): mark gutters changed.
9939
9940         * device.c (Fset_device_class): mark gutters changed.
9941
9942 2000-03-01  Andy Piper  <andy@xemacs.org>
9943
9944         * window.c (window_top_frame_gutter_height): deleted.
9945         (window_bottom_frame_gutter_height): ditto.
9946         (window_left_frame_gutter_height): ditto.
9947         (window_right_frame_gutter_height): ditto.
9948         (window_top_gutter_height): don't use them.
9949         (window_bottom_gutter_height): ditto.
9950         (window_left_gutter_width): ditto.
9951         (window_right_gutter_width): ditto.
9952         (Fsplit_window): ditto.
9953         (Fwindow_pixel_edges): don't use border dimensions here.
9954
9955         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
9956         (update_scrollbar_instance): ditto.
9957
9958         * redisplay.c (generate_modeline): don't take gutters into account.
9959         (generate_modeline): ditto.
9960         (redisplay_frame): small gutter display optimization.
9961
9962         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
9963
9964         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
9965         gutters into account.
9966
9967         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
9968         for window position and type.
9969
9970         * gutter.c (get_gutter_coords): fix for frame gutters.
9971         (update_frame_gutters): update frame geometry if the gutters have
9972         changed.
9973         (init_frame_gutters): record current gutter geometries.
9974
9975         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
9976         var.
9977         (mswindows_widget_instantiate): ditto.
9978
9979         * frame.h (struct frame): add current_gutter_bounds.
9980
9981         * frame.c (change_frame_size_1): position window and minibuffer
9982         appropriately taking into account the frame gutters.
9983
9984         * frame-x.c: (x_initialize_frame_size): take into account the
9985         frame gutters.
9986
9987 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
9988
9989         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
9990
9991 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
9992
9993         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
9994
9995 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
9996
9997         * file-coding.c (reset_decoding_stream): Clear previous
9998         detection state when autodetect.
9999
10000 2000-02-29  Didier Verna  <didier@xemacs.org>
10001
10002         * extents.c (set_extent_glyph_1): don't require extents to be
10003         attached.
10004
10005 2000-02-27  Andy Piper  <andy@xemacs.org>
10006
10007         * gutter.c (Fset_default_gutter_position): don't default left and
10008         right gutter visibility to t.
10009         (Fset_default_gutter_position): run
10010         default-gutter-position-changed-hook.
10011         (syms_of_gutter): add default-gutter-position-changed-hook.
10012
10013 2000-02-26  Andy Piper  <andy@xemacs.org>
10014
10015         * specifier.c (Fmake_specifier): add gutter references.
10016
10017         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10018
10019         * lisp.h: declare Fvalid_plist_p.
10020
10021         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10022         as changed.
10023         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10024         well as its visibility so that it gets reconstructed.
10025         (construct_window_gutter_spec): new function. Construct a string
10026         to be displayed in the gutter from a plist of strings. Take care
10027         to only use elements that are declared as visible.
10028         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10029         WINDOW_GUTTER.
10030         (gutter_validate): allow plists of strings in the specifier.
10031         (gutter_specs_changed): construct the real_gutter from the gutter
10032         specs using construct_window_gutter_spec.
10033         (gutter_visible_validate): gutter-visible is a new specifier type.
10034         (Fgutter_visible_specifier_p): new function for the new specifier.
10035         (syms_of_gutter): declare gutter-visible and
10036         Fgutter_visible_specifier_p.
10037         (specifier_type_create_gutter): intitalize new gutter-visible
10038         specifier.
10039         (reinit_specifier_type_create_gutter): ditto.
10040         (specifier_vars_of_gutter): use new specifier type for gutter
10041         visibility.
10042         (init_frame_gutters): construct real_gutter correctly.
10043         (Fgutter_specifier_p): beef up documentation.
10044         (Fgutter_size_specifier_p): ditto.
10045
10046         * winslots.h: add real_gutter slots.
10047
10048 2000-02-25  Andy Piper  <andy@xemacs.org>
10049
10050         * device-msw.c: Be kind to older cygwin versions. From Raymond
10051         Toy <toy@rtp.ericsson.se>.
10052
10053         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10054         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10055
10056 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10057
10058         * elhash.c (MARK_OBJ): Practice macro hygiene.
10059
10060 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10061
10062         * miscplay.c: s/__inline__/inline/g;
10063         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10064         (get_device_compdc): INLINE ==> static inline
10065         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10066         find -name '*.h' | \
10067         xargs global-replace \
10068         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10069
10070 2000-02-25  Andy Piper  <andy@xemacs.org>
10071
10072         * window.c (window_top_frame_gutter_height): new function.
10073         (window_top_window_gutter_height): ditto.
10074         (window_top_gutter_height): use them.
10075         (window_bottom_frame_gutter_height): new function.
10076         (window_bottom_window_gutter_height): ditto.
10077         (window_bottom_gutter_height): use them.
10078         (window_left_window_gutter_width): new function.
10079         (window_left_frame_gutter_width): ditto.
10080         (window_left_gutter_width): use them.
10081         (window_right_window_gutter_width): new function.
10082         (window_right_frame_gutter_width): ditto.
10083         (window_right_gutter_width): use them.
10084         (window_pixel_height): new function. calulate window pixel height
10085         with frame gutter involvement.
10086         (Fsplit_window): calculate new sizes taking frame gutters into
10087         account.
10088         (window_char_height_to_pixel_height): don't include frame gutters.
10089         (window_char_height): use window_pixel_height.
10090         (window_pixheight): rename from window_pixel_height.
10091         (change_window_height): use it.
10092         (window_pixel_height_to_char_height): don't include frame gutters.
10093         (window_char_width_to_pixel_width): ditto.
10094
10095 2000-02-25  Andy Piper  <andy@xemacs.org>
10096
10097         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10098         if it is.
10099
10100 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10101
10102         * alloc.c (staticpro):
10103         (staticpro_nodump):
10104         (dumpstruct):
10105         (dumpopaque):
10106         (pdump_wire):
10107         (pdump_wire_list):
10108         (compact_string_chars):
10109         (pdump_dump_wired):
10110         Convert:  if (foo) abort();  ==>  assert (! foo);
10111
10112         * eldap.c (Fldap_search_basic):
10113         (Fldap_add):
10114         (Fldap_modify):
10115         (Fldap_delete):
10116         Fix compiler warnings, and possible crashes if (random) return
10117         value were to be used.
10118
10119 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10120
10121         * device-msw.c: Workaround ResetDC failure.
10122
10123         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10124         applying a devmode.
10125
10126         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10127         (mswindows_text_width): Do not start printer page.
10128
10129         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10130
10131         * glyphs-msw.c: Added image methods to msprinter console and
10132         msprinter-specific image instantiation.
10133
10134 2000-02-20  Mike Alexander  <mta@arbortext.com>
10135
10136         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10137         to avoid crashes when selection-sets-clipboard is on
10138         (mswindows_own_selection): ditto
10139
10140 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10141
10142         * glyphs-msw.c:
10143         * redisplay-msw.c (get_frame_dc):
10144         (get_frame_compdc):
10145         * console-msw.h:
10146         * device-msw.c (mswindows_init_device):
10147         (mswindows_delete_device):
10148         (msprinter_init_device):
10149         (msprinter_delete_device):
10150         * frame-msw.c (mswindows_init_frame_1):
10151         (mswindows_delete_frame):
10152         (msprinter_init_frame_3):
10153         (msprinter_delete_frame): Move compatible DC to device object from
10154         frame object, for both mswindows and msprinter. Only one at a time
10155         is needed, it is a real waste to have one per frame!
10156
10157 2000-02-23  Andy Piper  <andy@xemacs.org>
10158
10159         * glyphs.c: add dynamic width and height elements.
10160         (image_instance_equal): ditto.
10161
10162         * glyphs-widget.c (widget_query_geometry): calculate width and
10163         height dynamically if required.
10164         (initialize_widget_image_instance): initialize dynamic dimensions.
10165         (widget_instantiate): pick-up dynamic dimensions.
10166
10167         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10168         dynamic determination. Add appropriate macros.
10169
10170         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10171         dimensions safe.
10172         (WINDOW_GUTTER_SIZE): ditto.
10173         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10174
10175         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10176         inline.
10177         (get_frame_dc): ditto.
10178
10179         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10180         here.
10181
10182 2000-02-23  Martin Buchholz <martin@xemacs.org>
10183
10184         * XEmacs 21.2.31 is released.
10185
10186 2000-02-22  Ben Wing <ben@xemacs.org>
10187
10188         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10189
10190 2000-02-22  Andy Piper  <andy@xemacs.org>
10191
10192         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10193
10194 2000-02-21  Mike Sperber <mike@xemacs.org>
10195
10196         * .dbxrc:
10197         * .gdbinit:
10198         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10199         variables.
10200
10201 2000-02-21  Mike Sperber <mike@xemacs.org>
10202
10203         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10204
10205 2000-02-21  Martin Buchholz <martin@xemacs.org>
10206
10207         * XEmacs 21.2.30 is released.
10208
10209 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10210
10211         Performance hacking.
10212         * *.c (syms_of_*):
10213         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10214         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10215         * emacs.c (main_1):
10216         * lisp.h (DEFUN):
10217         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10218         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10219         * symeval.h (DEFVAR_SYMVAL_FWD):
10220         * symbols.c (guts_of_unbound_marker):
10221         Make all c_readonly objects also lisp_readonly and marked for life.
10222         * lrecord.h (struct lrecord_implementation):
10223         Document flags better.
10224         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10225         * lrecord.h (DECLARE_LRECORD):
10226         * lrecord.h (XSETRECORD):
10227         * lrecord.h (RECORDP):
10228         * lrecord.h (RECORD_TYPEP):
10229         * lrecord.h (RECORD_MARKER): New.
10230         * lrecord.h (error_check_*):
10231         * lrecord.h (CONCHECK_NONRECORD):
10232         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10233         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10234         * lrecord.h (set_lheader_implementation):
10235         * lrecord.h (enum lrecord_type): New.
10236         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10237         * alloc.c (disksave_object_finalization_1):
10238         * alloc.c (mark_object):
10239         * alloc.c (lrecord_type_index):
10240         * alloc.c (tick_lcrecord_stats):
10241         * alloc.c (Fgarbage_collect):
10242         * alloc.c (init_alloc_once_early):
10243         * alloc.c (pdump_load):
10244         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10245         * alloc.c (lrecord_type_index): Delete.
10246         Make lisp object type indexes be constant.
10247           Makes (byte-compile) 5% faster.
10248         Put all marker functions into their own array.
10249           Makes (garbage-collect) 5% faster.
10250         Optimize SYMBOL_VALUE_MAGIC_P.
10251           Makes (byte-compile) 2-3% faster.
10252         * config.h.in (gc_checking_assert): New.
10253         * alloc.c: Use gc_checking_assert().
10254         * .dbxrc: Make compatible with new object type implementation.
10255         * .gdbinit: Make compatible with new object type implementation.
10256         * alloc.c: Delete all symbols defined only for debugging, such as
10257         Lisp_Type_Vector and lrecord_charset.
10258
10259 2000-02-21  Andy Piper  <andy@xemacs.org>
10260
10261         * gui-msw.c (Fmswindows_shell_execute): fix file location
10262         problems.
10263
10264         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10265         unshowing so that set_window_buffer doesn't undo
10266         kill_buffer_hook's hard work.
10267
10268         * glyphs-widget.c (tab_control_query_geometry): don't count the
10269         first item when calculating geometry.
10270
10271         * glyphs.c (map_subwindow): remove redundant code.
10272         (update_frame_subwindows): be more circumspect about when to
10273         update subwindows.
10274
10275         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10276         when items haven't changed. Update faces if faces have changed as
10277         well as just the widget face.
10278         (x_tab_control_update): Update faces if faces have changed as well
10279         as just the widget face.
10280
10281 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10282
10283         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10284         registration.
10285         (build_syscolor_string): Use mswindows_color_to_string to try to
10286         get a named color.
10287         (mswindows_device_system_metrics): Reverse the foreground and
10288         background colors so that they match the documentation.
10289
10290         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10291         they match the default Windows palette.
10292         (mswindows_color_to_string): New function.
10293
10294 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10295
10296         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10297
10298 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10299
10300         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10301         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10302
10303         * symbols.c (init_symbols_once_early): Removed obsolete
10304         DATA_SEG_BITS related kludge.
10305         (defvar_magic): Ditto.
10306
10307         * malloc.c: Removed obsolete DATA_SEG_BITS
10308         * ralloc.c: Ditto.
10309         * mem-limits.h: Ditto.
10310
10311         * Makefile.in.in: Removed obsolete HAVE_SHM
10312         * emacs.c: Ditto.
10313
10314 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10315
10316         *  device-msw.c (mswindows_delete_device): Free DDE string
10317         handles.
10318
10319 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10320
10321         * keymap.c (get_keyelt):
10322         * unexnt.c (unexec):
10323         * vm-limit.c (memory_warnings):
10324         * ntheap.c (recreate_heap):
10325         * ntheap.h (UNINIT_PTR):
10326         * select-msw.c (Fmswindows_get_clipboard):
10327         (Fmswindows_set_clipboard):
10328         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10329         * objects-msw.c:
10330         * menubar-msw.c (displayable_menu_item):
10331         * glyphs-msw.c:
10332         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10333         * sysdep.c (sys_subshell):
10334         * process-nt.c (nt_create_process):
10335         * nt.c (normalize_filename):
10336         (dostounix_filename):
10337         (unixtodos_filename):
10338         * ntproc.c (win32_executable_type):
10339         * ntplay.c (play_sound_data_1):
10340         (play_sound_file):
10341         * editfns.c (get_home_directory):
10342         * event-msw.c (struct winsock_stream):
10343         (mswindows_dde_callback):
10344         * device-msw.c (msprinter_init_device):
10345         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10346
10347         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10348         mswindows_clear_toolbar were swapped!
10349
10350         * objects-msw.c:(colormap_t):
10351         (fontmap_t):
10352         * emacs.c (struct standard_args): Fixed const jumble.
10353
10354         * glyphs-widget.c (update_widget): Fixed comparison notation.
10355
10356         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10357
10358         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10359         __declspec(noreturn) syntax.
10360
10361 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10362
10363         * eldap.c (Fldap_open):
10364         (Fldap_search_basic):
10365         (Fldap_add):
10366         (Fldap_modify):
10367         Use new coding system conversion macros.
10368
10369 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10370
10371         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10372
10373 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10374
10375         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10376         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10377
10378         * eldap.c (Qadd, Qreplace): New constant symbols
10379         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10380         interruptions by XEmacs signals
10381         Remove unnecessary calls to slow_down_interrupts and
10382         speed_up_interrupts
10383         (Fldap_search_basic): Renamed from Fldap_search_internal
10384         Added new optional parameter VERBOSE that triggers the
10385         display of progress messages
10386         Remove unnecessary calls to slow_down_interrupts and
10387         speed_up_interrupts
10388         LDAP result code analysis rewritten
10389         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10390         (syms_of_eldap): Define the new symbols and functions
10391
10392
10393 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10394
10395         * realpath.c: Determine PATH_MAX maximally portably.
10396
10397         * insdel.c (bytecount_to_charcount): Optimize.
10398         The function used to be optimized for entirely ASCII sequences.
10399         Now it is optimized for successive characters from the same
10400         charset.  This also wins big for _mostly_ ASCII sequences.
10401
10402         * fileio.c (Ffile_truename): convert return from realpath() using
10403         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10404         - Rewrite GCPROing slightly.
10405
10406         * sysdep.c (sys_open): Do filename conversion, like all other
10407         sys_* functions.  Fixes bug:
10408         (let ((file-name-coding-system 'iso-8859-2))
10409            (write-region x y latin2-name))
10410         ==> writes filename using internal encoding.
10411
10412 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10413
10414         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10415         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10416         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10417         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10418         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10419         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10420         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10421         (CONST_IF_NOT_DEBUG): Delete.
10422         * alloc.c (this_one_is_unmarkable): Delete.
10423         (mark_object): Don't check for this_one_is_unmarkable. Use the
10424         c_readonly flag instead.
10425         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10426
10427 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10428
10429         * event-msw.c (mswindows_drain_windows_queue):
10430         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10431         away redundant repaint events.
10432
10433 2000-02-17  Andy Piper  <andy@xemacs.org>
10434
10435         * redisplay.h: declare mark_redisplay_structs.
10436
10437         * redisplay.c (redisplay_window):
10438         (redisplay_frame): don't check subwindows_state_changed.
10439         (mark_redisplay): mark gutters here.
10440
10441         * glyphs.c: (instantiate_image_instantiator): always layout if we
10442         haven't done so already.
10443         (allocate_image_instance): don't mark as dirty.
10444         (update_subwindow): bind inhibit_quit.
10445
10446         * gutter.c (mark_gutters): new function.
10447
10448         * glyphs-x.c (x_update_widget): Always resize to get round a
10449         widget bug.
10450
10451         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10452         breaking absolutely everything.
10453
10454         * gutter.h: declare mark_gutters.
10455
10456 2000-02-16  Martin Buchholz <martin@xemacs.org>
10457
10458         * XEmacs 21.2.29 is released.
10459
10460 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10461
10462         * fns.c (size_bit_vector): Fix computation of the size.
10463
10464 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10465
10466         * *.[ch]: Change CONST to const globally.
10467         find -name '*.[ch]' | \
10468         xargs global-replace \
10469         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10470         - Remove vestigial references to CONST_IS_LOSING
10471
10472 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10473
10474         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10475         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10476         events instead of dispatching them directly.
10477         (mswindows_handle_paint): New function to do repainting.
10478         (mswindows_wnd_proc):
10479         (emacs_mswindows_handle_magic_event): Call above function.
10480
10481 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10482
10483         * objects-msw.c (mswindows_create_font_variant): Return the new
10484         font handle.
10485         (initialize_font_instance): Get font metrics from the underlined
10486         variant of the font to cope with the case where the underlined
10487         font has a bigger descent.
10488
10489 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10490
10491         * gui.c (gui_item_accelerator): Return the first underlined
10492         character in item name.
10493
10494 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10495
10496         * lisp.h: Added Qprinter.
10497
10498         * general.c (syms_of_general): Initialized it.
10499
10500         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10501         (get_frame_dc):
10502         (get_frame_compdc): Made inline.
10503
10504         * console.h (struct console_methods): Added eject_page method.
10505
10506         * frame.h: Added FRAME_DISPLAY_P and friends.
10507         Aligned backslahes in many macros in more readable fashion.
10508         Added page_number to struct frame, and an accessor macro
10509         for it.
10510
10511         * defice.h: Added DEVICE_DISPLAY_P and friends.
10512
10513         * device.c (Fdevice_printer_p): Used these.
10514
10515         * frame.c (allocate_frame_core): Initialize page number.
10516         (Fprint_job_page_number):
10517         (Fprint_job_eject_page): Implemented.
10518
10519         * frame-msw.c (msprinter_eject_page): Added method.
10520         (msprinter_start_page): Added.
10521
10522         * window.c (Fwindow_truncated_p): Fixed docstring.
10523         (Fwindow_last_line_visible_height): Implemented.
10524
10525 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10526
10527         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10528
10529 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10530
10531         * syntax.c (scan_words): Always advance at least one character.
10532
10533 2000-02-13  Andy Piper  <andy@xemacs.org>
10534
10535         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10536         to make sure the glyph is in the cachels.
10537
10538         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10539         global image instance flag.
10540         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10541         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10542
10543         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10544         (Fset_image_instance_property): mark layout as changed.
10545         (invalidate_glyph_geometry_maybe): mark layout as changed.
10546         (glyph_width): use new NEEDS_LAYOUT macro.
10547         (glyph_ascent): ditto.
10548         (glyph_descent): ditto.
10549         (glyph_height): ditto.
10550         (image_instance_layout): mark layout as clean after laying out.
10551         (update_subwindow): don't mark layout as clean here.
10552
10553         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10554         should no longer be needed.
10555
10556         * glyphs-x.c (x_update_widget): sanitize asserts.
10557         (x_finalize_image_instance): sanitize assignment to widgets.
10558
10559         * glyphs-widget.c (widget_instantiate): don't need to clear the
10560         layout flag here.
10561
10562 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10563
10564         * sysdep.c (getcwd): Use standard prototype.
10565         * sysdep.h (getcwd): Use standard prototype.
10566
10567         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10568         (sequence, start, end).
10569         Remove redundant type checking.
10570         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10571         view of `caller-protects') to avoid a crash where the real fix was
10572         found elsewhere.
10573
10574 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10575
10576         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10577
10578         * s/sol2.h: Remove feature macro initialization.
10579
10580         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10581         (vector_hash): New.  Code from internal_hash.
10582         * lrecord.h:
10583         Fix up allocation subsystem comments.
10584
10585         * config.h.in: Add __EXTENSIONS__ for Solaris.
10586
10587         * systime.h (EMACS_GETTIMEOFDAY): New.
10588         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10589         Remove Solaris-specific code.
10590         Use void* for the (ignored) second arg for gettimeofday().
10591
10592         * elhash.c (hash_table_hash): Implement it, finally.
10593         * elhash.c:  Use hashcode_t.
10594
10595         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10596         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10597
10598         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10599         * fns.c (size_bit_vector):
10600         * alloc.c (size_vector):
10601         (make_vector_internal):
10602         (make_bit_vector_internal):
10603         (sweep_bit_vectors_1):
10604         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10605
10606 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10607
10608         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10609         Include strings.h to avoid warnings for bzero and strcasecmp.
10610
10611 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10612
10613         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10614         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10615
10616         * fns.c (size_bit_vector): New.  Declare bit vectors as a
10617         sequence.
10618
10619 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10620
10621         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
10622         use a value field instead.
10623         (symbol_value_forward_forward): Use value field.
10624         (DEFVAR_SYMVAL_FWD): Use value field.
10625         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
10626         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
10627         (DEFVAR_CONST_INT): Ditto.
10628         (DEFVAR_BOOL): Ditto.
10629         (DEFVAR_CONST_BOOL): Ditto.
10630         (DEFVAR_INT_MAGIC): Ditto.
10631         (DEFVAR_BOOL_MAGIC): Ditto.
10632
10633         * symbols.c (guts_of_unbound_marker): Use value field.
10634         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
10635         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
10636
10637         * lisp.h: Declare dumpopaque and noninteractive1.
10638
10639         * alloc.c (dumpopaque): Added.
10640         (pdump_dump_opaquevec): Added.
10641         (pdump): Call pdump_dump_opaquevec to dump opaque data.
10642         (pdump_load): Reload opaque data.  Sync noninteractive1 with
10643         noninteractive.
10644
10645 2000-02-10  Andy Piper  <andy@xemacs.org>
10646
10647         * glyphs.c (image_instance_layout): if the size changes, mark it
10648         as such.
10649
10650         * redisplay-output.c (redisplay_output_layout): Update the
10651         subwindow here.
10652         (redisplay_output_subwindow): ditto.
10653
10654         * glyphs.c (update_subwindow): make sure we reset flags for
10655         layouts as well as everything else.
10656
10657         * glyphs-widget.c (layout_layout): don't need to set the instances
10658         dimensions here.
10659
10660 2000-02-09  Martin Buchholz  <martin@xemacs.org>
10661
10662         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
10663         not HAVE_DLOPEN, which is a lower-level thing.
10664
10665         * .cvsignore: Ignore gmon.out
10666
10667 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
10668
10669         * .cvsignore: Ignore portable dumper xemacs.dmp file
10670
10671 2000-02-09  Andy Piper  <andy@xemacs.org>
10672
10673         * redisplay-output.c (redisplay_output_layout): be more clever
10674         about when we output based on the changed flags.
10675
10676         * glyphs.h (struct image_instantiator_methods): add update_method.
10677         (struct Lisp_Image_Instance): add changed flags. Declare new
10678         macros for manipulating them.
10679
10680         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
10681         (image_instance_parent_glyph): find an image_instance's parent
10682         glyph or image_instance.
10683         (image_instance_layout): mark the size as changed.
10684         (set_image_instance_dirty_p): new function. mark an image
10685         instance, plus all of its parents, as dirty.
10686         (Fset_image_instance_property): use it.
10687         (Fglyph_animated_timeout_handler): use it.
10688         (update_subwindow): call update_widget and device methods for
10689         update_subwindow. Mark all changed flags as clean.
10690         (Fresize_subwindow): mark size as changed.
10691
10692         * glyphs-x.c (x_finalize_image_instance): try and detect gc
10693         failures.
10694         (x_update_subwindow): only resize subwindows here.
10695         (x_update_widget): new function. Update all changed properties of
10696         a widget.
10697         (x_resize_subwindow): deleted.
10698         (x_widget_set_property): deleted.
10699         (x_progress_gauge_set_property): deleted.
10700         (x_progress_gauge_update): new function. Implement recorded
10701         changes.
10702         (x_tab_control_update): ditto.
10703         (x_tab_control_set_property): deleted.
10704         (console_type_create_glyphs_x): declare new functions.
10705         (image_instantiator_format_create_glyphs_x): ditto.
10706
10707         * glyphs-widget.c (widget_set_property): mark text changed.
10708         (update_widget): new function. Update properties of a widget.
10709         (widget_instantiate): for layouts make sure we set their
10710         children's parent correctly.
10711         (tab_control_set_property): new function. Record changes that will
10712         take place under redisplay's control.
10713         (progress_gauge_set_property): ditto.
10714         (image_instantiator_progress_guage): declare new functions.
10715         (image_instantiator_tab_control): ditto.
10716
10717         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
10718         now.
10719         (mswindows_update_widget): new function. Update all properties on
10720         a widget that have changed.
10721         (mswindows_button_update): new function. Update a button's set
10722         state.
10723         (mswindows_tab_control_update): new function. Update the items in
10724         a tab.
10725         (mswindows_tab_control_set_property): deleted.
10726         (mswindows_progress_gauge_update): new function. Update the
10727         progress gauge's progress.
10728         (mswindows_widget_set_property): deleted. This is all done
10729         asynchronously now.
10730         (mswindows_progress_gauge_set_property): ditto.
10731         (console_type_create_glyphs_mswindows): declare new methods.
10732         (image_instantiator_format_create_glyphs_mswindows): ditto.
10733
10734         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
10735         (msprinter_set_frame_properties): ditto.
10736
10737         * console.h (struct console_methods): Add update_widget_method.
10738
10739 2000-02-09  Andy Piper  <andy@xemacs.org>
10740
10741         * gui-msw.c (Fmswindows_shell_execute): Make
10742         mswindows-shell-execute industrial strength.
10743
10744 2000-02-08  Martin Buchholz  <martin@xemacs.org>
10745
10746         * lrecord.h: Make macro argument `props' match member function `plist'.
10747         * fns.c (Fget):
10748         * fns.c (Fput):
10749         * fns.c (Fremprop):
10750         * fns.c (Fobject_plist):
10751         * alloc.c:
10752         * symbols.c:
10753         Object property list frobbing cleanup.
10754         - Allow any lisp object (compared with `eq'), not just symbols, as
10755           keys in object plists.
10756         - Move symbol plist frobbing into symbols.c, where it belongs.
10757         - Move string plist frobbing into alloc.c, where it belongs.
10758         - Everything's an lrecord now, so no need to test for symbolp, etc.
10759         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
10760
10761         * extents.c: Reorder code to remove declarations.
10762
10763         * frame.h (store_in_alist): Remove useless declaration.
10764
10765 2000-02-07  Martin Buchholz  <martin@xemacs.org>
10766
10767         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
10768         * config.h.in: Add HAVE_XCONVERTCASE.
10769
10770 2000-02-07  Andy Piper  <andy@xemacs.org>
10771
10772         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
10773         it breaks many things.
10774
10775 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10776
10777         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
10778         actually can start a common comment type.
10779         * src/syntax.h (SYNTAX_END_P): ditto for end.
10780
10781 2000-02-07  Martin Buchholz <martin@xemacs.org>
10782
10783         * XEmacs 21.2.28 is released.
10784
10785 2000-02-06  Martin Buchholz  <martin@xemacs.org>
10786
10787         * event-Xt.c (x_keysym_to_character): New.
10788         (maybe_define_x_key_as_self_inserting_character): New.
10789         (x_has_keysym): New.
10790         Auto-define all keys on the keyboard as self-insert-key.
10791
10792 2000-02-02  Martin Buchholz  <martin@xemacs.org>
10793
10794         * menubar.c (vars_of_menubar): A small code simplification.
10795
10796         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
10797
10798         * ExternalShell.c:
10799         * ExternalClient.c:
10800         * EmacsShell-sub.c:
10801         * EmacsManager.c:
10802         * EmacsFrame.c:
10803         Use consistent style for specifying X resources.
10804
10805         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
10806         This makes (dontusethis-set-symbol-value-handler) actually usable.
10807
10808         * lrecord.h (lrecord_decription_type):
10809         * alloc.c (pdump_register_sub):
10810         (pdump_dump_data):
10811         (pdump_reloc_one):
10812         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
10813         Comply with XEmacs coding style.
10814         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
10815         args, and XD_LISP_OBJECT_ARRAY with 3 args.
10816
10817         * keymap.c (Faccessible_keymaps):
10818         Make (accessible-keymaps map "\C-h") do the Right Thing.
10819         Make (accessible-keymaps map []) do the Right Thing.
10820         Make (accessible-keymaps map "") do the Right Thing.
10821         (check_keymap_definition_loop): New function.
10822         (keymap_store_internal): Keep luser from shooting self in foot,
10823           via (define-key ctl-x-4-map "p" global-map).
10824         Remove fullness slot from struct Lisp_Keymap, since hash tables
10825         are now reliable.
10826         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
10827
10828 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10829
10830         * redisplay.c (init_redisplay): Fix small memory leak.
10831         * elhash.h:
10832         * elhash.c (pdump_reorganize_hash_table):
10833         Rename from reorganize_hash_table. Change prototype.
10834         Reuse the original memory for hentries.  Save 100k.
10835         * alloc.c (PDUMP_READ): new macro.
10836         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
10837         * alloc.c: No need to #ifndef before #undef.
10838
10839         * print.c: Allow debug_print() to print readably by modifying
10840         debug_print_readably.  Use consistent variable names.
10841
10842         * .dbxrc: Try to get things to work even if stopped in a function
10843         without source available by explicitly specifying source files.
10844 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10845
10846         * unexnt.c (_start): Removed bogus code which caused loading heap
10847         from differrent executable file.
10848         Removed bogus assignment to _fmode, which caused inconsistencies.
10849
10850 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10851
10852         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
10853         Have spawnve encapsulation regard DONT_ENCAPSULATE.
10854         Do not preliminary `#define signal sigset'.
10855
10856         * systime.h: Do not prototype environ on windows nt and cygwin,
10857         this conflicts with system header.
10858
10859         * syssignal.h: Use correct define for WINDOWSNT
10860
10861         * sysdep.h: Do not prototype environ on windows nt, this conflicts
10862         with system header.
10863
10864         * sysdep.c (near start of file): Fixed commentary and rearranged
10865         ifdefs in readable order.
10866         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
10867         (start_of_text):
10868         (end_of_text):
10869         (end_of_data): Do not compile in if using PDUMP.
10870
10871         * symsinit.h: Prototyped vars_of_nt().
10872
10873         * ntproc.c (windows9x_p): Added, instead of os_subtype.
10874         (find_child_console): Use it.
10875         (sys_kill): Use it.
10876
10877         * ntheap.h: Do not extern os_subtype.
10878
10879         * ntheap.c (cache_system_info): Do not cache unneeded:
10880         nt_major_version, nt_minor_version and os_subtype.
10881         (recreate_heap): Do not compile in when PDUMPing.
10882
10883         * nt.c (geteuid and friends): Use the new varibale
10884         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
10885         (init_user_info): Removed the above mentioned hackery.
10886         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
10887         stat has been fixed in the C runtime.
10888         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
10889
10890         * file-coding.c (struct file_coding_dump): Do not define
10891         ucs_to_mule_table in the struct if not MULE.
10892         (struct struct lrecord_description fcd_description_1): Do not dump
10893         the above.
10894
10895         * emacs.c (main_1): Call vars_of_nt().
10896         (right before Fdump_emacs_data): Don't need lastfile if using both
10897         portabe dumper and system malloc.
10898
10899         * alloc.c (Fmemory_limit): Conditionalized out.
10900         (pdump): Use OPEN_BINARY for the portable dump file.
10901         (pdump_load): Ditto.
10902
10903 2000-02-02  Mike Alexander  <mta@arbortext.com>
10904
10905         * nt.c (convert_time): Set tm_isdst before calling mktime and
10906         avoid calling it at all if the compiler supports 64 bit integers.
10907         Also initialize utc_base_ft before using it.
10908
10909 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10910
10911         * frame.c (change_frame_size_1): Take f->internal_border_width
10912         into consideration when calculating the width of the frame.
10913
10914 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10915
10916         * window.c (frame_min_height):
10917         (frame_size_valid_p):
10918         (frame_pixsize_valid_p): Added.
10919         (check_frame_size): Generalized.
10920
10921         * window.h: Prototyped the above.
10922
10923         * lisp.h:
10924         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
10925         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
10926         Deleted Vwin32_* and Vbinary_process_* unused variables.
10927
10928         * device-msw.c (msprinter_init_device): Do not get printer font
10929         list; Added DEVMODE functions.
10930
10931         * frame-msw.c: Added lots of printer code.
10932
10933         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
10934         general.c.
10935
10936         * console-msw.h: Added more msprinter device private slots.
10937
10938 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10939
10940         * event-msw.c (key_needs_default_processing_p): Added.
10941         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
10942
10943 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10944
10945         * glyphs.c (image_instance_layout): Mark image instance as clean
10946         after layout.
10947         (glyph_dirty_p): Removed redundant function.
10948         (invalidate_glyph_geometry_maybe): Added.
10949         (update_glyph_cachel_data): Call it.
10950
10951         * glyphs.h: Prototyped it.
10952
10953         * redisplay.c (add_glyph_rune): Call it.
10954         (redisplay_window): Reset glyphs cachels when frame faces have
10955         changed, thus forcing recomputation of built-in border glyphs.
10956
10957 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10958
10959         * Makefile.in.in: Make portable dumper and purify play well together.
10960         Add imperfect, but better than nothing, support for pdump.
10961         Remove xemacs.dmp when temacs is re-generated.
10962         Don't ignore errors when dumping xemacs.
10963
10964         * symbols.c (maybe_call_magic_handler): Remove one magic number.
10965
10966 2000-01-28  Andy Piper  <andy@xemacs.org>
10967
10968         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
10969         (setup_normal_frame): ditto.
10970         (setup_frame_without_minibuffer): ditto.
10971         (setup_minibuffer_frame): ditto.
10972         (delete_frame_internal): ditto.
10973         (Fmake_frame_invisible): ditto.
10974         (Ficonify_frame): ditto.
10975
10976         * window.h: change Fset_window_buffer signature.
10977
10978         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
10979         (Fset_window_buffer): allow recording of buffer if the window is
10980         the selected window.
10981         (window_loop): Use new Fset_window signature.
10982
10983 2000-01-23  Daniel Pittman  <daniel@danann.net>
10984
10985         * config.h.in: Added template for `HAVE_ATHENA_3D'
10986
10987 2000-01-29  Andy Piper  <andy@xemacs.org>
10988
10989         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
10990
10991         * gutter.c (output_gutter): Don't output if the window isn't live.
10992
10993 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10994
10995         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
10996         of 01/12/00: Moved SetFocus back here where it belongs.
10997
10998 2000-01-23  Andy Piper  <andy@xemacs.org>
10999
11000         * s/cygwin32.h: declare printer things.
11001
11002 2000-01-26  Andy Piper  <andy@xemacs.org>
11003
11004         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11005         Alexander.
11006
11007 2000-01-24  Andy Piper  <andy@xemacs.org>
11008
11009         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11010         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11011
11012         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11013
11014         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11015
11016         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11017
11018         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11019         (mswindows_output_display_block): Avoid local shadows.
11020
11021         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11022         (mswindows_enqueue_mouse_button_event): ditto.
11023         (mswindows_handle_gui_wm_command): remove declaration.
11024
11025         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11026         warnings.
11027
11028         * console-msw.h: Avoid shadows.
11029         (mswindows_get_toolbar_button_text):
11030         (emacs_mswindows_create_stream_pair):
11031         (emacs_mswindows_delete_stream_pair):
11032         (mswindows_handle_toolbar_wm_command): declare.
11033
11034         * device-msw.c (build_syscolor_string): Avoid shadows.
11035
11036 2000-01-23  Andy Piper  <andy@xemacs.org>
11037
11038         * glyphs-widget.c (widget_instantiate): reverse the items for
11039         layouts so that children are in the expected order.
11040
11041 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11042
11043         * ralloc.c: safe_bcopy ==> memmove
11044         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11045         * s/msdos.h: Remove BCOPY macros.
11046         * insdel.c (gap_right): Remove BCOPY conditional code.
11047         * insdel.c (gap_left): Remove BCOPY conditional code.
11048         XEmacs demands a working ANSI C compiler - hence memmove.
11049
11050         * regex.c (regex_compile): Remove accidental use of trigraphs.
11051
11052 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11053
11054         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11055         event timestamp.
11056
11057 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11058
11059         * event-msw.c (mswindows_drain_windows_queue): Added the
11060         parameter.
11061         (mswindows_need_event): Commented the call to
11062         mswindows_drain_windows_queue().
11063         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11064         only.
11065
11066         * console-msw.h: Moved a few function prototypes here from
11067         event-msw.c.
11068
11069         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11070         parameter from unsigned short to unsigned long.
11071         (Fmswindows_shell_execute): Added return value.
11072
11073 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11074
11075         * sysdep.c (init_system_name):
11076           process-unix.c (unix_canonicalized_host_name):
11077         Don't call freeaddrinfo() if getaddrinfo() fails.
11078
11079         * process-unix.c (unix_open_unix_network_stream):
11080         Moved the code to get a port # into address loop.
11081
11082 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11083
11084         * buffer.c (reinit_vars_of_buffer):
11085         The right place to initialize conversion_in_dynarr and
11086         conversion_out_dynarr.
11087
11088         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11089
11090         * process-unix.c (unix_canonicalize_host_name): Muleize.
11091         (unix_open_network_stream): Muleize.
11092
11093         * buffer.h: Fix up prototypes for ralloc.c functions.
11094
11095 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11096         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11097         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11098                 instead of gethostbyname()
11099         * process-unix.c: In unix_canonicalize_host_name() and
11100                 unix_open_network_stream(), add code to use getaddrinfo()
11101                 instead of gethostbyname().
11102
11103 2000-01-27  Daniel Pittman <daniel@danann.net>
11104
11105         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11106         libs when built with flat Athena.
11107
11108 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11109
11110         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11111         Use coding standards for function prototypes.
11112
11113 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11114
11115         * dialog-msw.c (push_lisp_string_as_unicode):
11116         * doc.c (unparesseuxify_doc_string):
11117         * dired.c (Fuser_name_completion_1):
11118         * dired.c (Fuser_name_all_completions):
11119         * dired.c (free_user_cache):
11120         * dired.c (user_name_completion):
11121         * console-x.c (get_display_arg_connection):
11122         * minibuf.c (clear_echo_area_internal):
11123         * minibuf.c (echo_area_append):
11124         * eldap.c (Fldap_open):
11125         * eldap.c (Fldap_search_internal):
11126         * frame-x.c (x_set_frame_text_value):
11127         * frame-x.c (x_set_frame_properties):
11128         * frame-x.c (x_create_widgets):
11129         * redisplay-tty.c (term_get_fkeys_1):
11130         * objects-x.c (x_parse_nearest_color):
11131         * objects-x.c (x_valid_color_name_p):
11132         * objects-x.c (x_initialize_font_instance):
11133         * objects-x.c (x_list_fonts):
11134         * objects-x.c (x_find_charset_font):
11135         * tooltalk.c (Fadd_tooltalk_message_arg):
11136         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11137         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11138         * process-unix.c (unix_create_process):
11139         * ntproc.c (sys_spawnve):
11140         * sound.c (Fplay_sound_file):
11141         * sound.c (Fplay_sound):
11142         * buffer.c (init_initial_directory):
11143         * buffer.c (init_buffer):
11144         * editfns.c (init_editfns):
11145         * editfns.c (Ftemp_directory):
11146         * editfns.c (Fuser_full_name):
11147         * editfns.c (uncache_home_directory):
11148         * editfns.c (get_home_directory):
11149         * editfns.c (Fuser_home_directory):
11150         * editfns.c (Fformat_time_string):
11151         * editfns.c (Fcurrent_time_string):
11152         * gui-x.c (button_item_to_widget_value):
11153         * database.c (Fopen_database):
11154         * event-Xt.c (x_to_emacs_keysym):
11155         * event-Xt.c (x_event_to_emacs_event):
11156         * event-Xt.c (describe_event_window):
11157         * event-msw.c (mswindows_wnd_proc):
11158         * glyphs-eimage.c (jpeg_instantiate):
11159         * glyphs-eimage.c (gif_instantiate):
11160         * glyphs-eimage.c (png_instantiate):
11161         * glyphs-eimage.c (tiff_instantiate):
11162         * glyphs-x.c (xbm_instantiate_1):
11163         * glyphs-x.c (x_xbm_instantiate):
11164         * glyphs-x.c (x_xface_instantiate):
11165         * glyphs-x.c (autodetect_instantiate):
11166         * glyphs-x.c (cursor_font_instantiate):
11167         * glyphs-x.c (x_widget_instantiate):
11168         * glyphs-x.c (x_widget_set_property):
11169         * glyphs-x.c (x_widget_property):
11170         * glyphs-x.c (BUILD_GLYPH_INST):
11171         * print.c (write_string_to_stdio_stream):
11172         * print.c (output_string):
11173         * print.c (Falternate_debugging_output):
11174         * print.c (Fexternal_debugging_output):
11175         * glyphs-msw.c (extract_xpm_color_names):
11176         * glyphs-msw.c (mswindows_xpm_instantiate):
11177         * glyphs-msw.c (bmp_instantiate):
11178         * glyphs-msw.c (resource_name_to_resource):
11179         * glyphs-msw.c (mswindows_resource_instantiate):
11180         * glyphs-msw.c (xbm_instantiate_1):
11181         * glyphs-msw.c (mswindows_xbm_instantiate):
11182         * glyphs-msw.c (mswindows_xface_instantiate):
11183         * glyphs-msw.c (mswindows_widget_instantiate):
11184         * glyphs-msw.c (add_tree_item):
11185         * glyphs-msw.c (add_tab_item):
11186         * glyphs-msw.c (mswindows_combo_box_instantiate):
11187         * glyphs-msw.c (mswindows_widget_property):
11188         * glyphs-msw.c (mswindows_combo_box_property):
11189         * glyphs-msw.c (mswindows_widget_set_property):
11190         * console.c (stuff_buffered_input):
11191         * objects-msw.c (mswindows_initialize_color_instance):
11192         * objects-msw.c (mswindows_valid_color_name_p):
11193         * objects-msw.c (mswindows_list_fonts):
11194         * objects-msw.c (mswindows_font_instance_truename):
11195         * bytecode.c (optimize_compiled_function):
11196         * select-x.c (symbol_to_x_atom):
11197         * select-x.c (x_atom_to_symbol):
11198         * select-x.c (hack_motif_clipboard_selection):
11199         * select-x.c (selection_data_to_lisp_data):
11200         * select-x.c (lisp_data_to_selection_data):
11201         * select-x.c (Fx_get_cutbuffer_internal):
11202         * select-x.c (Fx_store_cutbuffer_internal):
11203         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11204         * buffer.h (TO_INTERNAL_FORMAT): New function.
11205         * emacs.c (make_arg_list_1):
11206         * emacs.c (make_argc_argv):
11207         * emacs.c (main_1):
11208         * emacs.c (Fdump_emacs):
11209         * emacs.c (split_string_by_emchar_1):
11210         * file-coding.h:
11211         * lisp.h:
11212         * lstream.h:
11213         * symsinit.h:
11214         * device-x.c (x_init_device):
11215         * device-x.c (Fx_valid_keysym_name_p):
11216         * device-x.c (Fx_get_font_path):
11217         * device-x.c (Fx_set_font_path):
11218         * glyphs.c (bitmap_to_lisp_data):
11219         * glyphs.c (pixmap_to_lisp_data):
11220         * alloc.c (make_ext_string): Use coding system arguments.  Update
11221         all callers.
11222         * alloc.c (build_string):
11223         * callproc.c (child_setup):
11224         * callproc.c (init_callproc):
11225         * fileio.c (lisp_strerror):
11226         * fileio.c (directory_file_name):
11227         * fileio.c (Fexpand_file_name):
11228         * fileio.c (Ffile_truename):
11229         * fileio.c (Fsysnetunam):
11230         * fileio.c (Fdo_auto_save):
11231         * sysdep.c (sys_readdir):
11232         * tests.c: New file.  Allow adding C tests.
11233         Replace GET_* macros with a more comprehensible and flexible
11234         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11235         Modify all calls.
11236         Any coding system can be used to do format conversion.
11237         Eliminate enum external_data_format.
11238         Eliminate convert_to_external_format.
11239         Eliminate convert_to_internal_format.
11240         Make sure file-name, keyboard, terminal, and ctext are always
11241         defined as coding systems or aliases.  Make
11242         file-name-coding-system, terminal-coding-system, and
11243         keyboard-coding-system magical variables that are equivalent to
11244         defining the corresponding coding system aliases.
11245
11246         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11247         * file-coding.c (Fcoding_system_alias_p): New function.
11248         * file-coding.c (Fcoding_system_aliasee): New function.
11249         * file-coding.c (append_suffix_to_symbol): New function.
11250         * file-coding.c (dangling_coding_system_alias_p): New function.
11251         * file-coding.c (Ffind_coding_system):
11252         * file-coding.c (Fcopy_coding_system):
11253         * file-coding.c (encode_coding_no_conversion):
11254         * file-coding.c (syms_of_file_coding):
11255         * file-coding.c (vars_of_file_coding):
11256         Rewrite coding system alias code.
11257         Allow nested aliases, like symbolic links.
11258         Allow redefinition of coding system aliases.
11259         Prevent existence of dangling coding system aliases.
11260
11261         * dired.c (Fuser_name_completion_1):
11262         * dired.c (Fuser_name_all_completions):
11263         A crash would happen if user did QUIT in the middle of building
11264         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11265
11266         * lisp.h:
11267         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11268
11269         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11270         an unsigned char *.  Update all callers.
11271
11272 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11273
11274         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11275
11276 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11277
11278         * elhash.c (hentry_description): Use more portable definition.
11279         (resize_hash_table): Initialize new hentries using
11280         xnew_array_and_zero, thereby simplifying the code.
11281
11282         * mule-charset.c (make_charset): Make sure entire object is
11283         initialized, to avoid Purify warnings.
11284
11285         * alloc.c (resize_string): Fix unlikely crash with big strings.
11286
11287 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11288
11289         * realpath.c (xrealpath):
11290         Don't call getwd().
11291
11292 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11293
11294         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11295
11296 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11297
11298         * unexelfsgi.c (unexec): Change the way we decide which segment
11299         should be extended.
11300
11301         Assumption that .bss section should be outside the PT_LOADable
11302         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11303         it's present) is inside the 'data' segment. This would fail the
11304         test which was used to find a segment to grow and cover new
11305         heap. Instead of this assumption, I created another one - on IRIX
11306         the segment to grow should start below .bss and it's address
11307         should extent above the end of .bss. Once this segment is
11308         identified, it's grown to accommodate the new heap and new
11309         zero-length .bss section is added at the end of .data2.
11310
11311 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11312
11313         * eval.c (Feval): Wrong number of arguments should use original
11314         function, not the indirect_function version of it.
11315
11316 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11317
11318         * glyphs-x.c (x_button_instantiate): Don't add image if
11319         it is not a pixmap.
11320         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11321         is relative.
11322
11323 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11324
11325         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11326         declaration.
11327         (DEFVAR_INT_MAGIC): Ditto.
11328         (DEFVAR_BOOL_MAGIC): Ditto.
11329         * glyphs.h: Reindent backslash.
11330
11331 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11332
11333         * glyphs-widget.c (layout_query_geometry):
11334         (layout_layout): Use correct types for gheight, gwidth.
11335
11336 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11337
11338         * EmacsManager.c (QueryGeometry): Purified.
11339
11340 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11341
11342         * alloc.c (make_float): Make sure entire object is initialized, to
11343         avoid Purify warnings.
11344         (pdump_register_sub): Remove useless assignment.
11345         (pdump): Use xmalloc, not malloc.
11346         (pdump_load): Use xmalloc, not malloc.
11347
11348 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11349
11350         * callproc.c:
11351         * dired-msw.c:
11352         * fileio.c:
11353         * process-nt.c:
11354         * redisplay-msw.c:
11355         * sysdep.c: Removed redundant #include <windows.h>
11356
11357 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11358
11359         * frame.c (delete_frame_internal): Do not delete device when its
11360         implementation so declares.
11361         (delete_frame_internal): Set device selected frame to nil when
11362         last frame goes away.
11363
11364         * device-msw.c (msprinter_device_system_metrics): Implemented.
11365         (mswindows_device_system_metrics): Added 'device-dpi property.
11366
11367         * device.c: (Fdevice_printer_p): Added.
11368         Added 'offset-workspace device metric.
11369
11370         * console.h (device_metrics): Declared DM_offset_workspace.
11371
11372 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11373
11374         * fileio.c (Ffile_truename): Remove pointless and confusing
11375         initialization of elen.
11376
11377         * glyphs-widget.c: Compiler warning fixes.
11378
11379 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11380
11381         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11382         instead of a Lisp_Object as argument to make it consistent with
11383         the other LIVE_P macros.
11384         (CHECK_LIVE_PROCESS): New macro.
11385
11386         * process.c: Declare Qprocess_live_p.
11387         (Fprocess_live_p): New function.
11388         (create_process): Use PROCESS_LIVE_P.
11389         (read_process_output): Ditto.
11390         (set_process_filter): Ditto.
11391         (Fdelete_process): Ditto.
11392         (kill_buffer_processes): Ditto
11393         (process_send_signal): Use CHECK_LIVE_PROCESS.
11394         (Fprocess_input_coding_system): Check whether process is still
11395         alive (fix PR#1061).
11396         (Fprocess_output_coding_system): Ditto.
11397         (Fprocess_coding_system): Ditto.
11398         (Fset_process_input_coding_system): Ditto.
11399         (Fset_process_output_coding_system): Ditto.
11400
11401 2000-01-23  Andy Piper  <andy@xemacs.org>
11402
11403         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11404         layout and widget.
11405
11406         * glyphs.c (mark_image_instance): take into account changed
11407         image_instance format.
11408         (image_instance_equal): ditto.
11409         (image_instance_hash): ditto.
11410
11411         * glyphs-widget.c (widget_instantiate): Incorporate layout
11412         instantiation here. Delay layout of the layout until later.
11413         (layout_instantiate): deleted.
11414         (layout_query_geometry): new function. get the geometry of a
11415         layout.
11416         (layout_layout): layout a layout dynamically.
11417         (image_instantiator_widget): New function - splitting up
11418         image_instantiator_format_create_glyphs_widget for netwinder
11419         compilation.
11420         (image_instantiator_buttons):
11421         (image_instantiator_edit_fields):
11422         (image_instantiator_combo_box):
11423         (image_instantiator_scrollbar):
11424         (image_instantiator_progress_guage):
11425         (image_instantiator_tree_view):
11426         (image_instantiator_tab_control):
11427         (image_instantiator_labels):
11428         (image_instantiator_layout): ditto.
11429         (image_instantiator_format_create_glyphs_widget): Call preceding
11430         functions.
11431
11432 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11433
11434         * process.c (Fset_process_coding_system):
11435         * device-x.c (Fx_keysym_hash_table):
11436         Docstring fixes.
11437
11438         * lstream.c (Lstream_write): Return documented value, not 0.
11439
11440         * fileio.c (directory_file_name):
11441         (Fsubstitute_in_file_name):
11442         (Fsubstitute_insert_file_contents_internal):
11443         (Fwrite_region_internal):
11444         * emacs.c:
11445         * sysdep.c:
11446         * getloadavg.c:
11447         * systty.h:
11448         Remove vestigial APOLLO-conditional code.
11449
11450 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11451
11452         * getpagesize.h: Add guard macros.
11453         * libsst.h: Add guard macros.
11454         * libst.h: Add guard macros.
11455         * line-number.h: Add guard macros.
11456         * ndir.h: Add guard macros.
11457         * sysfloat.h: Add guard macros.
11458         * sysfile.h: Add guard macros.
11459         * sysproc.h: Add guard macros.
11460         * syswait.h: Add guard macros.
11461         * xintrinsic.h: Add guard macros.
11462         * xintrinsicp.h: Add guard macros.
11463         * xmmanager.h: Add guard macros.
11464         * xmmanagerp.h: Add guard macros.
11465         * xmprimitive.h: Add guard macros.
11466         * xmu.h: Add guard macros.
11467         * gpmevent.h: Add copyright statement. Add guard macros.
11468         * miscplay.h: Add guard macros.
11469         * *.h: Use consistent C-standards-approved guard macro names.
11470
11471         * opaque.c (make_opaque): Switch parameter order.
11472         * opaque.h (make_opaque): Switch parameter order.
11473         Update all callers.
11474         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11475
11476         * config.h.in (type_checking_assert): Added.
11477         (bufpos_checking_assert): Added.
11478
11479 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11480
11481         * alloc.c: Harmless pdump changes.
11482         - Use countof().
11483         - spell alignment correctly.
11484         * sysdep.c: Use countof()
11485
11486 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11487
11488         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11489         initially_selected_for_input() console method, default to 0.
11490         (semi_canonicalize_console_connection): Try to delegate to
11491         canonicalize_console_connection if no such console method.
11492         (canonicalize_console_connection): Vice versa.
11493         (print_console): Do not print nil connection.
11494
11495         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11496         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11497         (XDEVIMPF_FRAMELESS_OK): Added.
11498         (CONSOLE_INHERITS_METHOD): Added.
11499
11500         * console-msw.c (mswindows_canonicalize_console_connection):
11501         Added.
11502         (mswindows_canonicalize_device_connection): Added.
11503
11504         * console-msw.h (struct msprinter_device): Added this struct and
11505         accessor macros.
11506         (mswindows_device): Made fontlist a lisp object.
11507
11508         * device.c (semi_canonicalize_device_connection):  Try to delegate
11509         to canonicalize_device_connection if no such console method.
11510         (canonicalize_device_connection): Vice versa.
11511         (print_device): Do not print nil connection.
11512
11513         * device-msw.c (mswindows_init_device): Call InitCommonControls
11514         when have widgets.
11515         (mswindows_delete_device): Removed fontlist deallocation.
11516         (mswindows_mark_device): Added.
11517
11518         * events.c (event_equal): Added abort() at unreached code.
11519         (event_hash): Ditto.
11520
11521         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11522         fallback tags of Windows devices.
11523
11524         * general.c (syms_of_general): Initialized Qmsprinter.
11525
11526         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11527         of fallback tags of Windows devices.
11528
11529         * lisp.h: Declared Qmsprinter.
11530
11531         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11532         of strings.
11533         (mswindows_list_fonts): Ditto.
11534         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11535         that it can be used by both mswindows and msprinter devices.
11536         (initialize_font_instance): Added.
11537         (mswindows_initialize_font_instance): Use it.
11538         (msprinter_initialize_font_instance): Added.
11539
11540         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11541         and implementation flags check.
11542         (redisplay_without_hooks): Changed the call to the above.
11543         (Fredraw_device): Ditto.
11544         (Fredisplay_device): Ditto.
11545
11546         * redisplay-msw.c (get_frame_dc): Implemented.
11547         (get_frame_compdc): Implemented.
11548         (many functions): Use the two functions above to get device
11549         contexts, ether for a window or a printer.
11550
11551 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11552
11553         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11554         initialization here.
11555         (init_symbols_once_early): Call it.
11556         * emacs.c (main_1): Call it.
11557         * symsinit.h: Declare it.
11558
11559 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11560
11561         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11562         Lisp_Object.
11563         (pdump_backtrace): Ditto.
11564         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11565         (pdump_get_entry): Abort if trying to register a null pointer.
11566         (pdump_dump_data): Cleanup types when relocating.
11567         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11568         (pdump_dump_rtables): Remove bad casts.
11569         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11570         Lisp_Object instead of a EMACS_INT for the hashtable
11571         reorganization.
11572
11573 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11574
11575         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11576
11577         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11578
11579         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11580
11581         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11582
11583 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11584
11585         * faces.h (FACE_STRIKETHRU_P): Added.
11586
11587         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11588         of font variants.
11589
11590         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11591         (mswindows_set_dc_font): New function, aware of font variants,
11592         separated from mswindows_update_dc.
11593
11594         * objects-msw.h (struct mswindows_font_instance_data): Added
11595         definition.
11596
11597         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11598         cached fonts and the data structure.
11599         (mswindows_initialize_font_instance): Added creation of font data
11600         structure.
11601         (mswindows_print_font_instance): Print at least something.
11602         (mswindows_create_font_variant): Implemented.
11603         (mswindows_get_hfont): Implemented.
11604
11605 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11606
11607         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11608         prototyping problem with msvc.
11609
11610         * emacs.c (main_1): added syms_of_gui_mswindows() call
11611
11612         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11613         syms_of_gui_mswindows() function
11614
11615         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11616
11617 2000-01-18  Martin Buchholz <martin@xemacs.org>
11618
11619         * XEmacs 21.2.27 is released.
11620
11621 2000-01-18  Martin Buchholz  <martin@xemacs.org>
11622
11623         * glyphs-eimage.c (struct tiff_error_struct):
11624         (tiff_error_func):
11625         (tiff_warning_func):
11626         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
11627
11628         * unexmips.c:
11629         * unexhp9k3.c:
11630         * unexfreebsd.c:
11631         * unexec.c: Remove vestigial Lucid C code.
11632         * unexalpha.c:
11633         * unexaix.c:
11634         * termcap.c:
11635         * libsst.c: Ansify.
11636         Remove declarations of errno and strerror().
11637
11638         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
11639
11640         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
11641
11642 2000-01-16  Martin Buchholz  <martin@xemacs.org>
11643
11644         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
11645         Optimize.
11646
11647 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11648
11649         * md5.c:
11650         * file-coding.c:
11651         * file-coding.h:
11652         Change enum eol_type to eol_type_t.
11653
11654 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11655
11656         * gui.c (get_gui_callback): Check cons before accessing car.
11657
11658 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11659
11660         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
11661         (XSETSPECIFIER_TYPE): Ditto.
11662
11663 2000-01-17  Didier Verna  <didier@xemacs.org>
11664
11665         * redisplay.c (generate_fstring_runes): compute string size in
11666         characters, not bytes.
11667
11668 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11669
11670         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
11671
11672 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
11673
11674         * print.c (print_error_message): Call print_prepare().
11675
11676 2000-01-14  Martin Buchholz  <martin@xemacs.org>
11677
11678         * .dbxrc: Renamed from dbxrc.
11679
11680         * events.c (event_to_character):
11681         Use `assert (foo)' instead of `if (!foo) abort()'
11682
11683         * .gdbinit (xtype): Add documentation.
11684         * .gdbinit (check-temacs): New function.
11685         * .gdbinit (check-xemacs): New function.
11686         * dbxrc (check-xemacs): New function.
11687         * dbxrc (check-xemacs): New function.
11688
11689 2000-01-14  Andy Piper  <andy@xemacs.org>
11690
11691         * glyphs-widget.c (widget_query_geometry): Make sure that we
11692         calculate default dimensions correctly.
11693
11694 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11695
11696         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
11697
11698         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
11699         pdump_wire'd variable.
11700
11701         * emacs.c: (main_1): Conditionalized calls to
11702         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
11703
11704 2000-01-13  Martin Buchholz  <martin@xemacs.org>
11705
11706         * window.c (Fset_window_configuration):
11707         * sysdep.c (_start):
11708         * input-method-motif.c (res):
11709         * event-Xt.c (Xt_process_to_emacs_event):
11710         Simple compiler warning fixes.
11711
11712         * bytecode.c (funcall_compiled_function): Use the original
11713         function symbol on the backtrace list in preference to the
11714         compiled_function object in error messages.
11715
11716 2000-01-13  Andy Piper  <andy@xemacs.org>
11717
11718         * glyphs-x.c (update_widget_face): Make sure we update the widget
11719         background as well as foreground.
11720
11721 2000-01-13  Andy Piper  <andy@xemacs.org>
11722
11723         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
11724         fields to subwindow.
11725         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
11726         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
11727         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11728         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11729
11730         * glyphs-widget.c (check_valid_tab_orientation): new function.
11731         (initialize_widget_image_instance): zero orientation and
11732         justification.
11733         (widget_instantiate): pick up orientation.
11734         (tab_control_query_geometry): return appropriate values for
11735         vertical tabs.
11736
11737         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
11738         appropriate creation flags for left, right and bottom tabs.
11739
11740         * s/cygwin32.h: add tab definitions.
11741
11742 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11743
11744         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
11745         frame upon hiding a subwindow.
11746         (mswindows_button_instantiate): Changed the push button style to
11747         BS_PUSHBUTTON.
11748         (mswindows_button_instantiate): Removed button BS_NOTIFY
11749         style.
11750         (mswindows_button_instantiate): Removed redundant check for
11751         a disabled gui item.
11752         (mswindows_button_instantiate): Made use of WS_TABSTOP
11753         consistent: "operable" controls (edit, button, tree, scroll) have
11754         this style, "display-only" ones (static, progress gauge) do
11755         not. This style is currently ignored by XEmacs though. Also,
11756         removed the WS_EX_CONTROLPARENT style - it is not for children,
11757         it is for their parents!
11758         (mswindows_edit_field_instantiate): Ditto.
11759         (mswindows_progress_gauge_instantiate): Ditto.
11760         (mswindows_tree_view_instantiate): Ditto.
11761         (mswindows_tab_control_instantiate): Ditto.
11762         (mswindows_scrollbar_instantiate): Ditto.
11763         (mswindows_combo_box_instantiate): Ditto.
11764         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
11765         style to the "clip" window.
11766         (mswindows_button_instantiate): Removed compilation warning by
11767         equally typing terms of the ?: operator.
11768
11769 2000-01-12  Didier Verna  <didier@xemacs.org>
11770
11771         * redisplay.c (generate_fstring_runes): new parameter holding the
11772         last modeline-format extent.
11773         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
11774         extent, fill the glyph block with it.
11775         (generate_fstring_runes): handle these parameters.
11776         (generate_formatted_string_db): ditto.
11777
11778         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
11779         glyphs'extents in the modeline.
11780
11781 1999-01-11  Mike Woolley  <mike@bulsara.com>
11782
11783         * ntheap.c: Reduced the reserved heap space from 1Gb down to
11784         256Mb, as a workaround for the non-starting problem many people
11785         have experienced.
11786
11787 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11788
11789         * console-tty.c (Fset_console_tty_output_coding_system):
11790         Force redrawing tty frame.
11791
11792 2000-01-10  Didier Verna  <didier@xemacs.org>
11793
11794         * redisplay.c (generate_fstring_runes): fix size computation bug.
11795
11796 2000-01-09  William M. Perry <wmperry@aventail.com>
11797
11798         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
11799
11800 2000-01-09  Andy Piper  <andy@xemacs.org>
11801
11802         * glyphs-msw.c: index -> i to avoid shadows.
11803         (xbm_create_bitmap_from_data): make static.
11804         (check_valid_string_or_int): deleted.
11805         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
11806
11807         * glyphs-x.c (x_update_subwindow): remove unused args.
11808
11809         * glyphs.c (glyph_image_instance): return the thing. Don't set the
11810         back pointer - this is done in allocate_image_instance.
11811         (query_string_font): return Qnil to make the compiler happy.
11812         (unmap_subwindow): set to ~0 to make the compiler happy.
11813         (glyph_query_geometry): comment out until used.
11814         (glyph_layout): ditto.
11815
11816 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11817
11818         * insdel.c (signal_after_change): Remove extraneous unbind_to().