a539ded8378181640563dec4633b5e171f766a9a
[chise/xemacs-chise.git] / src / ChangeLog
1 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
4         UTF-2000.
5         (update_syntax_table): Deleted in XEmacs UTF-2000.
6
7         * syntax.c (find_defun_start): Use `syntax_table' instead of
8         `mirror_syntax_table' in XEmacs UTF-2000.
9         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
10         UTF-2000.
11         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
12         XEmacs UTF-2000.
13         (Fmatching_paren): Likewise.
14         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
15         in XEmacs UTF-2000.
16         (find_start_of_comment): Likewise.
17         (find_end_of_comment): Likewise.
18         (Fforward_comment): Likewise.
19         (scan_lists): Likewise.
20         (char_quoted): Likewise.
21         (Fbackward_prefix_chars): Likewise.
22         (scan_sexps_forward): Likewise.
23         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
24         (update_syntax_table): Likewise.
25
26         * search.c (skip_chars): Use `syntax_table' instead of
27         `mirror_syntax_table' in XEmacs UTF-2000.
28         (wordify): Likewise.
29         (Freplace_match): Likewise.
30
31         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
32         `mirror_syntax_table' in XEmacs UTF-2000.
33         (WORDCHAR_P_UNSAFE): Likewise.
34         (re_match_2_internal): Likewise.
35
36         * font-lock.c (find_context): Use `buf->syntax_table' instead of
37         `buf->mirror_syntax_table' in XEmacs UTF-2000.
38
39         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
40         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
41
42         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
43         XEmacs UTF-2000.
44
45         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
46         UTF-2000.
47         (print_char_table): Print `default_value' in XEmacs UTF-2000.
48         (char_table_description): Delete `mirror_table' in XEmacs
49         UTF-2000.
50         (fill_char_table): Don't call `update_syntax_table' in XEmacs
51         UTF-2000.
52         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
53         (Fcopy_char_table): Likewise.
54         (put_char_table): Don't call `update_syntax_table' in XEmacs
55         UTF-2000.
56
57         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
58         `buf->mirror_syntax_table' in XEmacs UTF-2000.
59         (casify_region_internal): Likewise.
60
61         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
62
63         * buffer.c (common_init_complex_vars_of_buffer): Don't use
64         `mirror_syntax_table' in XEmacs UTF-2000.
65
66         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
67         `buf->mirror_syntax_table' in XEmacs UTF-2000.
68         (Fexpand_abbrev): Likewise.
69
70 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
71
72         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
73
74 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
75
76         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
77         (map_over_uint16_byte_table): Likewise.
78         (map_over_byte_table): Likewise.
79         (get_char_id_table): Refer `cit->default_value'.
80         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
81         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
82         of character-id ranges.
83         (mark_char_table): Mark `ct->default_value'.
84         (char_table_description): Add `default_value'.
85         (fill_char_table): Use `default_value'.
86         (decode_char_table_range): Decode `nil' as
87         `CHARTAB_RANGE_DEFAULT'.
88         (get_char_id_table): Refer `cit->default_value'.
89         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
90         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
91         temporary hack; check value of char-table is bound or not.
92         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
93
94         * chartab.h (struct Lisp_Char_Table): Add new member
95         `default_value' in XEmacs UTF-2000.
96         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
97         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
98         UTF-2000.
99
100 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
101
102         * chartab.h (Lisp_Char_ID_Table): Deleted.
103
104         * chartab.c (char_table_description): Fix typo.
105         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
106         `Lisp_Char_ID_Table'.
107
108 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
109
110         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
111         `CHAR_ID_TABLE_P'.
112
113         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
114         `CHAR_ID_TABLE_P'.
115
116         * chartab.h (XCHAR_ID_TABLE): Deleted.
117         (XSETCHAR_ID_TABLE): Deleted.
118         (CHAR_ID_TABLE_P): Deleted.
119
120         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
121         `CHAR_ID_TABLE_P'.
122         (Fget_composite_char): Likewise.
123         (put_char_table): Likewise.
124         (add_char_attribute_alist_mapper): Fixed.
125         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
126         `CHAR_ID_TABLE_P'.
127         (Fget_char_attribute): Likewise.
128         (Fget_char_attribute): Likewise.
129         (Fmap_char_attribute): Likewise.
130
131         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
132         `CHAR_ID_TABLE_P'.
133         (encode_char_1): Likewise.
134
135 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
136
137         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
138         `XCHAR_ID_TABLE'.
139
140         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
141         instead of `XCHAR_ID_TABLE'.
142         (remove_char_ccs): Likewise.
143
144         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
145         `XCHAR_ID_TABLE'.
146         (Fget_composite_char): Likewise.
147         (Fchar_variants): Likewise.
148         (put_char_table): Likewise.
149         (add_char_attribute_alist_mapper): Likewise.
150         (Fchar_attribute_alist): Likewise.
151         (Fget_char_attribute): Likewise.
152         (Fput_char_attribute): Likewise.
153         (Fmap_char_attribute): Likewise.
154         (Fmap_char_attribute): Likewise.
155
156         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
157         `XCHAR_ID_TABLE'.
158         (encode_char_1): Likewise.
159
160 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
161
162         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
163         `Lisp_Char_ID_Table'.
164         (mark_char_id_table): Deleted.
165         (print_char_id_table): Likewise.
166         (char_id_table_equal): Likewise.
167         (char_id_table_hash): Likewise.
168         (char_id_table_description): Likewise.
169         (char_id_table): Likewise.
170         (make_char_id_table): Use `Fmake_char_table' and
171         `fill_char_table'.
172         (get_char_id_table): Use `Lisp_Char_Table' instead of
173         `Lisp_Char_ID_Table'.
174         (put_char_id_table): Likewise.
175         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
176         `XCHAR_ID_TABLE'.
177         (Fremove_char_attribute): Likewise.
178         (syms_of_chartab): Don't define type `char-id-table'.
179
180         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
181         (char_id_table): Likewise.
182         (GC_CHAR_ID_TABLE_P): Likewise.
183         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
184         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
185         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
186         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
187         (get_char_id_table): Use `Lisp_Char_Table' instead of
188         `Lisp_Char_ID_Table'.
189         (put_char_id_table_0): Likewise.
190         (put_char_id_table): Likewise.
191
192 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
193
194         * chartab.h: Lisp_Byte_Table related codes are moved from
195         chartab.h.
196
197         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
198
199 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
200
201         * chartab.h: Don't include "chartab.h".
202         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
203         (Lisp_Char_ID_Table): Likewise.
204         (char_id_table): Likewise.
205         (XCHAR_ID_TABLE): Likewise.
206         (XSETCHAR_ID_TABLE): Likewise.
207         (CHAR_ID_TABLE_P): Likewise.
208         (GC_CHAR_ID_TABLE_P): Likewise.
209         (get_char_id_table): Likewise.
210
211         * char-ucs.h: Include "chartab.h".
212         (struct Lisp_Char_ID_Table): Moved to chartab.h.
213         (Lisp_Char_ID_Table): Likewise.
214         (char_id_table): Likewise.
215         (XCHAR_ID_TABLE): Likewise.
216         (XSETCHAR_ID_TABLE): Likewise.
217         (CHAR_ID_TABLE_P): Likewise.
218         (GC_CHAR_ID_TABLE_P): Likewise.
219         (get_char_id_table): Likewise.
220
221 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
222
223         * chartab.c (copy_uint8_byte_table): New function.
224         (copy_uint16_byte_table): New function.
225         (copy_byte_table): New function.
226         (map_over_uint8_byte_table): Modify to avoid huge numbers of
227         characters to call.
228         (map_over_uint16_byte_table): Likewise.
229         (map_over_byte_table): Likewise.
230         (get_byte_table): Move prototype to chartab.h.
231         (put_byte_table): Likewise.
232         (put_char_id_table_0): Moved to chartab.h.
233         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
234         (char_table_entry_equal): Likewise.
235         (char_table_entry_hash): Likewise.
236         (char_table_entry_description): Likewise.
237         (char_table_entry): Likewise.
238         (make_char_table_entry): Likewise.
239         (copy_char_table_entry): Likewise.
240         (get_non_ascii_char_table_value): Likewise.
241         (map_over_charset_ascii): Likewise.
242         (map_over_charset_control_1): Likewise.
243         (map_over_charset_row): Likewise.
244         (map_over_other_charset): Likewise.
245         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
246         (print_char_table): Likewise.
247         (char_table_equal): Likewise.
248         (char_table_hash): Likewise.
249         (char_table_description): Likewise.
250         (fill_char_table): Likewise.
251         (Fcopy_char_table): Likewise.
252         (get_char_table): Likewise.
253         (Fget_range_char_table): Likewise.
254         (put_char_table): Likewise.
255         (map_char_table): Likewise.
256         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
257         UTF-2000.
258
259 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
260
261         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
262         `Vauto_fill_chars' in XEmacs UTF-2000.
263
264         * chartab.h (get_byte_table): New prototype [moved from
265         chartab.c].
266         (put_byte_table): Likewise [moved from chartab.c].
267         (put_char_id_table_0): New inline function [moved from chartab.c].
268         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
269         (Lisp_Char_Table_Entry): Likewise.
270         (char_table_entry): Likewise.
271         (XCHAR_TABLE_ENTRY): Likewise.
272         (XSETCHAR_TABLE_ENTRY): Likewise.
273         (CHAR_TABLE_ENTRYP): Likewise.
274         (CHECK_CHAR_TABLE_ENTRY): Likewise.
275         (NUM_ASCII_CHARS): Likewise.
276         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
277         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
278
279 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
280
281         * chartab.c (get_char_id_table): Change interface.
282         (put_char_id_table_0): New function.
283         (put_char_id_table): Change interface; new implementation.
284         (Fget_composite_char): Modify for interface change of
285         `get_char_id_table'.
286         (Fchar_variants): Likewise.
287         (add_char_attribute_alist_mapper): Likewise.
288         (Fchar_attribute_alist): Likewise.
289         (Fget_char_attribute): Likewise.
290         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
291         as same as character as the first argument like `put-char-table';
292         modify for interface change of `put_char_id_table'.
293         (Fremove_char_attribute): Modify for interface change of
294         `put_char_id_table'.
295
296 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
297
298         * text-coding.c: Sync up with XEmacs 21.2.41.
299         (COMPOSE_ADD_CHAR): Modify for interface change of
300         `get_char_id_table'.
301
302         * mule-charset.c (put_char_ccs_code_point): Modify for interface
303         change of `put_char_id_table'.
304         (remove_char_ccs): Likewise.
305
306         * chartab.h (put_char_id_table): Change interface.
307
308         * char-ucs.h (get_char_id_table): Change interface.
309         (charset_code_point): Modify for interface change of
310         `get_char_id_table'.
311         (encode_char_1): Likewise.
312
313 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
314
315         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
316         argument `ccs'.
317         (map_over_uint16_byte_table): Likewise.
318         (map_over_byte_table): Likewise.
319         (map_char_id_table): Add new argument `range' like
320         `map_char_table'.
321         (Fmap_char_attribute): Add new argument `range' like
322         `Fmap_char_table'.
323
324 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
325
326         * chartab.c (map_over_uint8_byte_table): Change interface of
327         mapping function to use struct chartab_range instead of Emchar.
328         (map_over_uint16_byte_table): Likewise.
329         (map_over_byte_table): Likewise.
330         (map_char_id_table): Likewise.
331         (struct slow_map_char_id_table_arg): Deleted.
332         (slow_map_char_id_table_fun): Deleted.
333         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
334         function `slow_map_char_table_fun' instead of struct
335         `slow_map_char_id_table_arg' and function
336         `slow_map_char_id_table_fun'.
337
338 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
339
340         * mule-charset.c: Move char-it-table related codes to chartab.c.
341         (Vutf_2000_version): Moved to chartab.c.
342         (Fdefine_char): Likewise.
343         (Ffind_char): Likewise.
344         (syms_of_mule_charset): Move types `uint8-byte-table',
345         `uint16-byte-table', `byte-table' and `char-id-table' to
346         chartab.c; move functions `char_attribute_list,
347         `find_char_attribute_table, `char_attribute_alist,
348         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
349         `map_char_attribute, `define_char, `find_char, `char_variants and
350         `get_composite_char to chartab.c; move symbols `=>ucs',
351         `->decomposition', `compat', `isolated', `initial', `medial',
352         `final', `vertical', `noBreak', `fraction', `super', `sub',
353         `circle', `square', `wide', `narrow', `small' and `font' to
354         chartab.c.
355         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
356         setting codes for `Vcharacter_composition_table' and
357         `Vcharacter_variant_table' to chartab.c.
358         (complex_vars_of_mule_charset): Move setting code for
359         `Vchar_attribute_hash_table' to chartab.c.
360
361         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
362         (make_char_id_table): New prototype.
363         (put_char_id_table): Likewise.
364         (Fget_char_attribute): Likewise.
365
366         * chartab.c: Move char-id-table related code from mule-charset.c.
367         (Vutf_2000_version): Moved from mule-charset.c.
368
369         * char-ucs.h (Qucs): New external variable.
370         (put_char_ccs_code_point): New prototype.
371         (remove_char_ccs): Likewise.
372
373 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
374
375         * mule-charset.c (Vcharset_ucs_jis): New variable.
376         (Qucs_jis): Likewise.
377         (syms_of_mule_charset): Add new symbol `ucs-jis'.
378         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
379
380         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
381
382 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
383
384         * mule-charset.c (map_over_uint8_byte_table): New function.
385         (map_over_uint16_byte_table): Likewise.
386         (map_over_byte_table): Likewise.
387         (map_char_id_table): Likewise.
388         (slow_map_char_id_table_fun): Likewise.
389         (Fmap_char_attribute): Likewise.
390         (syms_of_mule_charset): Add new function `map-char-attribute'.
391
392 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
393
394         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
395         (syms_of_mule_charset): Add new function `find-char'.
396
397 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
398
399         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
400         XEmacs UTF-2000.
401         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
402         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
403         XEmacs UTF-2000.
404         (complex_vars_of_mule_charset): Add new coded-charset
405         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
406         `ideograph-gt-pj-*'.
407
408         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
409
410 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
411
412         * mule-charset.c (encode_builtin_char_1): Purge codes about
413         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
414         {MIN|MAX}_CHAR_HEBREW.
415         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
416         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
417
418         * char-ucs.h (MIN_CHAR_GREEK): Purged.
419         (MAX_CHAR_GREEK): Purged.
420         (MIN_CHAR_CYRILLIC): Purged.
421         (MAX_CHAR_CYRILLIC): Purged.
422         (MIN_CHAR_HEBREW): Commented out.
423         (MAX_CHAR_HEBREW): Likewise.
424
425 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
426
427         * mule-charset.c (Qto_ucs): New variable.
428         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
429         (Fdefine_char): Likewise.
430         (syms_of_mule_charset): Add new symbol `=>ucs'.
431
432 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
433
434         * mule-charset.c (Fdecode_char): Fixed.
435
436 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
437
438         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
439         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
440         "tcvn5712-1".
441
442 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
443
444         * mule-charset.c (Vcharset_ucs_big5): New variable.
445         (Qucs_big5): Likewise.
446         (syms_of_mule_charset): Add new symbol `ucs-big5'.
447         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
448
449         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
450
451 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
452
453         * mule-charset.c (decode_builtin_char): Check Big5 code range
454         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
455
456 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
457
458         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
459         (Qchinese_gb12345): Likewise.
460         (Fdecode_builtin_char): Fixed.
461         (syms_of_mule_charset): Add `chinese-gb12345'.
462         (complex_vars_of_mule_charset): Add coded-charset
463         `chinese-gb12345'.
464
465         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
466         (LEADING_BYTE_CHINESE_GB12345): New macro.
467
468 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
469
470         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
471         and `latin-viscii-upper' for `latin-viscii'.
472
473 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
474
475         * mule-charset.c (Fdecode_builtin_char): Comment out
476         regularization code for ISO-IR GR representation.
477
478 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
479
480         * mule-charset.c (decode_builtin_char): New function; renamed from
481         `make_builtin_char'; return -1 instead of signal.
482         (Fdecode_builtin_char): Use `decode_builtin_char'.
483
484         * char-ucs.h (decode_builtin_char): New prototype; renamed from
485         `make_builtin_char'.
486         (DECODE_CHAR): Use `decode_builtin_char' instead of
487         `make_builtin_char'; use mapping table of `chinese-big5' for
488         `chinese-big5-{1,2}'.
489
490 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
491
492         * text-coding.c (char_encode_big5): New function.
493         (char_finish_big5): Likewise.
494         (reset_encoding_stream): Use `char_encode_big5' and
495         `char_finish_big5' for CODESYS_BIG5.
496         (mule_encode): Don't use `encode_coding_big5'.
497         (encode_coding_big5): Deleted.
498
499 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
500
501         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
502         0x81- in XEmacs UTF-2000.
503         (detect_coding_big5): Likewise.
504
505 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
506
507         * mule-charset.c (Fdefine_char): Don't use a CCS property to
508         generate character-id if the CCS property does not have
509         corresponding predefined character.
510         (make_builtin_char): Return -1 if corresponding predefined
511         character is not found.
512         (Fdecode_char): Return nil if corresponding character is not
513         found.
514         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
515         don't map to builtin ucs space.
516
517 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
518
519         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
520         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
521
522 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
523
524         * mule-charset.c (Vcharset_ideograph_gt): New variable.
525         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
526         (Qideograph_gt): Likewise.
527         (Qideograph_gt_pj_{1..11}): Likewise.
528         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
529         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
530         `ideograph-gt-pj-11'.
531         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
532         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
533         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
534
535         * char-ucs.h (LEADING_BYTE_GT): New macro.
536         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
537         (MIN_CHAR_GT): Likewise.
538         (MAX_CHAR_GT): Likewise.
539
540 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
541
542         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
543         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
544
545         * doprnt.c (unsigned_int_converters): Add `c'.
546         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
547
548         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
549         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
550         `MIN_CHAR_MOJIKYO'.
551         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
552         (MAX_CHAR_MOJIKYO_0): New macro.
553         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
554
555 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
556
557         * mule-charset.c (Fdefine_char): Delete cemented out code.
558         (encode_builtin_char_1): Modify for new allocation of builtin
559         Mojikyo characters.
560
561         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
562
563 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
564
565         * mule-charset.c (Vcharset_ucs_cns): New variable.
566         (Qucs_cns): New variable.
567         (syms_of_mule_charset): Add new symbol `ucs-cns'.
568         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
569
570 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
571
572         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
573
574 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
575
576         * search.c (search_buffer): Make `charset_base_code' as
577         character-id >> 6 to eliminate the corresponding last byte in
578         UTF-8 representation [I'm not sure it is right thing].
579         (boyer_moore): Likewise.
580
581 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
582
583         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
584         representation in MULE.
585
586 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
587
588         * text-coding.c (Fmake_coding_system): Use
589         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
590         `EXTERNAL_PROPERTY_LIST_LOOP'.
591
592 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
593
594         * text-coding.c (decode_output_utf8_partial_char): New function.
595         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
596
597 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
598
599         * text-coding.c (decode_coding_utf8): Output original byte
600         sequence if it is broken; change order of conditions.
601
602         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
603         of conditions.
604
605         * mb-multibyte.h (BYTE_ASCII_P):
606         Use bit ops for char-signedness safety.
607         (BYTE_C0_P): Use bit ops for char-signedness safety.
608         (BYTE_C1_P): Use bit ops for char-signedness safety.
609
610         * character.h: (XCHAR_OR_CHAR_INT):
611         Always use inline function.
612         Remove redundant type checking assert() - XINT will abort quite
613         nicely.
614
615 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
616
617         * text-coding.c: (Fencode_shift_jis_char):
618         (Fencode_big5_char):
619         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
620         Replace 0 with '\0' when working with bytes.
621         Replace initial "(" with "\(" in docstrings.
622
623         (Fmake_coding_system):
624         When type is ccl and value is vector, register it with a proper
625         symbol.  And checks whether the given ccl program is valid.
626         (mule_decode): When calling ccl_driver, if src indicates
627         NULL pointer, set an empty string instead.
628         (mule_encode): Likewise.
629
630         (detect_eol_type):
631         (detect_coding_sjis):
632         (decode_coding_sjis):
633         (detect_coding_big5):
634         (decode_coding_big5):
635         (detect_coding_ucs4):
636         (decode_coding_ucs4):
637         (detect_coding_utf8):
638         (decode_coding_utf8):
639         (detect_coding_iso2022):
640         (decode_coding_iso2022):
641         (decode_coding_no_conversion):
642         (mule_decode):
643         Make all detecting and decoding functions take an Extbyte * arg.
644         (text_encode_generic):
645         (encode_coding_big5):
646         (encode_coding_no_conversion):
647         (mule_encode):
648         Make all encoding functions take a Bufbyte * arg.
649         Use size_t instead of unsigned int for memory sizes.
650         Only cast to unsigned char whenever dereferencing Extbyte *.
651
652         (struct lrecord_description fcd_description_1): Use countof.
653         (complex_vars_of_file_coding):
654         Use countof instead of sizeof.
655         Use CHECK_NATNUM instead of CHECK_INT.
656
657 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
658
659         * mule-charset.c (Fget_char_attribute): Add new optional argument
660         `default-value'.
661         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
662         (remove_char_ccs): Likewise.
663
664 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
665
666         * text-coding.c (char_encode_shift_jis): New implementation in
667         UTF-2000.
668         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
669         ...)'.
670
671         * mule-charset.c (Vcharset_chinese_big5): New variable in
672         UTF-2000.
673         (Qchinese_big5): New variable in UTF-2000.
674         (BIG5_SAME_ROW): New macro in UTF-2000.
675         (make_builtin_char): Use builtin characters of
676         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
677         characters of `Vcharset_chinese_big5'.
678         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
679         (complex_vars_of_mule_charset): Add new coded-charset
680         `chinese-big5' in UTF-2000.
681
682         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
683         (Vcharset_chinese_big5): New external variable declaration.
684         (Vcharset_japanese_jisx0208_1990): Likewise.
685
686 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
687
688         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
689         function.
690         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
691
692 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
693
694         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
695         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
696         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
697         `mojikyo-pj-*'.
698
699 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
700
701         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
702
703 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
704
705         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
706         to 0.17.
707
708 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
709
710         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
711         for `CHARSET_BY_ATTRIBUTES'.
712         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
713         `CHARSET_BY_ATTRIBUTES'.
714
715         * text-coding.c (struct decoding_stream): Rename member `CH' to
716         `CPOS'.
717         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
718         (decode_coding_sjis): Likewise.
719         (decode_coding_big5): Likewise.
720         (decode_coding_ucs4): Likewise.
721         (decode_coding_utf8): Likewise.
722         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
723         `CHARSET_BY_ATTRIBUTES'.
724         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
725         `str->counter'; decode 3, 4 bytes sets.
726         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
727         sets.
728         (decode_coding_no_conversion): Use `str->cpos' instead of
729         `str->ch'.
730
731         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
732         (Qmojikyo_2022_1): New variable.
733         (make_charset): Don't use `CHARSET_TYPE_*'.
734         (range_charset_code_point): Support coded-charset
735         `mojikyo-2022-1'.
736         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
737         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
738         `CHARSET_BY_ATTRIBUTES'.
739         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
740         `CHARSET_BY_ATTRIBUTES'.
741         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
742         (complex_vars_of_mule_charset): Add new coded-charset
743         `mojikyo-2022-1'.
744
745         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
746         interface; changed to inline function.
747
748         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
749         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
750         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
751         (CHARSET_TYPE_94): Deleted.
752         (CHARSET_TYPE_94X94): Deleted.
753         (CHARSET_TYPE_96): Deleted.
754         (CHARSET_TYPE_96X96): Deleted.
755         (CHARSET_TYPE_128): Deleted.
756         (CHARSET_TYPE_128X128): Deleted.
757         (CHARSET_TYPE_256): Deleted.
758         (CHARSET_TYPE_256X256): Deleted.
759         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
760         to inline function.
761         (DECODE_MOJIKYO_2022): New inline function.
762         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
763         `Vcharset_mojikyo_2022_1'.
764
765 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
766
767         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
768         instead of `EQ'.
769         (put_byte_table): Likewise.
770         (char_id_table_equal): Use `get_byte_table' [new implementation].
771
772 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
773
774         * mule-charset.c: Include <limits.h> in UTF-2000.
775         (BT_UINT8_MIN): New macro in UTF-2000.
776         (BT_UINT8_MAX): New macro in UTF-2000.
777         (BT_UINT8_t): New macro in UTF-2000.
778         (BT_UINT8_nil): New macro in UTF-2000.
779         (BT_UINT8_unbound): New macro in UTF-2000.
780         (INT_UINT8_P): New inline function in UTF-2000.
781         (UINT8_VALUE_P): New inline function in UTF-2000.
782         (UINT8_ENCODE): New inline function in UTF-2000.
783         (UINT8_DECODE): New inline function in UTF-2000.
784         (mark_uint8_byte_table): New function in UTF-2000.
785         (print_uint8_byte_table): New function in UTF-2000.
786         (uint8_byte_table_equal): New function in UTF-2000.
787         (uint8_byte_table_hash): New function in UTF-2000.
788         (make_uint8_byte_table): New function in UTF-2000.
789         (uint8_byte_table_same_value_p): New function in UTF-2000.
790         (BT_UINT16_MIN): New macro in UTF-2000.
791         (BT_UINT16_MAX): New macro in UTF-2000.
792         (BT_UINT16_t): New macro in UTF-2000.
793         (BT_UINT16_nil): New macro in UTF-2000.
794         (BT_UINT16_unbound): New macro in UTF-2000.
795         (INT_UINT16_P): New inline function in UTF-2000.
796         (UINT16_VALUE_P): New inline function in UTF-2000.
797         (UINT16_ENCODE): New inline function in UTF-2000.
798         (UINT16_DECODE): New inline function in UTF-2000.
799         (UINT8_TO_UINT16): New inline function in UTF-2000.
800         (mark_uint16_byte_table): New function in UTF-2000.
801         (print_uint16_byte_table): New function in UTF-2000.
802         (uint16_byte_table_equal): New function in UTF-2000.
803         (uint16_byte_table_hash): New function in UTF-2000.
804         (make_uint16_byte_table): New function in UTF-2000.
805         (uint16_byte_table_same_value_p): New function in UTF-2000.
806         (print_byte_table): New function in UTF-2000.
807         (byte-table): Use `print_byte_table' as printer.
808         (make_byte_table): Delete second argument `older'.
809         (byte_table_same_value_p): New function in UTF-2000.
810         (copy_byte_table): Deleted.
811         (get_byte_table): New function in UTF-2000.
812         (put_byte_table): New function in UTF-2000.
813         (print_char_id_table): New function in UTF-2000.
814         (char-id-table): Use `print_char_id_table' as printer.
815         (make_char_id_table): Delete second argument `older'.
816         (get_char_id_table): Use `get_byte_table [new implementation].
817         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
818         implementation].
819         (Ffind_char_attribute_table): New function in UTF-2000.
820         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
821         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
822         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
823         (syms_of_mule_charset): Add new function
824         `find-char-attribute-table' in UTF-2000.
825
826         * lrecord.h (enum lrecord_type): Add
827         `lrecord_type_uint16_byte_table' and
828         `lrecord_type_uint8_byte_table'.
829
830         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
831         (Lisp_Uint8_Byte_Table): New type.
832         (XUINT8_BYTE_TABLE): New macro.
833         (XSETUINT8_BYTE_TABLE): New macro.
834         (UINT8_BYTE_TABLE_P): New macro.
835         (GC_UINT8_BYTE_TABLE_P): New macro.
836         (struct Lisp_Uint16_Byte_Table): New structure.
837         (Lisp_Uint16_Byte_Table): New type.
838         (XUINT16_BYTE_TABLE): New macro.
839         (XSETUINT16_BYTE_TABLE): New macro.
840         (UINT16_BYTE_TABLE_P): New macro.
841         (GC_UINT16_BYTE_TABLE_P): New macro.
842
843 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
844
845         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
846         (Vcharacter_ideographic_strokes_table): Deleted.
847         (Vcharacter_total_strokes_table): Deleted.
848         (Vcharacter_morohashi_daikanwa_table): Deleted.
849         (Vcharacter_decomposition_table): Deleted.
850         (Qname): Deleted because it is duplicated.
851         (Qideographic_radical): Deleted.
852         (Qideographic_strokes): Deleted.
853         (Qtotal_strokes): Deleted.
854         (Qmorohashi_daikanwa): Deleted.
855         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
856         `ideographic-radical', `ideographic-strokes', `total-strokes',
857         `morohashi-daikanwa' and `->decomposition'.
858         (Fget_char_attribute): Likewise.
859         (Fput_char_attribute): Likewise; use `make-vector' instead of
860         `make_older_vector' for `->decomposition' value.
861         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
862         `ideograph-daikanwa'.
863         (syms_of_mule_charset): Delete builtin symbols `name',
864         `ideographic-radical', `ideographic-strokes', `total-strokes' and
865         `morohashi-daikanwa'.
866         (vars_of_mule_charset): Don't setup
867         `Vcharacter_ideographic_radical_table',
868         `Vcharacter_ideographic_strokes_table',
869         `Vcharacter_total_strokes_table',
870         `Vcharacter_morohashi_daikanwa_table' and
871         `Vcharacter_decomposition_table'.
872
873 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
874
875         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
876         `make_older_vector', `make_vector_newer_1' and
877         `make_vector_newer'.
878
879         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
880         `make_older_vector' and `make_vector_newer'.
881
882         * config.h.in (HAVE_GGC): New macro.
883
884 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
885
886         * mule-charset.c (struct char_attribute_list_closure): New
887         structure in UTF-2000.
888         (add_char_attribute_to_list_mapper): New function in UTF-2000.
889         (Fchar_attribute_list): Likewise.
890         (Fset_charset_mapping_table): Use `make_vector_newer'.
891         (Fdecode_builtin_char): New function in UTF-2000.
892         (syms_of_mule_charset): Add new function `char-attribute-list' and
893         `decode-builtin-char' in UTF-2000.
894
895         * lisp.h (make_vector_newer): New prototype.
896
897         * alloc.c (make_vector_newer_1): New function.
898         (make_vector_newer): New function.
899
900 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
901
902         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
903         50100)'.
904
905 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
906
907         * mule-charset.c (Vchar_attribute_hash_table): New variable.
908         (Vcharacter_attribute_table): Deleted.
909         (Vcharacter_name_table): Deleted.
910         (put_char_attribute): Deleted.
911         (remove_char_attribute): Deleted.
912         (struct char_attribute_alist_closure): New structure.
913         (add_char_attribute_alist_mapper): New function.
914         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
915         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
916         (Fget_char_attribute): Likewise.
917         (Fput_char_attribute): Likewise.
918         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
919         of `remove_char_attribute'.
920         (Fdefine_char): Return character.
921         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
922         and `Vcharacter_name_table'.
923         (complex_vars_of_mule_charset): Likewise
924         `Vchar_attribute_hash_table'.
925
926 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
927
928         * character.h (CHARC_CHARSET): New macro.
929         (CHARC_CHARSET_ID): New macro.
930         (CHARC_CODE_POINT): New macro.
931         (CHARC_COLUMNS): New macro.
932         (CHARC_TO_CHAR): New inline function.
933         (CHARC_EQ): New inline function.
934         (CHARC_ASCII_EQ): New inline function.
935         (CHARC_IS_SPACE): New inline function.
936         (ASCII_TO_CHARC): New inline function.
937
938         * char-ucs.h (encode_char_2): Deleted.
939         (ENCODE_CHAR): Use `encode_char_1' again.
940         (breakup_char_1): Likewise.
941         (CHAR_TO_CHARC): New inline function.
942
943         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
944
945 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
946
947         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
948         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
949         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
950         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
951         (create_string_text_block): Use `CHARC_ASCII_EQ' and
952         `CHARC_IS_SPACE'.
953         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
954
955         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
956         `CHARC_CODE_POINT'.
957         (x_output_display_block): Use `CHARC_CHARSET' and
958         `CHARC_ASCII_EQ'.
959
960         * redisplay-tty.c (tty_output_display_block): Use
961         `CHARC_ASCII_EQ'.
962         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
963
964         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
965
966         * insdel.c (find_charsets_in_charc_string): Use
967         `CHARC_CHARSET_ID'.
968         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
969         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
970         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
971         (convert_charc_string_into_malloced_string): Likewise.
972
973 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
974
975         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
976         instead of <Emchar_dynarr *> for buf; use
977         `convert_bufbyte_string_into_charc_dynarr' instead of
978         `convert_bufbyte_string_into_emchar_dynarr'; use
979         `find_charsets_in_charc_string' instead of
980         `find_charsets_in_emchar_string'.
981
982         * redisplay.h:
983         - Include "character.h".
984         (struct rune): New member `cglyph'; delete member `chr'.
985
986         * redisplay.c (redisplay_text_width_charc_string): New function;
987         delete `redisplay_text_width_emchar_string'.
988         (rtw_charc_dynarr): New variable; renamed from
989         `rtw_emchar_dynarr'.
990         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
991         `rtw_emchar_dynarr'; use
992         `convert_bufbyte_string_into_charc_dynarr' instead of
993         `convert_bufbyte_string_into_emchar_dynarr'; use
994         `redisplay_text_width_charc_string' instead of
995         `redisplay_text_width_emchar_string'.
996         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
997         instead of `rtw_emchar_dynarr'; use
998         `convert_bufbyte_string_into_charc_dynarr' instead of
999         `convert_bufbyte_string_into_emchar_dynarr'.
1000         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1001         `redisplay_text_width_charc_string' instead of
1002         `redisplay_text_width_emchar_string'.
1003         (create_text_block): Modify for <struct rune> change.
1004         (generate_formatted_string_db): Likewise.
1005         (create_string_text_block): Likewise.
1006         (pixel_to_glyph_translation): Likewise.
1007
1008         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1009         instead of <const Emchar *>.
1010         (x_text_width): Likewise.
1011         (x_output_display_block): Use <Charc_dynarr *> instead
1012         <Emchar_dynarr *>; modify for <structure rune> change.
1013         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1014         *>.
1015
1016         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1017         <const Emchar *>; use `charc_string_displayed_columns' instead of
1018         `emchar_string_displayed_columns'.
1019         (tty_output_display_block): Use <Charc_dynarr *> instead of
1020         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1021         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1022         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1023         `tty_output_emchar_dynarr_dynarr'.
1024         (tty_output_charc_dynarr): New function; delete
1025         `tty_output_charc_dynarr'.
1026
1027         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1028         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1029         <Emchar_dynarr *> for buf; use
1030         `convert_bufbyte_string_into_charc_dynarr' instead of
1031         `convert_bufbyte_string_into_emchar_dynarr'.
1032
1033         * frame.c (title_string_charc_dynarr): New variable; renamed from
1034         `title_string_emchar_dynarr'.
1035         (generate_title_string): Use `title_string_charc_dynarr' instead
1036         of `title_string_emchar_dynarr'; use
1037         `convert_charc_string_into_malloced_string' instead of
1038         `convert_emchar_string_into_malloced_string'.
1039         (init_frame): Use `title_string_charc_dynarr' instead of
1040         `title_string_emchar_dynarr'.
1041
1042         * console.h:
1043         - Include "character.h".
1044         (struct console_methods): Use <const Charc *> instead of <const
1045         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1046         <Emchar_dynarr *> in output_string_method.
1047
1048         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1049         <Emchar_dynarr *>.
1050
1051         * console-stream.c (stream_text_width): Use <const Charc *>
1052         instead of <const Emchar *>.
1053
1054         * character.h (Charc_dynarr): New type.
1055
1056         * char-ucs.h (structure Charc): New structure; define new type
1057         `Charc'.
1058
1059         * char-lb.h (DECODE_CHAR): New inline function.
1060         (encode_char_1): New inline function.
1061         (ENCODE_CHAR): New macro.
1062         (structure Charc): New structure; define new type `Charc'.
1063
1064         * char-1byte.h (Vcharset_control_1): New macro.
1065         (Vcharset_latin_iso8859_1): New macro.
1066         (DECODE_CHAR): New inline function.
1067         (encode_char_1): New inline function.
1068         (ENCODE_CHAR): New macro.
1069         (structure Charc): New structure; define new type `Charc'.
1070
1071         * insdel.c (find_charsets_in_charc_string): New function; delete
1072         `find_charsets_in_emchar_string'.
1073         (charc_string_displayed_columns): New function; delete
1074         `emchar_string_displayed_columns'.
1075         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1076         `convert_bufbyte_string_into_emchar_dynarr'.
1077         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1078         `convert_charc_string_into_bufbyte_dynarr'.
1079         (convert_charc_string_into_malloced_string): New function; delete
1080         `convert_charc_string_into_malloced_string'.
1081
1082         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1083         `find_charsets_in_emchar_string'.
1084         (charc_string_displayed_columns): New prototype; delete
1085         `emchar_string_displayed_columns'.
1086         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1087         `convert_charc_string_into_bufbyte_dynarr'.
1088         (convert_charc_string_into_malloced_string): New prototype; delete
1089         `convert_charc_string_into_malloced_string'.
1090
1091 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1092
1093         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1094
1095 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1096
1097         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1098
1099         * char-ucs.h: Use <short> for <Charset_ID>.
1100
1101         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1102         <Charset_ID>.
1103
1104 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1105
1106         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1107         to 0.16.
1108
1109 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1110
1111         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1112         variable.
1113         (Qmorohashi_daikanwa): New variable.
1114         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1115         for `morohashi-daikanwa' attribute.
1116         (Fget_char_attribute): Likewise.
1117         (Fput_char_attribute): Likewise.
1118         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1119         has the same value of `ideograph-daikanwa'.
1120         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1121         (vars_of_mule_charset): Setup
1122         `Vcharacter_morohashi_daikanwa_table'.
1123
1124 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1125
1126         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1127         attributes.
1128         (add_charset_to_list_mapper): Add `key' instead of
1129         `XCHARSET_NAME (value)' to return aliases.
1130
1131 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1132
1133         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1134         variable.
1135         (Vcharacter_ideographic_strokes_table): New variable.
1136         (Qideographic_radical): New variable.
1137         (Qideographic_strokes): New variable.
1138         (Fchar_attribute_alist): Use
1139         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1140         attribute; use `Vcharacter_ideographic_strokes_table' for
1141         `ideographic-strokes' attribute.
1142         (Fget_char_attribute): Likewise.
1143         (Fput_char_attribute): Likewise.
1144         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1145         `ideographic-strokes'.
1146         (vars_of_mule_charset): Setup
1147         `Vcharacter_ideographic_radical_table' and
1148         `Vcharacter_ideographic_strokes_table'.
1149
1150 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1151
1152         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1153         (Qtotal_strokes): New variable.
1154         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1155         `total-strokes' attribute.
1156         (Fget_char_attribute): Likewise.
1157         (Fput_char_attribute): Likewise.
1158         (syms_of_mule_charset): Add new symbol `total-strokes'.
1159         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1160
1161 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1162
1163         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1164         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1165         are found.
1166         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1167         `->decomposition' attribute.
1168         (Fput_char_attribute): Likewise.
1169         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1170
1171 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1172
1173         * mule-charset.c (decoding_table_check_elements): New function.
1174         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1175
1176 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1177
1178         * mule-charset.c (Fset_charset_mapping_table): Use
1179         `put_char_ccs_code_point'.
1180
1181 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1182
1183         * mule-charset.c (decoding_table_put_char): New inline function.
1184         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1185
1186 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1187
1188         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1189         (XCHARSET_BYTE_SIZE): New macro.
1190         (decoding_table_remove_char): New inline function.
1191         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1192         `decoding_table_remove_char'.
1193         (remove_char_ccs): Use `decoding_table_remove_char'.
1194         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1195
1196 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1197
1198         * mule-charset.c (Vcharacter_name_table): New variable.
1199         (Qname): New variable.
1200         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1201         attribute.
1202         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1203         `Vcharacter_name_table' for `name' attribute.
1204         (Fremove_char_attribute): Use function `remove_char_ccs'.
1205         (put_char_ccs_code_point): New function.
1206         (remove_char_ccs): New function.
1207         (syms_of_mule_charset): Add new symbol `name'.
1208         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1209
1210 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1211
1212         * mule-charset.c (make_byte_table): Add new argument `older'.
1213         (make_char_id_table): Likewise.
1214         (copy_char_id_table): Comment out because it is not used.
1215         (put_char_id_table): Modify for `make_byte_table'.
1216         (Fput_char_attribute): Make encoding_table as older object;
1217         inherit older bit of `Vcharacter_composition_table'.
1218         (mark_charset): Don't mark `cs->encoding_table'.
1219         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1220         normal object; make `Vcharacter_composition_table' as an older
1221         object; delete staticpro for `Vcharacter_composition_table'; make
1222         `Vcharacter_variant_table' as a normal object.
1223
1224         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1225         (mark_object): Don't check older object in UTF-2000.
1226
1227         * lrecord.h (struct lrecord_header): Add new member `older' in
1228         UTF-2000.
1229         (set_lheader_implementation): Setup `SLI_header->older' in
1230         UTF-2000.
1231         (set_lheader_older_implementation): New macro in UTF-2000.
1232         (OLDER_RECORD_P): New macro in UTF-2000.
1233         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1234         (alloc_older_lcrecord): New prototype in UTF-2000.
1235         (alloc_older_lcrecord_type): New macro in UTF-2000.
1236
1237 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1238
1239         * mule-charset.c (byte_table_description): Use
1240         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1241         (char_id_table_description): Delete bogus `, 1'.
1242         (Fget_char_attribute): Refer encoding_table of each coded-charset
1243         to get value of coded-charset attribute of a character.
1244         (Fput_char_attribute): Use `make_older_vector' instead of
1245         `make_vector'; use encoding_table of each coded-charset to store
1246         value of coded-charset attribute of a character.
1247         (Fremove_char_attribute): Use encoding_table of each coded-charset
1248         to store value of coded-charset attribute of a character.
1249         (mark_charset): Mark `cs->encoding_table'; don't mark
1250         `cs->decoding_table'.
1251         (charset_description): Add description of new member
1252         `encoding_table'.
1253         (make_charset): Initialize `encoding_table'.
1254
1255         * char-ucs.h (struct Lisp_Charset): Add new member
1256         `encoding_table'.
1257         (CHARSET_ENCODING_TABLE): New macro.
1258         (XCHARSET_ENCODING_TABLE): New macro.
1259         (charset_code_point): New implementation.
1260         (encode_char_1): Likewise.
1261
1262         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1263         (disksave_object_finalization_1): Call finalizers of
1264         `all_older_lcrecords' in UTF-2000.
1265         (make_older_vector): New function in UTF-2000.
1266         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1267         UTF-2000.
1268
1269         * lisp.h (make_older_vector): New prototype in UTF-2000.
1270
1271 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1272
1273         * lrecord.h (enum lrecord_type): Rename
1274         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1275
1276         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1277         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1278         `get_char_code_table'.
1279
1280         * mule-charset.c (mark_char_id_table): Renamed from
1281         `mark_char_code_table'.
1282         (char_id_table_equal): Renamed from `char_code_table_equal'.
1283         (char_id_table_hash): Renamed from `char_code_table_hash'.
1284         (make_char_id_table): Renamed from `make_char_code_table'.
1285         (copy_char_id_table): Renamed from `copy_char_code_table'.
1286         (get_char_id_table): Renamed from `get_char_code_table'.
1287         (put_char_id_table): Renamed from `put_char_code_table'.
1288         (to_char_id): Renamed from `to_char_code'.
1289
1290         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1291         `Lisp_Char_Code_Table'.
1292         (char_id_table): Renamed from `char_code_table'.
1293         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1294         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1295         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1296         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1297         (get_char_id_table): Renamed from `get_char_code_table'.
1298
1299 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1300
1301         * lrecord.h (enum lrecord_type): Rename
1302         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1303
1304         * mule-charset.c (mark_byte_table): Renamed from
1305         `mark_char_byte_table'.
1306         (byte_table_equal): Renamed from `char_byte_table_equal'.
1307         (byte_table_hash): Renamed from `byte_table_hash'.
1308         (make_byte_table): Renamed from `make_byte_table'.
1309         (copy_byte_table): Renamed from `copy_char_byte_table'.
1310
1311         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1312         `Lisp_Char_Byte_Table'.
1313         (byte_table): Renamed from `char_byte_table'.
1314         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1315         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1316         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1317         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1318
1319 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1320
1321         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1322         (dfc_convert_to_internal_format): Likewise.
1323         
1324         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1325         * text-coding.c (Fcoding_system_alias_p): New function.
1326         * text-coding.c (Fcoding_system_aliasee): New function.
1327         * text-coding.c (append_suffix_to_symbol): New function.
1328         * text-coding.c (dangling_coding_system_alias_p): New function.
1329         * text-coding.c (Ffind_coding_system):
1330         * text-coding.c (Fcopy_coding_system):
1331         * text-coding.c (encode_coding_no_conversion):
1332         * text-coding.c (syms_of_file_coding):
1333         * text-coding.c (vars_of_file_coding):
1334         Rewrite coding system alias code.
1335         Allow nested aliases, like symbolic links.
1336         Allow redefinition of coding system aliases.
1337         Prevent existence of dangling coding system aliases.
1338         Eliminate convert_to_external_format.
1339         Eliminate convert_to_internal_format.
1340         
1341         * text-coding.c: Change enum eol_type to eol_type_t.
1342
1343 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1344
1345         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1346         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1347
1348         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1349         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1350
1351 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1352
1353         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1354         `ideograph-daikanwa'.
1355
1356         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1357         (Vcharset_ucs_bmp): Likewise.
1358         (Vcharset_mojikyo): Add new extern variable definition.
1359         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1360         (Vcharset_latin_iso8859_3): Likewise.
1361         (Vcharset_latin_iso8859_4): Likewise.
1362         (Vcharset_latin_iso8859_9): Likewise.
1363         (Vcharset_latin_viscii_lower): Likewise.
1364         (Vcharset_latin_viscii_upper): Likewise.
1365         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1366         `mojikyo' code-point is used to decode.
1367         (encode_char_2): New function [to convert `mojikyo' code-point to
1368         Mojikyo font encoding].
1369         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1370         (breakup_char_1): Likewise.
1371         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1372
1373 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1374
1375         * text-coding.c (Fmake_coding_system): Add document about
1376         `disable-composition' property.
1377
1378 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1379
1380         * text-coding.c (Qdisable_composition): New variable; delete
1381         `Qcomposite'.
1382         (Fmake_coding_system): Add new property `disable-composite';
1383         delete property `composite'.
1384         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1385         instead of `!CODING_SYSTEM_COMPOSITE'.
1386         (syms_of_file_coding): Add new symbol `disable-composition';
1387         delete symbol `composite'.
1388
1389         * file-coding.h (struct Lisp_Coding_System): Add
1390         `disable_composition'; delete `enable_composition'.
1391         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1392         `CODING_SYSTEM_COMPOSITE'.
1393         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1394         `XCODING_SYSTEM_COMPOSITE'.
1395
1396 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1397
1398         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1399         to 0.15.
1400
1401 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1402
1403         * text-coding.c (Qcomposite): New variable.
1404         (Fmake_coding_system): Add new property `composite'.
1405         (struct decoding_stream): Add `combined_char_count',
1406         `combined_chars' and `combining_table' in UTF-2000.
1407         (COMPOSE_FLUSH_CHARS): New macro.
1408         (COMPOSE_ADD_CHAR): New macro.
1409         (reset_decoding_stream): Reset `str->combined_char_count' and
1410         `str->combining_table' in UTF-2000.
1411         (decode_coding_iso2022): Modify for character-decomposition.
1412         (syms_of_file_coding): Add new symbol `composite'.
1413
1414 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1415
1416         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1417         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1418         of `Vcharacter_composition_table' if `->decomposition' property
1419         has only 1 element.
1420         (Qlatin_tcvn5712): New variable.
1421         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1422         (complex_vars_of_mule_charset): Add new coded-charset
1423         `latin-tcvn5712'.
1424
1425         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1426
1427 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1428
1429         * file-coding.h (struct Lisp_Coding_System): Add
1430         `enable_composition'.
1431         (CODING_SYSTEM_COMPOSITE): New macro.
1432         (XCODING_SYSTEM_COMPOSITE): New macro.
1433
1434 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1435
1436         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1437
1438 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1439
1440         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1441         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1442
1443 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1444
1445         * mule-charset.c (Vcharset_mojikyo): New variable.
1446         (Fdefine_char): Don't use coded-charset which does not have
1447         non-builtin character range to allocate character-id.
1448         (Qmojikyo): New variable.
1449         (syms_of_mule_charset): Add new symbol `mojikyo'.
1450         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1451
1452         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1453         (LEADING_BYTE_MOJIKYO): New macro.
1454         (MIN_CHAR_MOJIKYO): New macro.
1455         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1456         (MAX_CHAR_MOJIKYO): New macro.
1457
1458 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1459
1460         * mule-charset.c (remove_char_attribute): Fixed.
1461
1462 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1463
1464         * mule-charset.c (remove_char_attribute): New function.
1465         (Fremove_char_attribute): New function.
1466         (encode_builtin_char_1): Comment out builtin-support for
1467         greek-iso8859-7 and cyrillic-iso8859-5.
1468         (Fdecode_char): Check `code' is an integer.
1469         (syms_of_mule_charset): Add `remove-char-attribute'.
1470         (MIN_CHAR_GREEK): Deleted.
1471         (MAX_CHAR_GREEK): Likewise.
1472         (MIN_CHAR_CYRILLIC): Likewise.
1473         (MAX_CHAR_CYRILLIC): Likewise.
1474         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1475         MAX_CHAR_GREEK for `greek-iso8859-7'.
1476
1477         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1478         (MAX_CHAR_GREEK): Likewise.
1479         (MIN_CHAR_CYRILLIC): Likewise.
1480         (MAX_CHAR_CYRILLIC): Likewise.
1481
1482 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1483
1484         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1485         format is used without `ucs' property.
1486         (Fdecode_char): Fix problem with GR representation.
1487         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1488         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1489
1490 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1491
1492         * mule-charset.c (make_builtin_char): New function.
1493         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1494         (Fset_charset_mapping_table): Modify for new representation of
1495         code-point.
1496         (Fdecode_char): New function.
1497         (syms_of_mule_charset): Add new builtin function `decode-char' in
1498         UTF-2000.
1499
1500         * char-ucs.h (make_builtin_char): New prototype.
1501         (DECODE_CHAR): New inline function.
1502         (MAKE_CHAR): Use `DECODE_CHAR'.
1503
1504 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1505
1506         * text-coding.c (parse_charset_conversion_specs): Use
1507         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1508         `XCHARSET_TYPE'.
1509         (iso2022_designate): Likewise.
1510
1511         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1512         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1513
1514         * mule-charset.c (Vcharset_ucs): New variable.
1515         (print_charset): Change design; use `CHARSET_CHARS' and
1516         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1517         (make_charset): Change signature to specify `chars' and
1518         `dimension' instead of `type'.
1519         (range_charset_code_point): Modify for 256^n-set.
1520         (encode_builtin_char_1): Encode as `ucs' in default.
1521         (Fmake_charset): Modify for `make_charset'.
1522         (Fmake_reverse_direction_charset): Likewise.
1523         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1524         UTF-2000.
1525         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1526         for `make_charset'.
1527
1528         * char-ucs.h (Vcharset_ucs): New variable.
1529         (LEADING_BYTE_UCS): New macro.
1530         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1531         and `chars' to `unsigned short' from `unsigned int'.
1532         (CHARSET_TYPE): Deleted.
1533         (XCHARSET_TYPE): Deleted.
1534
1535 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1536
1537         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1538
1539         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1540         (ENCODE_CHAR): New macro.
1541
1542 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1543
1544         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1545         to 0.14 (Kawachi-Katakami).
1546
1547 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1548
1549         * text-coding.c (char_encode_shift_jis): Modify for
1550         `charset_code_point'.
1551         (char_encode_iso2022): Likewise.
1552
1553         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1554         (integer) instead of list of <Lisp_Object>s (integers) as the
1555         format of code-point of a coded-charset.
1556         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1557         (encode_builtin_char_1): New function; delete
1558         `split_builtin_char'.
1559         (charset_code_point): Return <int> instead of <Lisp_Object>.
1560         (Fsplit_char): Don't use `SPLIT_CHAR'.
1561
1562         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1563         prototype for `split_builtin_char'.
1564         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1565         (charset_code_point): Likewise.
1566         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1567         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1568
1569 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1570
1571         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1572         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1573
1574 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1575
1576         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1577
1578         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1579         (MAX_CHAR_OBS_94x94): Deleted.
1580
1581 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1582
1583         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1584
1585         * char-ucs.h (MAX_CHAR_BMP): New macro.
1586
1587 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1588
1589         * text-coding.c: Sync with r21-2-24.
1590
1591 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1592
1593         * file-coding.c: Modify for UTF-2000.
1594
1595 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1596
1597         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1598         to 0.13 (Takaida).
1599
1600 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1601
1602         * mule-charset.c (split_builtin_char): Delete builtin support for
1603         `katakana-jisx0201'.
1604         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1605         BMP area in builtin representation.
1606
1607         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1608         `Vcharset_katakana_jisx0201'.
1609
1610 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1611
1612         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1613         (Qisolated): New variable.
1614         (Qinitial): New variable.
1615         (Qmedial): New variable.
1616         (Qfinal): New variable.
1617         (Qvertical): New variable.
1618         (Qsmall): New variable.
1619         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1620         `Qvertical' and `Qsmall'.
1621         (Qmojikyo_pj_[1 .. 21]): New variable.
1622         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1623         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1624         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1625         .. 21]'.
1626
1627 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1628
1629         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1630         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1631         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1632
1633 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1634
1635         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1636         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1637         BMP.
1638         (Qjapanese_jisx0208_1990): New variable.
1639         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1640         (complex_vars_of_mule_charset): Add new coded-charset
1641         `japanese-jisx0208-1990'.
1642
1643         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1644         (MIN_CHAR_JIS_X0208_1990): New macro.
1645         (MAX_CHAR_JIS_X0208_1990): New macro.
1646
1647 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1648
1649         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1650         coded-charset is not found.
1651
1652 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1653
1654         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1655         (Fdefine_char): Use `Fmake_char'.
1656
1657 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1658
1659         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1660         (Vcharset_hiragana_jisx0208): Deleted.
1661         (Vcharset_katakana_jisx0208): Deleted.
1662         (Qideograph_daikanwa): New variable.
1663         (Qhiragana_jisx0208): Deleted.
1664         (Qkatakana_jisx0208): Deleted.
1665         (split_builtin_char): Split `ideograph-daikanwa'.
1666         (Fsplit_char): New implementation for UTF-2000.
1667         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1668         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1669         (complex_vars_of_mule_charset): Add new coded-charset
1670         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1671         `katakana-jisx0208'.
1672
1673         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1674         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1675         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1676         (MIN_CHAR_DAIKANWA): New macro.
1677         (MAX_CHAR_DAIKANWA): New macro.
1678
1679 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1680
1681         * data.c (Fstring_to_number): Don't recognize floating point if
1682         base is not 10.
1683
1684 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1685
1686         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1687
1688 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1689
1690         * mule-charset.c (Qsquare): New variable.
1691         (to_char_code): Add `Qsquare'.
1692         (syms_of_mule_charset): Add new symbol `square'.
1693
1694 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1695
1696         * mule-charset.c (Qcircle): New variable.
1697         (to_char_code): Add `Qcircle'.
1698         (syms_of_mule_charset): Add new symbol `circle'.
1699
1700 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1701
1702         * mule-charset.c (Qfont): New variable.
1703         (to_char_code): Add `Qfont'.
1704         (syms_of_mule_charset): Add new symbol `font'.
1705
1706 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1707
1708         * mule-charset.c (Qsub): New variable.
1709         (to_char_code): Add `Qsub'.
1710         (syms_of_mule_charset): Add new symbol `sub'.
1711
1712 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1713
1714         * mule-charset.c (Fput_char_attribute): Convert each element of
1715         VALUE to GL position if ATTRIBUTE is a GR-set,
1716
1717 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1718
1719         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1720         coded-charset is a GR-set.
1721
1722 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1723
1724         * mule-charset.c (Fput_char_attribute): Check each element of
1725         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1726
1727 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1728
1729         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1730         UTF-2000.
1731         (Qethiopic_ucs): New variable in UTF-2000.
1732         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1733         (complex_vars_of_mule_charset): Add new coded-charset
1734         `ethiopic-ucs' in UTF-2000.
1735
1736         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1737         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1738         9)'.
1739         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1740         10)'.
1741         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1742
1743 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1744
1745         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1746         `ascii'.
1747
1748 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1749
1750         * mule-charset.c (Vcharacter_variant_table): New variable.
1751         (Q_ucs): New variable.
1752         (Fchar_variants): New function.
1753         (Fput_char_attribute): Register `->ucs' value to
1754         `Vcharacter_variant_table'.
1755         (syms_of_mule_charset): Add new function `char-variants' and new
1756         symbol `->ucs'.
1757         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1758
1759 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1760
1761         * mule-charset.c (get_char_code_table): Allow negative character
1762         code.
1763         (put_char_code_table): Likewise.
1764         (Vcharacter_composition_table): New variable.
1765         (Q_decomposition): New variable.
1766         (Qwide): New variable.
1767         (Qnarrow): New variable.
1768         (Qcompat): New variable.
1769         (QnoBreak): New variable.
1770         (Qsuper): New variable.
1771         (Qfraction): New variable.
1772         (to_char_code): New function.
1773         (Fget_composite_char): New function.
1774         (Fput_char_attribute): Register `->decomposition' value to
1775         `Vcharacter_composition_table'.
1776         (syms_of_mule_charset): Add new function `get-composite-char', new
1777         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1778         `super' and `fraction'.
1779         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1780
1781 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1782
1783         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1784         character; copy the return value.
1785
1786 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1787
1788         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1789
1790         * mule-charset.c (range_charset_code_point): Must use make_int.
1791         (split_builtin_char): New function.
1792
1793 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1794
1795         * mule-charset.c (char_byte_table): Change name from
1796         "char-code-table" to "char-byte-table".
1797         (mark_char_code_table): New function.
1798         (char_code_table_equal): New function.
1799         (char_code_table_hash): New function.
1800         (char_code_table_description): New constant.
1801         (char_code_table): New type.
1802         (make_char_code_table): New function.
1803         (copy_char_code_table): New function.
1804         (get_char_code_table): Modify for `char_code_table' type.
1805         (put_char_code_table): Likewise.
1806         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1807         (Kashiwara).
1808
1809         * char-ucs.h (char_code_table): New type.
1810         (XCHAR_CODE_TABLE): New macro.
1811         (XSETCHAR_CODE_TABLE): New macro.
1812         (CHAR_CODE_TABLE_P): New macro.
1813         (GC_CHAR_CODE_TABLE_P): New macro.
1814         (struct Lisp_Char_Code_Table): New structure.
1815
1816 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1817
1818         * mule-charset.c (Fmake_charset): Setup byte_offset for
1819         {94|96}^n-set.
1820
1821 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1822
1823         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
1824         character.
1825
1826 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1827
1828         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
1829         is found.
1830
1831 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1832
1833         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
1834         charset, it is regarded as a charset.
1835         (put_char_attribute): New function in UTF-2000.
1836         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
1837         charset, mapping-table of the charset is modified.
1838         (Fdefine_char): New function in UTF-2000.
1839         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
1840         `Fput_char_attribute'.
1841         (syms_of_mule_charset): Add new function `define-char' and new
1842         symbol `ucs' in UTF-2000.
1843         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
1844
1845 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1846
1847         * mule-charset.c (Fcharset_name): Define `byte_offset' in
1848         non-UTF-2000 configuration.
1849
1850 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1851
1852         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
1853         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
1854
1855         * mule-charset.c (mark_charset): `cs->encoding_table' has been
1856         deleted.
1857         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
1858         (Fset_charset_mapping_table): Likewise.
1859
1860         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
1861         (CHARSET_ENCODING_TABLE): Delete.
1862         (XCHARSET_ENCODING_TABLE): Delete.
1863         (charset_code_point): New interface.
1864
1865 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1866
1867         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
1868         instead of `charset_get_byte1' and `charset_get_byte2'.
1869
1870         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
1871         (charset_get_byte2): Deleted.
1872
1873 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1874
1875         * char-ucs.h (SPLIT_CHAR): New inline function.
1876         (breakup_char_1): Use `SPLIT_CHAR'.
1877
1878         * mule-charset.c (range_charset_code_point): New function.
1879         (charset_code_point): New function.
1880
1881         * char-ucs.h (range_charset_code_point): New interface.
1882         (breakup_char_1): Use `range_charset_code_point'.
1883
1884 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1885
1886         * mule-charset.c (Fmake_charset): Delete unused local variable
1887         `code_offset'.
1888
1889         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
1890         (breakup_char_1): Find a charset and code-point in
1891         `Vcharacter_attribute_table'.
1892
1893 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1894
1895         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1896         to 0.10 (Yao).
1897
1898 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1899
1900         * mule-charset.c (Vcharacter_attribute_table): New variable.
1901         (Fchar_attribute_alist): New function.
1902         (Fget_char_attribute): New function.
1903         (Fput_char_attribute): New function.
1904         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
1905         too.
1906         (syms_of_mule_charset): Add new function `char-attribute-alist',
1907         `get-char-attribute' and `put-char-attribute'.
1908         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
1909
1910 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
1911
1912         * mule-charset.c (Fmake_charset): Just use
1913         `get_unallocated_leading_byte'.
1914
1915         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
1916         sets; don't use final-byte based number for private sets.
1917
1918 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1919
1920         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
1921         integer.
1922
1923 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1924
1925         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1926         to 0.9.
1927
1928 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1929
1930         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
1931         of `CHAR_LEADING_BYTE' in UTF-2000.
1932
1933         * insdel.c (find_charsets_in_bufbyte_string): Use
1934         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1935         (find_charsets_in_emchar_string): Likewise.
1936
1937         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
1938         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
1939
1940         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
1941         (CHAR_CHARSET_ID): New macro.
1942
1943 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1944
1945         * chartab.c (get_char_table): Don't use type `Charset_ID' for
1946         charset-id - MIN_LEADING_BYTE.
1947         (put_char_table): Likewise.
1948
1949 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1950
1951         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
1952         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
1953         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
1954         (CHARSET_ID_OFFSET): New macro.
1955         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
1956         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
1957         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
1958         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
1959         4).
1960         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
1961         5).
1962         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
1963         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
1964         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
1965         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
1966         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
1967
1968 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1969
1970         * mule-charset.c (next_allocated_leading_byte): New variable in
1971         UTF-2000.
1972         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
1973         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
1974         (get_unallocated_leading_byte): Simply use
1975         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
1976         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
1977         UTF-2000.
1978
1979         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
1980         (MAX_LEADING_BYTE_PRIVATE): New macro.
1981         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
1982         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
1983
1984 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1985
1986         * mule-charset.c (Fmake_charset): Allocate final-byte based
1987         charset-id for 94-set, 96-set and 94x94-set.
1988
1989 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1990
1991         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
1992         ambiguous `else'.
1993         (Fmake_charset): Likewise.
1994         (complex_vars_of_mule_charset): Modify the font registry of
1995         `ucs-bmp' not to match `Ethiopic-Unicode'.
1996
1997 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1998
1999         * mule-charset.c (complex_vars_of_mule_charset): Add font
2000         registory of `ucs-bmp'.
2001
2002 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2003
2004         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2005         coded-charsets in `default-coded-charset-priority-list' when
2006         breaking up a character.
2007
2008         * mule-charset.c (Vcharset_latin_viscii): New variable.
2009         (Qlatin_viscii): New variable.
2010         (make_charset): Don't use `decoding_table'.
2011         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2012         byte_offset.
2013         (Fset_charset_mapping_table): New implementation.
2014         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2015         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2016         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2017         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2018         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2019         charset `latin_viscii'.
2020
2021         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2022         (CHARSET_TYPE_94X94): Change to 1 from 2.
2023         (CHARSET_TYPE_96): Change to 2 from 1.
2024         (CHARSET_TYPE_128): New macro.
2025         (CHARSET_TYPE_128X128): Change to 5 from 4.
2026         (CHARSET_TYPE_256): New macro.
2027         (CHARSET_TYPE_256X256): Change to 7 from 5.
2028         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2029
2030 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2031
2032         * text-coding.c (char_encode_shift_jis): Refer
2033         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2034         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2035
2036         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2037         (char_byte_table_equal): New function in UTF-2000.
2038         (char_byte_table_hash): New function in UTF-2000.
2039         (char_byte_table_description): New constant in UTF-2000.
2040         (char_byte_table): New type in UTF-2000.
2041         (make_char_byte_table): New function in UTF-2000.
2042         (copy_char_byte_table): New function in UTF-2000.
2043         (make_char_code_table): New macro in UTF-2000.
2044         (get_char_code_table): New function in UTF-2000.
2045         (put_char_code_table): New function in UTF-2000.
2046         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2047         (charset_description): Add setting in UTF-2000.
2048         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2049         `CHARSET_TO_BYTE1_TABLE(cs)'.
2050         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2051         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2052         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2053         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2054         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2055         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2056         `CHARSET_TO_BYTE2_TABLE(cs)'.
2057
2058         * char-ucs.h (char_byte_table): New type.
2059         (XCHAR_BYTE_TABLE): New macro.
2060         (XSETCHAR_BYTE_TABLE): New macro.
2061         (CHAR_BYTE_TABLE_P): New macro.
2062         (GC_CHAR_BYTE_TABLE_P): New macro.
2063         (struct Lisp_Char_Byte_Table): New structure.
2064         (get_char_code_table): New interface.
2065         (Emchar_to_byte_table): Deleted.
2066         (get_byte_from_character_table): Deleted.
2067         (struct Lisp_Charset): Add `encoding_table'; delete
2068         `to_byte1_table' and `to_byte2_table'.
2069         (CHARSET_ENCODING_TABLE): New macro.
2070         (CHARSET_TO_BYTE1_TABLE): Deleted.
2071         (CHARSET_TO_BYTE2_TABLE): Deleted.
2072         (XCHARSET_ENCODING_TABLE): New macro.
2073         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2074         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2075
2076 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2077
2078         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2079         `vietnamese-viscii-*'.
2080
2081 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2082
2083         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2084         (Qvietnamese_viscii_upper): New variable.
2085         (Fdefine_charset_alias): New function.
2086         (syms_of_mule_charset): Add new function `define-charset-alias'.
2087         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2088         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2089         `latin-viscii-*'.
2090
2091 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2092
2093         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2094         (MAX_CHAR_OBS_94x94): New macro.
2095         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2096         for 94x94 sets.
2097
2098         * mule-charset.c (put_byte_from_character_table): Change unit size
2099         from 128 to 256.
2100         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2101         not defined.
2102         (Fmake_reverse_direction_charset): Modify dummy argument of
2103         `make_charset' for non-UTF-2000 environment.
2104
2105 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2106
2107         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2108
2109         * mule-charset.c (destroy_byte_from_character_table): New macro.
2110         (latin_jisx0201_to_ucs): Deleted.
2111         (latin_iso8859_2_to_ucs): Deleted.
2112         (latin_iso8859_3_to_ucs): Deleted.
2113         (latin_iso8859_4_to_ucs): Deleted.
2114         (latin_iso8859_9_to_ucs): Deleted.
2115         (latin_viscii_lower_to_ucs): Deleted.
2116         (latin_viscii_upper_to_ucs): Deleted.
2117         (mark_charset): Mark `cs->decoding_table'.
2118         (Fcharset_mapping_table): Fix DOC-string.
2119         (Fset_charset_mapping_table): New function.
2120         (syms_of_mule_charset): Add nwe function
2121         `set-charset-mapping-table'.
2122         (complex_vars_of_mule_charset): Don't setup and use
2123         `latin_*_to_ucs'.
2124
2125 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2126
2127         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2128         charset.
2129
2130 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2131
2132         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2133         (Vcharset_katakana_jisx0208): New variable.
2134         (Qhiragana_jisx0208): New variable.
2135         (Qkatakana_jisx0208): New variable.
2136         (make_charset): Add new argument `byte_offset'.
2137         (charset_get_byte1): Modify for new coded-charset definition; use
2138         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2139         `XCHARSET_BYTE_OFFSET'.
2140         (Fmake_charset): Modify for `make_charset'.
2141         (Fmake_reverse_direction_charset): Likewise.
2142         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2143         `katakana-jisx0208'.
2144         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2145         `.'  in font registry of charset `katakana-jisx0201',
2146         `latin-jisx0201', `vietnamese-viscii-lower' and
2147         `vietnamese-viscii-upper'; modify DOC-string of charset
2148         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2149         registry of charset `japanese-jisx0208' not to use font for JIS
2150         X0208:1990; add new charset `hiragana-jisx0208' and
2151         `katakana-jisx0208'.
2152
2153         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2154         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2155         (struct Lisp_Charset): Add `byte_offset'.
2156         (CHARSET_BYTE_OFFSET): New macro.
2157         (XCHARSET_UCS_MIN): New macro.
2158         (XCHARSET_UCS_MAX): New macro.
2159         (XCHARSET_CODE_OFFSET): New macro.
2160         (XCHARSET_BYTE_OFFSET): New macro.
2161         (MIN_CHAR_HIRAGANA): New macro.
2162         (MAX_CHAR_HIRAGANA): New macro.
2163         (MIN_CHAR_KATAKANA): New macro.
2164         (MAX_CHAR_KATAKANA): New macro.
2165         (MAKE_CHAR): Modify for new coded-charset definition; use
2166         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2167         `XCHARSET_BYTE_OFFSET'.
2168
2169 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2170
2171         * mule-charset.c (CHAR96): Deleted.
2172         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2173         <Lisp_Object>.
2174         (latin_iso8859_2_to_ucs): Likewise.
2175         (latin_iso8859_3_to_ucs): Likewise.
2176         (latin_iso8859_4_to_ucs): Likewise.
2177         (latin_iso8859_9_to_ucs): Likewise.
2178         (latin_viscii_lower_to_ucs): Likewise.
2179         (latin_viscii_upper_to_ucs): Likewise.
2180         (latin_tcvn5712_to_ucs): Commented out.
2181         (make_charset): Change type of argument `decoding_table' from
2182         <Emchar*> to <Lisp_Object> [vector of characters].
2183         (Fmake_charset): Modify for `make_charset'.
2184         (Fmake_reverse_direction_charset): Likewise.
2185         (Fcharset_mapping_table): New function in UTF-2000.
2186         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2187         UTF-2000.
2188         (complex_vars_of_mule_charset): Modify for type change of
2189         `*_to_ucs'; modify for `make_charset'.
2190
2191         * char-ucs.h (struct Lisp_Charset): Change type of
2192         `decoding_table' from <Emchar*> to <Lisp_Object>.
2193         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2194
2195 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2196
2197         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2198         error with non-UTF-2000-Mule.
2199
2200 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2201
2202         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2203         in lisp again].
2204         (Vcharset_chinese_cns11643_4): Likewise.
2205         (Vcharset_chinese_cns11643_5): Likewise.
2206         (Vcharset_chinese_cns11643_6): Likewise.
2207         (Vcharset_chinese_cns11643_7): Likewise.
2208         (Qchinese_cns11643_3): Likewise.
2209         (Qchinese_cns11643_4): Likewise.
2210         (Qchinese_cns11643_5): Likewise.
2211         (Qchinese_cns11643_6): Likewise.
2212         (Qchinese_cns11643_7): Likewise.
2213         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2214         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2215         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2216         (complex_vars_of_mule_charset): Likewise.
2217
2218 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2219
2220         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2221         96-set.
2222         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2223         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2224
2225 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2226
2227         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2228         0xFF60.
2229         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2230         (breakup_char_1): Likewise.
2231
2232         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2233         one of them includes the specified character.
2234
2235 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2236
2237         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2238
2239 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2240
2241         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2242
2243 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2244
2245         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2246         definition for non-UTF-2000 Mule.
2247         (latin_iso8859_3_to_ucs): Likewise.
2248         (latin_iso8859_4_to_ucs): Likewise.
2249         (latin_iso8859_9_to_ucs): Likewise.
2250         (latin_jisx0201_to_ucs): Likewise.
2251         (MIN_CHAR_THAI): Likewise.
2252         (MAX_CHAR_THAI): Likewise.
2253         (MIN_CHAR_GREEK): Likewise.
2254         (MAX_CHAR_GREEK): Likewise.
2255         (MIN_CHAR_HEBREW): Likewise.
2256         (MAX_CHAR_HEBREW): Likewise.
2257         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2258         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2259         (MIN_CHAR_CYRILLIC): Likewise.
2260         (MAX_CHAR_CYRILLIC): Likewise.
2261
2262 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2263
2264         * char-ucs.h (breakup_char_1): Use
2265         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2266         thai-tis620 and katakana-jisx0201 area.
2267
2268 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2269
2270         * char-ucs.h (breakup_char_1): Use
2271         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2272         area.
2273
2274         * text-coding.c (reset_encoding_stream): Fixed.
2275         (char_encode_ucs4): Delete `& 255'.
2276
2277         * char-ucs.h (breakup_char_1): Use
2278         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2279
2280 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2281
2282         * file-coding.c (Fmake_coding_system): Don't set up
2283         `codesys->fixed.size'.
2284         (encode_coding_no_conversion): Don't refer
2285         `str->codesys->fixed.size'.
2286
2287 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2288
2289         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2290         (latin_a_char_to_byte1): Deleted.
2291         (latin_a_char_to_byte2): Deleted.
2292
2293 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2294
2295         * mule-charset.c (make_charset): Add new argument `ucs_min',
2296         `ucs_max' and `code_offset'.
2297         (charset_get_byte1): New implementation [delete specific charset
2298         depended implementations].
2299         (Fmake_charset): Modify for `make_charset'.
2300         (Fmake_reverse_direction_charset): Likewise.
2301         (complex_vars_of_mule_charset): Likewise.
2302
2303         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2304         `code_offset'.
2305         (CHARSET_UCS_MIN): New macro.
2306         (CHARSET_UCS_MAX): New macro.
2307         (CHARSET_CODE_OFFSET): New macro.
2308         (MAKE_CHAR): Delete charset depended definitions [except
2309         katakana-jisx0201].
2310
2311 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2312
2313         * char-ucs.h (breakup_char_1): Use
2314         `Vdefault_coded_charset_priority_list' for C0-Controls,
2315         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2316
2317 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2318
2319         * char-ucs.h (charset_get_byte1): New function.
2320         (XCHARSET_GET_BYTE1): Deleted.
2321         (charset_get_byte2): New function.
2322         (XCHARSET_GET_BYTE2): Deleted.
2323         (Vdefault_coded_charset_priority_list): New external variable.
2324         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2325         `Vdefault_preferred_coded_charset_list'.
2326
2327         * mule-charset.c (charset_get_byte1): New function.
2328         (charset_get_byte2): New function.
2329         (Vdefault_coded_charset_priority_list): New variable.
2330         (vars_of_mule_charset): Add new variable
2331         `default-coded-charset-priority-list'.
2332
2333 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2334
2335         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2336         (XCHARSET_GET_BYTE2): New inline function.
2337         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2338         `XCHARSET_GET_BYTE2'.
2339
2340 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2341
2342         * mule-charset.c (make_charset): Initialize
2343         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2344         NULL if table is not defined.
2345
2346 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2347
2348         * text-coding.c (char_encode_shift_jis): Use
2349         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2350         `ucs_to_latin_jisx0201'.
2351
2352         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2353         (ucs_to_latin_iso8859_2): Deleted.
2354         (ucs_to_latin_iso8859_3): Deleted.
2355         (ucs_to_latin_iso8859_4): Deleted.
2356         (ucs_to_latin_iso8859_9): Deleted.
2357         (ucs_to_latin_viscii_lower): Deleted.
2358         (ucs_to_latin_viscii_upper): Deleted.
2359         (ucs_to_latin_tcvn5712): Deleted.
2360         (make_charset): Add new argument `decoding_table'; set up
2361         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2362         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2363         `decoding_table' is defined in UTF-2000.
2364         (Fmake_charset): Modify for `make_charset'.
2365         (Fmake_reverse_direction_charset): Likewise.
2366         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2367         and `GENERATE_96_SET'.
2368
2369         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2370         (ucs_to_latin_jisx0201): Deleted.
2371         (latin_iso8859_2_to_ucs): Deleted.
2372         (ucs_to_latin_iso8859_2): Deleted.
2373         (latin_iso8859_3_to_ucs): Deleted.
2374         (ucs_to_latin_iso8859_3): Deleted.
2375         (latin_iso8859_4_to_ucs): Deleted.
2376         (ucs_to_latin_iso8859_4): Deleted.
2377         (latin_iso8859_9_to_ucs): Deleted.
2378         (ucs_to_latin_iso8859_9): Deleted.
2379         (latin_viscii_lower_to_ucs): Deleted.
2380         (ucs_to_latin_viscii_lower): Deleted.
2381         (latin_viscii_upper_to_ucs): Deleted.
2382         (ucs_to_latin_viscii_upper): Deleted.
2383         (struct Lisp_Charset): Renamed `encoding_table' to
2384         `to_byte1_table'; add `to_byte2_table'.
2385         (CHARSET_DECODING_TABLE): New macro.
2386         (CHARSET_TO_BYTE1_TABLE): New macro.
2387         (CHARSET_TO_BYTE2_TABLE): New macro.
2388         (XCHARSET_DECODING_TABLE): New macro.
2389         (XCHARSET_TO_BYTE1_TABLE): New macro.
2390         (XCHARSET_TO_BYTE2_TABLE): New macro.
2391         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2392         tables.
2393         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2394         don't use `ucs_to_*' tables.
2395
2396 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2397
2398         * text-coding.c (Fmake_coding_system): Don't set up
2399         `codesys->fixed.size'.
2400         (encode_coding_no_conversion): Use `if' instead of `switch'.
2401
2402         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2403
2404 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2405
2406         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2407         (Fmake_charset): Modify for `make_charset'.
2408         (Fmake_reverse_direction_charset): Likewise.
2409         (complex_vars_of_mule_charset): Likewise.
2410
2411 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2412
2413         * text-coding.c (char_encode_shift_jis): Use table
2414         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2415
2416 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2417
2418         * text-coding.c (text_encode_generic): Use `if' instead of
2419         `switch'.
2420         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2421         decode JIS-Latin.
2422
2423 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2424
2425         * text-coding.c (encode_coding_sjis): Deleted.
2426         (char_encode_shift_jis): New function.
2427         (char_finish_shift_jis): New function.
2428         (reset_encoding_stream): Set up `encode_char' and `finish' for
2429         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2430         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2431         (char_encode_utf8): Treat `eol_type'.
2432
2433 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2434
2435         * file-coding.c (decode_coding_iso2022): Use
2436         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2437
2438 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2439
2440         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2441         to 0.7 (Hirano).
2442
2443 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2444
2445         * char-lb.h (CHAR_COLUMNS): New macro.
2446
2447 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2448
2449         * text-coding.c (char_encode_ucs4): New function.
2450         (char_finish_ucs4): New function.
2451         (encode_coding_ucs4): Deleted.
2452         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2453         (text_encode_generic): Delete local variable `charset' and `half'.
2454         (ucs_to_mule_table): Deleted.
2455         (mule_to_ucs_table): Deleted.
2456         (Fset_ucs_char): Deleted.
2457         (ucs_to_char): Deleted.
2458         (Fucs_char): Deleted.
2459         (Fset_char_ucs): Deleted.
2460         (Fchar_ucs): Deleted.
2461         (decode_ucs4): Deleted.
2462         (mule_char_to_ucs4): Deleted.
2463         (encode_ucs4): Deleted.
2464         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2465         (decode_coding_utf8): Likewise.
2466         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2467         (char_encode_iso2022): Fixed.
2468         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2469         `Fset_char_ucs' and `Fchar_ucs'.
2470         (complex_vars_of_file_coding): Don't initialize
2471         `ucs_to_mule_table'.
2472
2473         * objects-tty.c (tty_initialize_font_instance): Don't use
2474         `XCHARSET_COLUMNS'.
2475
2476         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2477         UTF-2000.
2478
2479         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2480         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2481
2482         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2483         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2484         (emchar_string_displayed_columns): Likewise.
2485
2486         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2487         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2488         (string_column_at_point): Likewise.
2489         (Fmove_to_column): Likewise.
2490
2491         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2492         `encoding_table' and `decoding_table'.
2493         (CHARSET_REP_BYTES): Deleted.
2494         (XCHARSET_REP_BYTES): Deleted.
2495         (XCHARSET_COLUMNS): Deleted.
2496         (CHAR_COLUMNS): New macro.
2497         (lookup_composite_char): Deleted unconditionally.
2498         (composite_char_string): Likewise.
2499
2500 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2501
2502         * char-ucs.h (Emchar_to_byte_table): New type.
2503         (get_byte_from_character_table): New function interface.
2504         (Vcharset_latin_jisx0201): New variable.
2505         (latin_jisx0201_to_ucs): New variable.
2506         (ucs_to_latin_jisx0201): New variable.
2507         (Vcharset_latin_iso8859_2): New variable.
2508         (latin_iso8859_2_to_ucs): New variable.
2509         (ucs_to_latin_iso8859_2): New variable.
2510         (Vcharset_latin_iso8859_3): New variable.
2511         (latin_iso8859_3_to_ucs): New variable.
2512         (ucs_to_latin_iso8859_3): New variable.
2513         (Vcharset_latin_iso8859_4): New variable.
2514         (latin_iso8859_4_to_ucs): New variable.
2515         (ucs_to_latin_iso8859_4): New variable.
2516         (Vcharset_latin_iso8859_9): New variable.
2517         (latin_iso8859_9_to_ucs): New variable.
2518         (ucs_to_latin_iso8859_9): New variable.
2519         (Vcharset_latin_viscii_lower): New variable.
2520         (latin_viscii_lower_to_ucs): New variable.
2521         (ucs_to_latin_viscii_lower): New variable.
2522         (Vcharset_latin_viscii_upper): New variable.
2523         (latin_viscii_upper_to_ucs): New variable.
2524         (ucs_to_latin_viscii_upper): New variable.
2525         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2526         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2527         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2528         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2529         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2530         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2531         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2532         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2533         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2534         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2535
2536         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2537         (Vcharset_latin_viscii_upper): New variable.
2538         (make_byte_from_character_table): New function.
2539         (put_byte_from_character_table): New function.
2540         (get_byte_from_character_table): New function.
2541         (CHAR96): New macro.
2542         (ucs_to_latin_jisx0201): New variable.
2543         (latin_jisx0201_to_ucs): New variable.
2544         (ucs_to_latin_iso8859_2): New variable.
2545         (latin_iso8859_2_to_ucs): New variable.
2546         (ucs_to_latin_iso8859_3): New variable.
2547         (latin_iso8859_3_to_ucs): New variable.
2548         (ucs_to_latin_iso8859_4): New variable.
2549         (latin_iso8859_4_to_ucs): New variable.
2550         (ucs_to_latin_iso8859_9): New variable.
2551         (latin_iso8859_9_to_ucs): New variable.
2552         (ucs_to_latin_viscii_lower): New variable.
2553         (latin_viscii_lower_to_ucs): New variable.
2554         (ucs_to_latin_viscii_upper): New variable.
2555         (latin_viscii_upper_to_ucs): New variable.
2556         (ucs_to_latin_tcvn5712): New variable.
2557         (latin_tcvn5712_to_ucs): New variable.
2558         (Qlatin_viscii_lower): New variable.
2559         (Qlatin_viscii_upper): New variable.
2560         (syms_of_mule_charset): Set up new symbol
2561         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2562         (complex_vars_of_mule_charset): Set up new charset
2563         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2564         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2565         `ucs_to_<CHARSET>' tables.
2566
2567 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2568
2569         * text-coding.c: New file.
2570
2571 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2572
2573         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2574
2575         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2576         (MAKE_CHAR): Modify for `ucs-bmp'.
2577         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2578         non-MULE characters of BMP.
2579
2580 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2581
2582         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2583         to 0.6.
2584
2585 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2586
2587         * lstream.h:
2588         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2589         - Include character.h for `CHAR_ASCII_P'.
2590
2591         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2592
2593         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2594         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2595
2596         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2597         (BYTE_C0_P): Likewise.
2598         (BYTE_C1_P): Likewise.
2599         (Lstream_get_emchar_1): Likewise.
2600         (Lstream_fput_emchar): Likewise.
2601         (Lstream_funget_emchar): Likewise.
2602         (copy_internal_to_external): Likewise.
2603         (copy_external_to_internal): Likewise.
2604
2605         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2606         (BYTE_C0_P): Likewise.
2607         (BYTE_C1_P): Likewise.
2608         (Lstream_get_emchar_1): Likewise.
2609         (Lstream_fput_emchar): Likewise.
2610         (Lstream_funget_emchar): Likewise.
2611         (copy_internal_to_external): Likewise.
2612         (copy_external_to_internal): Likewise.
2613
2614         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2615         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2616
2617         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2618         (BYTE_ASCII_P): Moved to mb-1byte.h.
2619
2620 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2621
2622         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2623
2624         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2625         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2626         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2627         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2628         (VALIDATE_CHARPTR_FORWARD): Likewise.
2629         (simple_charptr_emchar): Moved to mb-multibyte.h.
2630         (simple_set_charptr_emchar): Likewise.
2631         (simple_charptr_copy_char): Likewise.
2632         (non_ascii_charptr_emchar): Likewise.
2633         (non_ascii_set_charptr_emchar): Likewise.
2634         (non_ascii_charptr_copy_char): Likewise.
2635         (charptr_emchar): Moved to mb-*byte.h.
2636         (set_charptr_emchar): Likewise.
2637         (charptr_copy_char): Likewise.
2638
2639         * mb-1byte.h, mb-multibyte.h: New files.
2640
2641 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2642
2643         * mb-utf-8.h (MULTIBYTE): New macro.
2644         (MAX_EMCHAR_LEN): Moved from buffer.h.
2645         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2646
2647         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2648
2649         * mb-lb.h, multibyte.h: New files.
2650
2651         * char-1byte.h (Charset_ID): Moved from buffer.h.
2652         (MIN_LEADING_BYTE): Likewise.
2653         (LEADING_BYTE_ASCII): Likewise.
2654         (NUM_LEADING_BYTES): Likewise.
2655         (CHARSETP): Likewise.
2656         (CHARSET_BY_LEADING_BYTE): Likewise.
2657         (XCHARSET_LEADING_BYTE): Likewise.
2658         (XCHARSET_GRAPHIC): Likewise.
2659         (XCHARSET_COLUMNS): Likewise.
2660         (XCHARSET_DIMENSION): Likewise.
2661         (CHAR_CHARSET): Likewise.
2662         (CHAR_LEADING_BYTE): Likewise.
2663         (BREAKUP_CHAR): Likewise.
2664         (Vcharset_ascii): Likewise.
2665
2666         * buffer.h: Include multibyte.h unconditionally.
2667         (VALID_CHARPTR_P): Moved to multibyte.h.
2668         (ASSERT_VALID_CHARPTR): Likewise.
2669         (REAL_INC_CHARPTR): Likewise.
2670         (REAL_INC_CHARBYTIND): Likewise.
2671         (REAL_DEC_CHARPTR): Likewise.
2672         (INC_CHARPTR): Likewise.
2673         (INC_CHARBYTIND): Likewise.
2674         (DEC_CHARPTR): Likewise.
2675         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2676         (VALIDATE_CHARPTR_FORWARD): Likewise.
2677         (charptr_n_addr): Likewise.
2678         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2679         (simple_charptr_emchar): Moved to multibyte.h.
2680         (simple_set_charptr_emchar): Likewise.
2681         (simple_charptr_copy_char): Likewise.
2682         (non_ascii_charptr_emchar): Likewise.
2683         (non_ascii_set_charptr_emchar): Likewise.
2684         (non_ascii_charptr_copy_char): Likewise.
2685         (charptr_emchar): Likewise.
2686         (set_charptr_emchar): Likewise.
2687         (charptr_copy_char): Likewise.
2688         (charptr_emchar_n): Likewise.
2689         (Charset_ID): Moved to char-1byte.h.
2690         (Vcharset_ascii): Likewise.
2691         (CHAR_CHARSET): Likewise.
2692         (CHAR_LEADING_BYTE): Likewise.
2693         (LEADING_BYTE_ASCII): Likewise.
2694         (NUM_LEADING_BYTES): Likewise.
2695         (MIN_LEADING_BYTE): Likewise.
2696         (CHARSETP): Likewise.
2697         (CHARSET_BY_LEADING_BYTE): Likewise.
2698         (XCHARSET_LEADING_BYTE): Likewise.
2699         (XCHARSET_GRAPHIC): Likewise.
2700         (XCHARSET_COLUMNS): Likewise.
2701         (XCHARSET_DIMENSION): Likewise.
2702         (BREAKUP_CHAR): Likewise.
2703
2704 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2705
2706         * character.h: Add document about interface for characters.
2707
2708         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2709         (MAKE_CHAR): Delete comment about
2710         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2711         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2712         (BREAKUP_CHAR): Modify name of arguments.
2713         (CHAR_CHARSET): Modify name of argument.
2714
2715         * buffer.h: Delete document about Emchar accessors.
2716
2717 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2718
2719         * character.h (CHAR_INTP): Moved from buffer.h
2720         (CHAR_OR_CHAR_INTP): Likewise.
2721         (XCHAR_OR_CHAR_INT): Likewise.
2722         (CHECK_CHAR_COERCE_INT): Likewise.
2723
2724         * buffer.h (CHAR_INTP): Moved to character.h
2725         (CHAR_OR_CHAR_INTP): Likewise.
2726         (XCHAR_OR_CHAR_INT): Likewise.
2727         (CHECK_CHAR_COERCE_INT): Likewise.
2728
2729 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2730
2731         * character.h:
2732         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2733         - Include char-1byte.h, char-lb.h or char-ucs.h.
2734
2735         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2736
2737         * buffer.h: Include character unconditionally.
2738         (valid_char_p): Moved to char-*.h.
2739         (non_ascii_valid_char_p): Moved to char-lb.h.
2740
2741         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2742
2743 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2744
2745         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2746         in UTF-2000 because it is not ported yet and not to use
2747         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2748         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2749         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2750
2751         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2752         (CHAR_ASCII_P): Moved from character.h.
2753
2754         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2755         (CHAR_ASCII_P): Likewise.
2756         (CHAR_FIELD1_MASK): Deleted.
2757         (CHAR_FIELD2_MASK): Deleted.
2758         (CHAR_FIELD3_MASK): Deleted.
2759         (MAX_CHAR_BASIC_LATIN): New macro.
2760         (CHAR_FIELD1): Deleted.
2761         (CHAR_FIELD2_INTERNAL): Deleted.
2762         (CHAR_FIELD3_INTERNAL): Deleted.
2763         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2764         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2765         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2766         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2767         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2768         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2769         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2770         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2771         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2772         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2773         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2774         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2775         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2776         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2777         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2778         (MIN_CHAR_COMPOSITION): Deleted.
2779         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2780         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2781
2782 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2783
2784         * buffer.h: Include mb-utf-8.h in UTF-2000.
2785
2786         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2787
2788         * mb-utf-8.h: New file.
2789
2790 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2791
2792         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2793         instead of `int'.
2794
2795         * mule-charset.h, buffer.h (Charset_ID): New type.
2796
2797 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2798
2799         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2800         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2801         instead of `MULE_CHAR_PRIVATE_OFFSET',
2802         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2803         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2804         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2805
2806         * character.h (Vcharset_japanese_jisx0212): New variable
2807         definition.
2808
2809 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2810
2811         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
2812         (charset_by_attributes): Delete array about direction.
2813         (latin_a_char_to_charset): New variable in UTF-2000.
2814         (latin_a_char_to_byte1): New variable in UTF-2000.
2815         (latin_a_char_to_byte2): New variable in UTF-2000.
2816         (Qucs_bmp): New variable.
2817         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
2818         `Bufbyte'.
2819         (next_allocated_2_byte_leading_byte): Likewise.
2820         (non_ascii_set_charptr_emchar): Likewise.
2821         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
2822         `CHARSET_TYPE_256X256' in UTF-2000; modify for
2823         `charset_by_attributes'.
2824         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
2825         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
2826         and `CHARSET_BY_LEADING_BYTE'.
2827         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
2828         `utf-2000-version' to `vars_of_mule_charset'.
2829         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
2830         define `leading-code-private-11' in UTF-2000; move setting of
2831         `utf-2000-version' from `syms_of_mule_charset'.
2832         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
2833         UTF-2000.
2834
2835         * character.h (Charset_ID): New type.
2836         (LEADING_BYTE_UCS_BMP): New macro.
2837         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
2838         (CHARSET_ID_OFFSET_94): New macro.
2839         (MIN_CHARSET_ID_PRIVATE_94): New macro.
2840         (MAX_CHARSET_ID_PRIVATE_94): New macro.
2841         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
2842         final-byte.
2843         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
2844         (LEADING_BYTE_LATIN_JISX0201): Likewise.
2845         (CHARSET_ID_OFFSET_96): New macro.
2846         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
2847         CHARSET_ID_OFFSET_96 and final-byte.
2848         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
2849         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
2850         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
2851         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
2852         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
2853         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
2854         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
2855         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
2856         (LEADING_BYTE_THAI_TIS620): Likewise.
2857         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
2858         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
2859         (CHARSET_ID_OFFSET_94x94): New macro.
2860         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
2861         CHARSET_ID_OFFSET_94x94 and final-byte.
2862         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
2863         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
2864         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
2865         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
2866         (LEADING_BYTE_CHINESE_GB2312): Likewise.
2867         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
2868         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
2869         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
2870         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
2871         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
2872         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
2873         (CHARSET_TYPE_128X128): New macro.
2874         (CHARSET_TYPE_256X256): New macro.
2875         (XCHARSET_PRIVATE_P): Delete unconditionally.
2876         (charset_by_attributes): Delete array about direction.
2877         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
2878         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
2879         (MIN_CHAR_94): New macro.
2880         (MAX_CHAR_94): New macro.
2881         (MIN_CHAR_96): New macro.
2882         (MAX_CHAR_96): New macro.
2883         (MIN_CHAR_94x94): New macro.
2884         (MAX_CHAR_94x94): New macro.
2885         (MIN_CHAR_96x96): New macro.
2886         (MAX_CHAR_96x96): New macro.
2887         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
2888         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2889         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
2890         - 32)'.
2891         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
2892         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
2893         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
2894         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
2895         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
2896         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
2897         `XCHARSET_LEADING_BYTE' to make code-point.
2898         (latin_a_char_to_charset): New variable.
2899         (latin_a_char_to_byte1): New variable.
2900         (latin_a_char_to_byte2): New variable.
2901         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
2902         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
2903         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
2904
2905         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
2906         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
2907         (find_charsets_in_emchar_string): Likewise.
2908         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
2909
2910         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
2911         `int'.
2912         (decode_coding_iso2022): Likewise.
2913
2914         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
2915         of `unsigned char'.
2916
2917         * redisplay.c (redisplay_text_width_emchar_string): Use
2918         `Charset_ID' instead of `unsigned char'.
2919         (redisplay_frame_text_width_string): Likewise.
2920
2921         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
2922         `unsigned char'.
2923
2924         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
2925         instead of `unsigned char'.
2926         (face_cachel_charset_font_metric_info): Likewise.
2927
2928         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
2929         (get_non_ascii_char_table_value): Likewise.
2930         (get_char_table): Likewise.
2931         (put_char_table): Likewise.
2932         (map_over_other_charset): Likewise.
2933         (map_char_table): Likewise.
2934
2935         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
2936         instead of `unsigned char'.
2937
2938 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
2939
2940         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
2941         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
2942
2943         * mule-charset.c (leading_code_private_11): Don't define in
2944         UTF-2000.
2945
2946         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
2947         in UTF-2000 because it is not ported yet and not to use
2948         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
2949
2950 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
2951
2952         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
2953
2954 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2955
2956         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
2957         in UTF-2000.
2958
2959         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
2960         of unsigned char to store leading-byte.
2961
2962         * chartab.c (get_non_ascii_char_table_value): Don't use
2963         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
2964
2965         * file-coding.c (encode_coding_big5): Delete bogus implementation
2966         in UTF2000.
2967
2968         * character.h (LEADING_BYTE_*): Delete definition for
2969         non-UTF-2000.
2970         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
2971         (LEADING_BYTE_PREFIX_P): Deleted.
2972         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
2973         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
2974         (BUFBYTE_LEADING_BYTE_P): Deleted.
2975         (CHARSET_PRIVATE_P): Deleted unconditionally.
2976         (rep_bytes_by_first_byte): Deleted unconditionally.
2977         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
2978         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
2979         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2980         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
2981         (CHAR_FIELD2): Deleted.
2982         (CHAR_FIELD3): Deleted.
2983         (MAKE_CHAR): Delete definition for non-UTF-2000.
2984         (BREAKUP_CHAR_1_UNSAFE): Deleted.
2985         (breakup_char_1): New implementation.
2986         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
2987         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
2988
2989 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2990
2991         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
2992         condition.
2993
2994 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2995
2996         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
2997         (CHARSET_PRIVATE_P): Likewise.
2998         (XCHARSET_PRIVATE_P): Likewise.
2999         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3000
3001         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3002         UTF2000.
3003         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3004
3005 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3006
3007         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3008         (NUM_LEADING_BYTES): Changed from 128 to 256.
3009         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3010         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3011         UTF2000.
3012         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3013
3014         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3015         UTF2000.
3016         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3017         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3018         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3019         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3020         (Qchinese_cns11643_3): New variable in UTF2000.
3021         (Qchinese_cns11643_4): New variable in UTF2000.
3022         (Qchinese_cns11643_5): New variable in UTF2000.
3023         (Qchinese_cns11643_6): New variable in UTF2000.
3024         (Qchinese_cns11643_7): New variable in UTF2000.
3025         (syms_of_mule_charset): Define `chinese-cns11643-3',
3026         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3027         and `chinese-cns11643-7' in UTF2000.
3028         (vars_of_mule_charset): Initialize
3029         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3030         + 1 in UTF2000.
3031         (complex_vars_of_mule_charset): Setup charset
3032         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3033         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3034
3035 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3036
3037         * mule-charset.c: Move setting for `leading-code-private-11' from
3038         `syms_of_mule_charset' to `vars_of_mule_charset'.
3039
3040 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3041
3042         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3043         and `NUM_LEADING_BYTES' in assert.
3044
3045 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3046
3047         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3048         instead of 128.
3049         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3050         `NUM_LEADING_BYTES' instead of 128.
3051
3052 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3053
3054         * mule-charset.h (charset_by_leading_byte): Use
3055         `NUM_LEADING_BYTES' instead of 128.
3056         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3057
3058         * mule-charset.c (charset_by_leading_byte): Use
3059         `NUM_LEADING_BYTES' instead of 128.
3060         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3061
3062         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3063         128.
3064
3065 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3066
3067         * mule-charset.c (syms_of_mule_charset): Update to
3068         0.4 (Shin-Imamiya).
3069
3070 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3071
3072         * file-coding.c (encode_coding_sjis): New implementation for
3073         UTF2000.  (decode_coding_sjis): Ditto.
3074
3075 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3076
3077         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3078         Don't define in UTF2000.
3079
3080         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3081         defined.
3082
3083         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3084         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3085         MULE.
3086
3087 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3088
3089         * config.h.in (CHAR_IS_UCS4): New macro.
3090
3091         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3092         conventional MULE representation.
3093         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3094
3095         * mule-charset.h: Reverted to original.
3096
3097         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3098         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3099         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3100
3101         * character.h: New file.
3102
3103         * file-coding.c (Fmake_coding_system): Set 1 to
3104         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3105         defined.
3106         (encode_coding_no_conversion): New implementation for UTF2000.
3107
3108         * file-coding.h (struct Lisp_Coding_System): Add new member
3109         `fixed.size'.
3110
3111 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3112
3113         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3114         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3115         (encode_coding_iso2022): New implementation for UTF2000.
3116
3117 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3118
3119         * mule-canna.c (c2mu): New implementation for UTF2000.
3120         (m2c): Likewise.
3121
3122 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3123
3124         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3125
3126 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3127
3128         * file-coding.c (reset_encoding_stream): Set 0 to
3129         `str->iso2022.current_char_boundary' in UTF2000.
3130         (encode_utf8): Don't define in UTF2000.
3131         (encode_coding_utf8): New implementation for UTF-8 representation
3132         of UTF2000.
3133         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3134
3135 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3136
3137         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3138
3139         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3140         UTF2000.
3141         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3142
3143         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3144
3145         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3146         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3147         as UTF-8 in UTF2000.
3148         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3149         (non_ascii_valid_char_p): Don't define in UTF2000.
3150         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3151         (Lstream_get_emchar_1): Likewise.
3152         (utf-2000-version): New variable in UTF2000.
3153
3154         * lread.c (read_escape): Add new reader `u'.
3155
3156         * insdel.c (three_to_one_table): Don't define in UTF2000.
3157         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3158         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3159         UTF2000.
3160         (bytind_to_bufpos_func): Likewise.
3161         (buffer_mule_signal_inserted_region): Likewise.
3162         (vars_of_insdel): Don't initialize `three_to_one_table'.
3163         (init_buffer_text): Use `buf->text->mule_size' instead of
3164         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3165         UTF2000.
3166
3167         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3168         UTF-8 representation in UTF2000.
3169         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3170         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3171         (decode_coding_iso2022): Don't define local variable `lb' in
3172         UTF2000; don't use LEADING_BYTE in UTF2000; use
3173         `DECODE_ADD_UCS_CHAR' in UTF2000.
3174         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3175
3176         * config.h.in (UTF2000): New macro.
3177
3178         * buffer.h (struct buffer_text): Add new member `mule_size' and
3179         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3180         (valid_char_p): Return always 1 in UTF2000.
3181         (MAX_EMCHAR_LEN): 6 in UTF2000.
3182         (three_to_one_table): Don't define in UTF2000.
3183         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3184         UTF2000.
3185         (real_bytind_to_bufpos): Likewise.
3186
3187         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3188
3189 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3190
3191         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3192         representation change.
3193         (Vutf_2000_version): New variable.
3194         (leading_code_private_11): New variable.
3195         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3196         `leading-code-private-11'.
3197
3198         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3199         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3200         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3201         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3202         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3203         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3204         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3205         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3206         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3207         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3208         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3209         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3210         (MIN_CHAR_GREEK): New macro.
3211         (MAX_CHAR_GREEK): New macro.
3212         (MIN_CHAR_CYRILLIC): New macro.
3213         (MAX_CHAR_CYRILLIC): New macro.
3214         (MIN_CHAR_HEBREW): New macro.
3215         (MAX_CHAR_HEBREW): New macro.
3216         (MIN_CHAR_THAI): New macro.
3217         (MAX_CHAR_THAI): New macro.
3218         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3219         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3220         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3221         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3222         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3223         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3224         (CHAR_FIELD2): New inline function.
3225         (CHAR_FIELD3): New inline function.
3226         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3227         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3228         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3229         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3230         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3231         (MIN_CHAR_COMPOSITION): Likewise.
3232         (CHAR_LEADING_BYTE): Modified for character representation change.
3233         (MAKE_CHAR): Likewise.
3234
3235         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3236         (Vcharset_greek_iso8859_7): Likewise.
3237         (Vcharset_cyrillic_iso8859_5): Likewise.
3238         (Vcharset_hebrew_iso8859_8): Likewise.
3239         (Vcharset_thai_tis620): Likewise.
3240         (Vcharset_katakana_jisx0201): Likewise.
3241
3242 2001-01-17  Martin Buchholz <martin@xemacs.org>
3243
3244         * XEmacs 21.2.41 "Polyhymnia" is released.
3245
3246 2001-01-16  Didier Verna  <didier@xemacs.org>
3247
3248         * glyphs.c (image_instantiate): don't use fallbacks when
3249         instantiating a face's background pixmap by inheritance.
3250
3251 2001-01-14  Mike Sperber <mike@xemacs.org>
3252
3253         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3254         Conditionalize accordingly.
3255
3256 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3257
3258         * dumper.c (pdump_file_get): Fix a compiler warning.
3259
3260 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3261
3262         Make Purify happy when pdumping.
3263         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3264         iniitalizing all bits of new lisp object memory.
3265         * symbols.c (Fmake_local_variable): Likewise.
3266         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3267         * symbols.c (Fdefvaralias): Likewise.
3268         * mule-charset.c (vars_of_mule_charset): Likewise.
3269
3270 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3271         Add the `-nd' flag when running pre-dump operations under the debugger.
3272         * .dbxrc (run-temacs): Add `-nd'.
3273         * .dbxrc (update-elc): Likewise.
3274         * .dbxrc (dump-temacs): Likewise.
3275         * .gdbinit (run-temacs): Likewise.
3276         * .gdbinit (check-temacs): Likewise.
3277         * .gdbinit (update-elc): Likewise.
3278         * .gdbinit (dump-temacs): Likewise.
3279
3280 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3281
3282         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3283         export OBJECT_MODE=64
3284         configure --pdump --use-union-type=no
3285         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3286         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3287
3288         * miscplay.c (sndcnv8U_2mono):
3289         Avoid two uses of `++' in the same expression.
3290         Suppresses a GCC warning.
3291
3292 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3293
3294         Make sure future compilers don't miscompile alloc.c.
3295         * alloc.c:
3296         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3297         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3298
3299 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3300
3301         * dumper.c: A little post-pdump-rename comment fixup.
3302
3303 2001-01-09  Jerry James  <james@eecs.ku.edu>
3304
3305         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3306
3307 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3308
3309         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3310         script:
3311         #!/bin/sh
3312         replace_symbol () {
3313           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3314         }
3315
3316         replace_symbol pdump_wire_lists pdump_weak_object_chains
3317         replace_symbol pdump_wire_list dump_add_weak_object_chain
3318
3319         replace_symbol pdump_wires pdump_root_objects
3320         replace_symbol pdump_wire dump_add_root_object
3321
3322         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3323         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3324
3325         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3326         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3327         replace_symbol dumpstructinfo pdump_root_struct_ptr
3328         replace_symbol dumpstruct dump_add_root_struct_ptr
3329
3330         replace_symbol dumpopaque dump_add_opaque
3331         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3332         replace_symbol dumpopaqueinfos pdump_opaques
3333         replace_symbol dumpopaqueinfo pdump_opaque
3334
3335         replace_symbol nb_structdump nb_root_struct_ptrs
3336         replace_symbol nb_opaquedump nb_opaques
3337
3338         replace_symbol align_table pdump_align_table
3339         replace_symbol dump_header pdump_header
3340
3341         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3342         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3343
3344
3345 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3346
3347         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3348         optimizing bytecount_to_charcount().
3349
3350 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3351
3352         * config.h.in:
3353         (HAVE_DLFCN_H): Removed.
3354         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3355
3356 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3357
3358         Portable dumper maintainability improvements.
3359         * alloc.c (staticpro):
3360         * alloc.c (staticpro_nodump):
3361         * alloc.c (garbage_collect_1):
3362         * alloc.c (reinit_alloc_once_early):
3363         * alloc.c (init_alloc_once_early):
3364         * alloc.c: Move dumper functions to alloc.c.
3365         * dumper.c (pdump_backtrace):
3366         * dumper.c (pdump_dump_structs):
3367         * dumper.c (pdump_dump_opaques):
3368         * dumper.c (pdump_dump_rtables):
3369         * dumper.c (pdump_dump_wired):
3370         * dumper.c (pdump):
3371         * dumper.c (pdump_load_check):
3372         * dumper.c (pdump_load_finish):
3373         * dumper.c (pdump_file_unmap):
3374         * dumper.c (pdump_file_get):
3375         * dumper.c (pdump_resource_free):
3376         * dumper.c (pdump_resource_get):
3377         * dumper.c (pdump_file_free):
3378         * dumper.c (pdump_file_try):
3379         * dumper.c (pdump_load):
3380         Remove fixed size limits on staticpro(), staticpro_nodump(),
3381         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3382         Remove custom code for dumping lrecord_implementations_table - use
3383         dumpopaque instead.
3384         Remove (most of the) custom code for dumping staticpros - dump it
3385         like any other dynarr.
3386
3387         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3388         * dumper.c: Moved functions from alloc.c.
3389         * alloc.c (dumpstruct): Moved to dumper.c.
3390         * alloc.c (dumpopaque): Likewise.
3391         * alloc.c (pdump_wire): Likewise.
3392         * alloc.c (pdump_wire_list): Likewise.
3393
3394         * lisp.h (Dynarr_sizeof): New.
3395         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3396         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3397         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3398
3399         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3400         * lisp.h (dumpopaque): ditto.
3401         * lisp.h (pdump_wire): ditto.
3402         * lisp.h (pdump_wire_list): ditto.
3403
3404 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3405
3406         * make-src-depend (PrintPatternDeps):
3407         Use `sort' to make output independent of perl version.
3408
3409 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3410
3411         Port to Netbsd 1.5.
3412         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3413         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3414
3415 2001-01-03  Didier Verna  <didier@xemacs.org>
3416
3417         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3418         that `focus_frame' is alive before thinking of calling
3419         `redisplay_redraw_cursor' on it.
3420
3421 2001-01-08  Martin Buchholz <martin@xemacs.org>
3422
3423         * XEmacs 21.2.40 is released.
3424
3425 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3426
3427         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3428
3429 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3430
3431         * alloc.c (dbg_valmask): Make const.
3432         * alloc.c (dbg_typemask): Make const.
3433         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3434         * alloc.c (dbg_valbits): Make const.
3435         * alloc.c (dbg_gctypebits): Make const.
3436
3437 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3438
3439         * redisplay-x.c (x_bevel_area):
3440         redisplay.h (struct rune):
3441         Typo fixes in comments.
3442
3443 2001-01-05  Andy Piper  <andy@xemacs.org>
3444
3445         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3446         adjustment.
3447
3448         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3449
3450 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3451
3452         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3453
3454         * mule-ccl.c (stack_idx_of_map_multiple):
3455         Non const global data must not be initialized!
3456         Found by MIYASHITA Hisashi.
3457
3458 2001-01-02  Andy Piper  <andy@xemacs.org>
3459
3460         * frame.c (change_frame_size): make sure frame size is always
3461         marked as changed.
3462
3463         * glyphs.c (image_instance_layout): minor code reuse.
3464
3465         * window.c (Fcurrent_window_configuration): revert previous
3466         change.
3467
3468 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3469
3470         * glyphs.h:
3471         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3472
3473 2000-12-31  Andy Piper  <andy@xemacs.org>
3474
3475         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3476         when widget gets unmapped.
3477
3478         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3479         function. Make sure widgets losing focus don't just drop it.
3480         (handle_focus_event_1): record the widget with focus.
3481
3482 2000-12-31  Andy Piper  <andy@xemacs.org>
3483
3484         * window.c (allocate_window): use
3485         make_image_instance_cache_hash_table.
3486         (make_dummy_parent): ditto.
3487         (Fset_window_configuration): ditto.
3488
3489         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3490
3491         * glyphs.c (process_image_string_instantiator): use
3492         INSTANTIATOR_TYPE.
3493         (get_image_instantiator_governing_domain): ditto.
3494         (normalize_image_instantiator): ditto.
3495         (instantiate_image_instantiator): ditto.
3496         (make_image_instance_1): ditto.
3497         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3498         (instantiator_eq_equal): new function for use with instance hash
3499         tables.
3500         (instantiator_eq_hash): ditto.
3501         (make_image_instance_cache_hash_table): create a suitable hash
3502         table for storing image instances.
3503
3504         * elhash.h (hash_table_weakness): new internal weakness type
3505         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3506         declare new functions.
3507
3508         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3509         another weakness type for glyphs.
3510         (make_standard_lisp_hash_table): new function split out from
3511         make_general_lisp_hash_table.
3512         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3513         (hash_table_instantiate): ditto.
3514         (Fmake_hash_table): ditto.
3515
3516 2000-12-31  Martin Buchholz <martin@xemacs.org>
3517
3518         * XEmacs 21.2.39 is released.
3519
3520 2000-12-29  Andy Piper  <andy@xemacs.org>
3521
3522         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3523
3524         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3525         the frame has changed so that we pick up geometry changes such as
3526         menubar visibility.
3527
3528 2000-12-28  Andy Piper  <andy@xemacs.org>
3529
3530         * lastfile.c (my_ebss): make a char array so we can pad the
3531         bss. Fixes cygwin unexec.
3532
3533         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3534
3535 2000-12-26  Andy Piper  <andy@xemacs.org>
3536
3537         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3538         comments and try and be more precise about a non-/SIGIO world.
3539         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3540         SIGIO.
3541
3542         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3543         we don't normalize to zero width or height.
3544
3545 2000-12-24  Andy Piper  <andy@xemacs.org>
3546
3547         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3548
3549 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3550
3551         * s/sco5.h: SCO 5 has pty support.
3552
3553 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3554
3555         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3556         input-method-xlib.c contains whole contents of input-method-xfs.c,
3557         so we can use input-method-xlib.c's code for USE_XFONTSET
3558         using #ifdefs.
3559         * input-method-xfs.c: removed.
3560
3561 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3562
3563         * file-coding.h (enum coding_category_type): reorder enumerators to
3564         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3565         (now one greater than largest real coding_category_type enumerator).
3566         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3567         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3568         Fcoding_category_list, Fset_coding_priority_list,
3569         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3570         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3571
3572 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3573
3574         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3575         * redisplay-output.c (redisplay_output_window): Clear top of window
3576         when face is changed.
3577         * redisplay-x.c (x_redraw_exposed_window): Call
3578         redisplay_clear_top_of_window.
3579         * redisplay.h: Publish redisplay_clear_top_of_window.
3580
3581 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3582
3583         * buffer.c (Fkill_buffer): Map over all devices.
3584         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3585         (list_windows): New function.
3586         (list_all_windows): Ditto.
3587         (Freplace_buffer_in_windows): Use them.
3588
3589 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3590
3591         * database.c (berkdb_subtype): Recognize new subtype `queue'.
3592         (Fopen_database): Use `db_create' instead of `db_open'.
3593         (syms_of_database): Initialize Qqueue.
3594
3595 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3596
3597         * buffer.c (common_init_complex_vars_of_buffer): Initialize
3598         buffer_local_face_property.
3599         * buffer.h (struct buffer): New member buffer_local_face_property.
3600         * window.c (Fset_window_buffer):  Mark window's face as changed
3601         when buffer has buffer local face.
3602         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
3603         * objects.c (color_after_change): Set buffer_local_face_property
3604         when locale of face specifier is buffer.
3605         * objects.c (font_after_change): Ditto.
3606         * objects.c (face_boolean_after_change): Ditto.
3607         * glyphs.c (image_after_change): Ditto.
3608
3609 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3610
3611         * nt.c (mswindows_fstat): Report file permissions, volume serial
3612         number, etc. Code adapted from FSF Emacs 20.7.
3613
3614 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3615
3616         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
3617         of stat when we don't have symbolic links, to make sure
3618         mswindows_stat is called on mswindows.
3619
3620 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
3621
3622         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
3623
3624 2000-12-12  Martin Buchholz  <martin@xemacs.org>
3625
3626         * doprnt.c (emacs_doprnt_1): More printing fixes.
3627         Make printing of numbers compatible with libc and FSF Emacs.
3628         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
3629         Use the system printf to do most of the hard work of formatting,
3630         instead of doprnt_1().
3631         Calculate memory to allocate for format string.
3632         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
3633         (doprnt_1): Cleaner code and documentation.
3634
3635 2000-12-01  Jerry James  <james@eecs.ukans.edu>
3636
3637         * Makefile.in.in: Use the loop variable to install headers.
3638
3639 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3640
3641         * window.c (Fsplit_window): Don't invalidate face cache.
3642
3643 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3644
3645         * minibuf.c (Fall_completions): Undo the previous change
3646         which removed checking elements start with space.
3647
3648 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3649
3650         * mule-canna.c: Didier suppression.
3651
3652 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3653
3654         * mule-canna.c: rename static unsigned char buf[] to key_buffer
3655         (warning suppression).  Add English comment translations.
3656
3657 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3658
3659         * unexelfsgi.c (unexec): Better test for mmap failure.
3660
3661 2000-12-05  Martin Buchholz <martin@xemacs.org>
3662
3663         * XEmacs 21.2.38 is released.
3664
3665 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3666
3667         * redisplay.c (bar-cursor): Make a user variable.
3668
3669         * symsinit.h: Add init_postgresql_from_environment.
3670
3671 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3672
3673         * regex.c: Convert to clean C.
3674
3675 2000-12-05  Dan Holmsand  <dan@eyebee.com>
3676
3677         * realpath.c:
3678         Don't #include sysfile.h. Revert to duplicating PATH_MAX
3679         initialization.
3680         (sys_readlink): renamed to system_readlink to avoid conflict with
3681         the other sys_readlink.
3682
3683 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
3684
3685         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
3686
3687 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
3688
3689         * postgresql.c (init_postgresql_from_environment): new function.
3690         (vars_of_postgresql): Move code initializing Lisp variables out and
3691         into init_postgresql_from_environment.
3692         emacs.c (main_1): Call init_postgresql_from_environment if and only
3693         if running a dumped XEmacs.
3694
3695 2000-08-31  Dan Holmsand  <dan@eyebee.com>
3696
3697         * buffer.c: Make find-file-compare-truenames default to true on
3698         windows.
3699
3700         * realpath.c (win32_abs_start):
3701         (cygwin_readlink):
3702         (win32_readlink): New functions.
3703         (xrealpath): Return really real filenames on windows.
3704
3705         * fileio.c (Ffile_truename): Make file-truename work on windows.
3706
3707 2000-11-29  Didier Verna  <didier@xemacs.org>
3708
3709         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
3710         * faces.c (update_face_cachel_data): use it.
3711         * faces.c (add_face_cachel): use it. Complete background pixmap
3712         frobbing in face cache if `update_face_cachel_data' has not done so.
3713
3714 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
3715
3716         * search.c (string_match_1): Don't set last_thing_searched
3717         when search failed.
3718
3719 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
3720
3721         * buffer.c: Include casetab.h
3722         (common_init_complex_vars_of_buffer): Use new case-table object.
3723         * buffer.h: Include casetab.h
3724         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
3725         (DOWNCASE_TABLE_OF): Ditto.
3726         * bufslots.h: Remove char-tables and add case-table.
3727         * casetab.c: Include casetab.h
3728         (CASE_TABLE_P): Removed.
3729         (mark_case_table): New function.
3730         (allocate_case_table): New function.
3731         (Fcase_table_p): Use new case-table.
3732         (case_table_char): New function.
3733         (Fget_case_table): Ditto.
3734         (Fput_case_table): Ditto.
3735         (Fput_case_table_pair): Ditto.
3736         (Fcopy_case_table): Ditto.
3737         (Fcurrent_case_table): Return case-table.
3738         (Fstandard_case_table): Return case-table.
3739         (Fset_case_table): Fix doc-string.
3740         (set_case_table): Use case-table
3741         (syms_of_casetab): DEFSUBR new functions.
3742         (complex_vars_of_casetab): Set up standard case-table.
3743         * casetab.h: New file.
3744         * editfns.c: Include casetab.h
3745         (Fcompare_buffer_substrings): Use case-table.
3746         * inline.c: Include casetab.h
3747         * lisp.h: Remove bogus extern.
3748         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
3749         * search.c: Include casetab.h
3750         (TRANSLATE_ASCII): Removed.
3751         (TRANSLATE): Unconditionally translate character.
3752         (looking_at_1): Use case-table.
3753         (string_match_1): Ditto.
3754         (fast_string_match): Ditto.
3755         (search_command): Ditto.
3756         (search_buffer): Separate boyer_moore.  Check whether
3757         boyer_moore is poosible.
3758         (simple_search): New function.
3759         (boyer_moore): Separated from search_buffer. Translate char.
3760
3761 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
3762
3763         * regex.c (RE_TR_ASCII): Removed.
3764         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
3765         (PATFETCH): Call PATFETCH_RAW.
3766         (PATFETCH_RAW): Fetch Emchar.
3767         (PATUNFETCH): Decrement charptr.
3768         (GET_BUFFER_SPACE): Rename b to buf_end.
3769         (BUF_PUSH): Ditto.
3770         (BUF_PUSH_2): Ditto.
3771         (BUF_PUSH_3): Ditto.
3772         (EXTEND_BUFFER): Ditto.
3773         (SET_LIST_BIT): Ditto.
3774         (regex_compile): Ditto.  Translate non ASCII char.
3775         (compile_range): Ditto.
3776         (re_search_2): Ditto.
3777         (re_match_2_internal): Compare Emchar.
3778         (bcmp_translate): Ditto.
3779
3780 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
3781
3782         * lisp.h (basic char/int typedefs):  comment improvement.
3783
3784 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
3785
3786         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
3787         unstomp inhibit_site_lisp.  Improve comments.
3788
3789 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
3790
3791         * mule-charset.c (Fcharset_property):  improve type checking, comments.
3792
3793 2000-11-28  Andy Piper  <andy@xemacs.org>
3794
3795         * redisplay-output.c (redisplay_output_subwindow): make sure we do
3796         clipped display for windows in the gutter also.
3797         (redisplay_display_boxes_in_window_p): change semantics of return
3798         codes to be more intuitive.
3799
3800         * gutter.h: declare display_boxes_in_gutter_p.
3801
3802         * gutter.c (display_boxes_in_gutter_p): new function for
3803         redisplay.
3804
3805 2000-11-22  Andy Piper  <andy@xemacs.org>
3806
3807         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
3808         autodetect domain.
3809
3810 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
3811
3812         * callproc.c (Fold_call_process_internal):
3813         * gpm.c (Freceive_gpm_event):
3814         (tty_get_foreign_selection): Might be just warning supression.
3815         * fileio.c (Fwrite_region_internal):
3816         (Fset_visited_file_modtime):
3817         * keymap.c (event_matches_key_specifier_p):
3818         Initialize GCPROed variable.
3819
3820         * menubar-x.c (command_builder_find_menu_accelerator):
3821         Initialize before use.
3822
3823 2000-11-23  Andy Piper  <andy@xemacs.org>
3824
3825         * unexcw.c (unexec): make the resulting executable executable.
3826
3827 2000-11-21  Martin Buchholz  <martin@xemacs.org>
3828
3829         * doc.c (get_doc_string):
3830         Use size_t, not int, for result of XSTRING_LENGTH.
3831
3832         * cmds.c (Fdelete_char):
3833         * cmds.c (Fpoint_at_eol):
3834         * cmds.c (Fself_insert_command):
3835         Use EMACS_INT, not int, for result of XINT.
3836         Someday, someone will want to insert more than 2**31 identical characters.
3837
3838         * cmds.c (Fdelete_char):
3839         * cmds.c (Fdelete_backward_char):
3840         * syntax.c (Fforward_word):
3841         * syntax.c (Fforward_comment):
3842         Make COUNT argument optional, for consistency with forward-char et al.
3843
3844 2000-11-22  Martin Buchholz  <martin@xemacs.org>
3845
3846         * lisp.h:
3847         * print.c (long_to_string):
3848         Return a useful value: the pointer at end of data written.
3849
3850         * doprnt.c:
3851         Use `static const char * const' for constant strings.
3852         (union printf_arg): Delete `i', `ui' members.
3853         (get_doprnt_args):
3854         (emacs_doprnt_1):
3855         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
3856         Do all printf-ing via the `l' specifier.
3857         Use EMACS_INT instead of int.
3858         Optimize.
3859
3860 2000-11-20  Didier Verna  <didier@xemacs.org>
3861
3862         * faces.c (update_face_cachel_data): don't frob the background
3863         pixmap when the window is being created. The face is needed but
3864         does not exist yet.
3865
3866 2000-11-20  Andy Piper  <andy@xemacs.org>
3867
3868         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
3869         messing with a debug environment.
3870
3871 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3872
3873         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
3874
3875 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3876
3877         * casetab.c (Fcase_table_p): Fix compile error and crash.
3878
3879 2000-11-18  Philip Aston  <philipa@mail.com>
3880
3881         * s/cygwin32.h: Cygwin has SVR4-like pty support.
3882
3883 2000-11-18  Martin Buchholz  <martin@xemacs.org>
3884
3885         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
3886         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
3887
3888 2000-11-17  Martin Buchholz  <martin@xemacs.org>
3889
3890         * config.h.in: Define HAVE_ELF_H if elf.h exists.
3891         * unexelf.c: Use HAVE_ELF_H.
3892         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
3893         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
3894         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
3895         Greg Harrington <greg_harrington@hotmail.com> provided a machine
3896         for testing.
3897         So this is an unexelfsgi.c from a different line of development.
3898
3899 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3900
3901         * regex.c (RE_TR_ASCII): New function.
3902         (RE_TRANSLATE): Call it.
3903
3904 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3905
3906         * buffer.h (TRT_TABLE_OF): Remove assert.
3907         (IN_TRT_TABLE_DOMAIN): Removed.
3908
3909 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
3910
3911         * free-hook.c (log_gcpro):
3912         (show_gcprohist): Add support for GCPRO5.
3913
3914 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
3915
3916         * emacs.c (main_1): Improve -sd error message when --pdump=no.
3917
3918 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
3919
3920         * symeval.h: Declare flush_all_buffer_local_cache.
3921
3922         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
3923         (flush_buffer_local_cache): Added.
3924         (flush_all_buffer_local_cache): Added.
3925
3926         * lrecord.h: Remove unused XD_LO_RESET_NIL.
3927
3928         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
3929         (pdump_dump_data): Ditto.
3930         (pdump_reloc_one): Ditto.
3931         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
3932         before dumping.
3933
3934
3935 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
3936
3937         * buffer.c: Remove if 0'ed entry.
3938         * buffer.h: Rewrite TRT to use char-table.
3939         * bufslots.h: Remove mirror tables.
3940         * casetab.c: Remove mirror tables.
3941         (CASE_TABLE_P): New macro.
3942         (Fcase_table_p): Element of a case table is string or char-table.
3943         (make_mirror_trt_table): Removed.
3944         (set_case_table): Setup char-table from strings for backward
3945         compatibility.
3946         * dired.c (Fdirectory_files):
3947         * dired-msw.c: (mswindows_get_files):
3948         * lisp.h: Change prototype of re_pattern_buffer.
3949         * regex.c: (RE_TRANSLATE): New macro.
3950         (TRANSLATE_P): Ditto.
3951         Change translate to type RE_TRANSLATE_TYPE.
3952         * regex.h: Define RE_TRANSLATE_TYPE
3953         * search.c (TRANSLATE): New macro.
3954         (TRANSLATE_ASCII): New macro.
3955         Translate table is changed to Lisp_Object.
3956         (signal_failure): Inhibit return.
3957
3958 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
3959
3960         * device-msw.c:
3961         * eldap.c:
3962         * event-Xt.c:
3963         * event-stream.c:
3964         * print.c:
3965         Do UNGCPRO before return.
3966
3967 2000-11-14  Martin Buchholz <martin@xemacs.org>
3968
3969         * XEmacs 21.2.37 is released.
3970
3971 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3972
3973         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
3974         Add comments about discarded return value.
3975
3976 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
3977
3978         * callint.c:
3979         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
3980
3981 2000-10-27  Andy Piper  <andy@xemacs.org>
3982
3983         * gutter.c (Fset_default_gutter_position): default left and right
3984         gutters to visible.
3985         (calculate_gutter_size): calculate resonable heuristic for left
3986         and right gutter sizes.
3987         (specifier_vars_of_gutter): change left and right gutter sizes to
3988         autodetect.
3989         (calculate_gutter_size_from_display_lines): new function.
3990         (output_gutter): check for resizing on left and right gutters.
3991         (clear_gutter): don't special case top and left gutters.
3992         (specifier_vars_of_gutter): use new signature for
3993         set_specifier_caching.
3994
3995         * glyphs-x.c (x_redisplay_widget): spelling fix.
3996         * glyphs.c (specifier_vars_of_glyphs):
3997         * menubar.c (specifier_vars_of_menubar):
3998         * redisplay.c (specifier_vars_of_redisplay):
3999         * toolbar.c (specifier_vars_of_toolbar):
4000         * window.c (specifier_vars_of_window):
4001         * scrollbar.c (specifier_vars_of_scrollbar):
4002         (complex_vars_of_scrollbar): use new signature for
4003         set_specifier_caching.
4004
4005         * specifier.c (set_specifier_caching): include recompute flag.
4006         (recompute_one_cached_specifier_in_window): always recompute if
4007         flag set.
4008         (recompute_one_cached_specifier_in_frame): ditto.
4009
4010         * specifier.h (struct specifier_caching): add recompute flag.
4011
4012 2000-10-24  Andy Piper  <andy@xemacs.org>
4013
4014         * unexcw.c (copy_executable_and_dump_data_section): add new
4015         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4016         5.0 happy.
4017
4018 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4019
4020         * console-x.h (x_device): New member modifier_release_time.
4021         * event-Xt.c (x_handle_sticky_modifiers):
4022         Bound interval modifier keys are sticky.
4023         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4024         * events.h: extern it.
4025
4026 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4027
4028         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4029
4030 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4031
4032         * event-stream.c (execute_command_event): Preserve current_events
4033         and the like when event is misc-user-event.
4034         Inhibit quit during the call to maybe_echo_keys.
4035
4036 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4037
4038         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4039         symlink when buffer is killed.
4040         (inhibit_clash_detection): New variable.
4041
4042 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4043
4044         * console.c (Fset_input_method): Trigger redisplay on tty.
4045
4046 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4047
4048         * process.c (Fprocess_status): Revert to previous behavior:
4049         (process-status "nosuchprocess") ==> nil
4050
4051 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4052
4053         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4054         Work around another GCC 2.95.2 optimizer bug.
4055
4056 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4057
4058         * process.c (Fget_process): Use LIST_LOOP_2.
4059         (kill_buffer_processes): Use LIST_LOOP_2.
4060
4061         * minibuf.c (Fall_completions):
4062         Delete old non-functional code for FSF fourth argument.
4063
4064         * frame.c (frame_matches_frame_spec):
4065         Renamed from `frame_matches_frametype'.  Update all callers.
4066         (device_matches_device_spec):
4067         Renamed from 'device_matches_console_spec'.  Update all callers.
4068
4069         * doc.c (Fsubstitute_command_keys):
4070         Remove buffer overflow crash.  Small code cleanups.
4071
4072         * casetab.c (check_case_table): Simpler code.
4073
4074         * window.c (Freplace_buffer_in_windows):
4075         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4076         (and similar implementation) as Fdelete_windows_on.
4077         Update all callers.
4078
4079         * alloc.c (Fmake_list):
4080         * alloc.c (make_vector):
4081         * alloc.c (Fmake_vector):
4082         * alloc.c (make_bit_vector):
4083         * alloc.c (Fmake_bit_vector):
4084         * alloc.c (Fbit_vector):
4085         * alloc.c (Fmake_string):
4086         * alloc.c (Fpurecopy):
4087         * alloc.c (Fmemory_limit):
4088         * buffer.c:
4089         * buffer.c (Fget_buffer):
4090         * buffer.c (Fkill_buffer):
4091         * buffer.c (complex_vars_of_buffer):
4092         * bytecode.c (Fcompiled_function_stack_depth):
4093         * callint.c (Fprefix_numeric_value):
4094         * event-stream.c:
4095         * event-stream.c (Fread_key_sequence):
4096         * casetab.c:
4097         * casetab.c (Fcase_table_p):
4098         * casetab.c (check_case_table):
4099         * casetab.c (Fset_case_table):
4100         * casetab.c (Fset_standard_case_table):
4101         * chartab.c:
4102         * chartab.c (Fchar_table_type):
4103         * chartab.c (Freset_char_table):
4104         * chartab.c (Fget_char_table):
4105         * chartab.c (Fget_range_char_table):
4106         * chartab.c (Fput_char_table):
4107         * chartab.c (Fmap_char_table):
4108         * chartab.c (Fcategory_table_p):
4109         * chartab.c (Fcheck_category_at):
4110         * chartab.c (Fchar_in_category_p):
4111         * chartab.c (Fcategory_table):
4112         * chartab.c (Fcopy_category_table):
4113         * chartab.c (Fset_category_table):
4114         * chartab.c (Fcategory_designator_p):
4115         * chartab.c (Fcategory_table_value_p):
4116         * cmds.c (Fdelete_char):
4117         * cmds.c (Fdelete_backward_char):
4118         * cmds.c (Fself_insert_command):
4119         * cmds.c (Fself_insert_internal):
4120         * console.c (Fvalid_console_type_p):
4121         * console.c (Fcdfw_console):
4122         * console.c (Fconsole_type):
4123         * console.c (Fconsole_name):
4124         * console.c (Fconsole_device_list):
4125         * console.c (Fconsole_on_window_system_p):
4126         * data.c:
4127         * data.c (Feq):
4128         * data.c (Fold_eq):
4129         * data.c (Fsubr_interactive):
4130         * data.c (Fchar_to_int):
4131         * data.c (Fint_to_char):
4132         * data.c (Fsetcar):
4133         * data.c (Fsetcdr):
4134         * data.c (Fnumber_to_string):
4135         * data.c (Fstring_to_number):
4136         * data.c (Frem):
4137         * database.c (mark_database):
4138         * database.c (finalize_database):
4139         * database.c (Fdatabase_live_p):
4140         * database.c (Fdatabasep):
4141         * device-x.c (Fx_get_resource):
4142         * device.c (Fdfw_device):
4143         * dired.c:
4144         * dired.c (Ffile_name_completion):
4145         * dired.c (Ffile_name_all_completions):
4146         * dired.c (Fuser_name_completion):
4147         * dired.c (Fuser_name_completion_1):
4148         * dired.c (Fuser_name_all_completions):
4149         * doc.c (Fdocumentation):
4150         * doc.c (Fdocumentation_property):
4151         * doc.c (Fsubstitute_command_keys):
4152         * editfns.c:
4153         * editfns.c (Fchar_to_string):
4154         * editfns.c (Fstring_to_char):
4155         * editfns.c (Ftemp_directory):
4156         * editfns.c (Finsert_char):
4157         * editfns.c (Fbuffer_substring_no_properties):
4158         * editfns.c (Fnarrow_to_region):
4159         * editfns.c (Fchar_equal):
4160         * editfns.c (Fchar_Equal):
4161         * editfns.c (Ftranspose_regions):
4162         * emacs.c (Fdump_emacs):
4163         * eval.c (Fthrow):
4164         * eval.c (Fcommand_execute):
4165         * eval.c (Fautoload):
4166         * eval.c (Fbacktrace):
4167         * eval.c (Fbacktrace_frame):
4168         * events.c:
4169         * events.c (Fcopy_event):
4170         * events.c (Fcharacter_to_event):
4171         * events.c (Fevent_button):
4172         * events.c (Fevent_process):
4173         * extents.c:
4174         * extents.c (Fnext_extent_change):
4175         * extents.c (Fextent_property):
4176         * faces.c (Ffacep):
4177         * faces.c (Fmake_face):
4178         * file-coding.c:
4179         * file-coding.c (Fencode_shift_jis_char):
4180         * file-coding.c (Fencode_big5_char):
4181         * fileio.c (Ffile_name_directory):
4182         * fileio.c (Ffile_name_nondirectory):
4183         * fileio.c (Ffile_name_as_directory):
4184         * fileio.c (Fdirectory_file_name):
4185         * fileio.c (Ffile_truename):
4186         * fileio.c (Fsubstitute_in_file_name):
4187         * fileio.c (Ffile_modes):
4188         * fileio.c (Fset_file_modes):
4189         * fileio.c (Fset_default_file_modes):
4190         * fileio.c (Fverify_visited_file_modtime):
4191         * floatfns.c (Facos):
4192         * floatfns.c (Fasin):
4193         * floatfns.c (Fatan):
4194         * floatfns.c (Fcos):
4195         * floatfns.c (Fsin):
4196         * floatfns.c (Ftan):
4197         * floatfns.c (Fbessel_j0):
4198         * floatfns.c (Fbessel_j1):
4199         * floatfns.c (Fbessel_jn):
4200         * floatfns.c (Fbessel_y0):
4201         * floatfns.c (Fbessel_y1):
4202         * floatfns.c (Fbessel_yn):
4203         * floatfns.c (Ferf):
4204         * floatfns.c (Ferfc):
4205         * floatfns.c (Flog_gamma):
4206         * floatfns.c (Fexp):
4207         * floatfns.c (Fexpt):
4208         * floatfns.c (Flog):
4209         * floatfns.c (Flog10):
4210         * floatfns.c (Fsqrt):
4211         * floatfns.c (Fcube_root):
4212         * floatfns.c (Facosh):
4213         * floatfns.c (Fasinh):
4214         * floatfns.c (Fatanh):
4215         * floatfns.c (Fcosh):
4216         * floatfns.c (Fsinh):
4217         * floatfns.c (Ftanh):
4218         * floatfns.c (Fabs):
4219         * floatfns.c (Ffloat):
4220         * floatfns.c (Flogb):
4221         * floatfns.c (Fceiling):
4222         * floatfns.c (Ffloor):
4223         * floatfns.c (Fround):
4224         * floatfns.c (Ftruncate):
4225         * floatfns.c (Ffceiling):
4226         * floatfns.c (Fffloor):
4227         * floatfns.c (Ffround):
4228         * floatfns.c (Fftruncate):
4229         * fns.c (Fstring_equal):
4230         * fns.c (Fstring_lessp):
4231         * fns.c (concat2):
4232         * fns.c (concat3):
4233         * fns.c (vconcat2):
4234         * fns.c (vconcat3):
4235         * fns.c (Fsubstring):
4236         * fns.c (Fassoc):
4237         * fns.c (Fold_assoc):
4238         * fns.c (assoc_no_quit):
4239         * fns.c (Fassq):
4240         * fns.c (Fold_assq):
4241         * fns.c (assq_no_quit):
4242         * fns.c (Frassoc):
4243         * fns.c (Fold_rassoc):
4244         * fns.c (Frassq):
4245         * fns.c (Fold_rassq):
4246         * fns.c (rassq_no_quit):
4247         * fns.c (Fremassoc):
4248         * fns.c (remassoc_no_quit):
4249         * fns.c (Fremassq):
4250         * fns.c (remassq_no_quit):
4251         * fns.c (Fremrassoc):
4252         * fns.c (Fremrassq):
4253         * fns.c (remrassq_no_quit):
4254         * fns.c (Fsort):
4255         * fns.c (Fplist_get):
4256         * fns.c (Fplist_put):
4257         * fns.c (Fplist_remprop):
4258         * fns.c (Fplist_member):
4259         * fns.c (Flax_plist_get):
4260         * fns.c (Flax_plist_put):
4261         * fns.c (Flax_plist_remprop):
4262         * fns.c (Flax_plist_member):
4263         * fns.c (Fequal):
4264         * fns.c (Fold_equal):
4265         * fns.c (Frequire):
4266         * fns.c (Fbase64_encode_region):
4267         * fns.c (Fbase64_encode_string):
4268         * fns.c (Fbase64_decode_region):
4269         * frame.c:
4270         * frame.c (frame_matches_frame_spec):
4271         * frame.c (device_matches_device_spec):
4272         * frame.c (next_frame):
4273         * frame.c (previous_frame):
4274         * frame.c (Fnext_frame):
4275         * frame.c (Fprevious_frame):
4276         * frame.c (Fframe_property):
4277         * frame.c (Fset_frame_height):
4278         * frame.c (Fset_frame_size):
4279         * frame.h:
4280         * glyphs.c:
4281         * glyphs.c (if):
4282         * glyphs.c (decode_error_behavior_flag):
4283         * glyphs.c (Fmake_image_instance):
4284         * indent.c (Findent_to):
4285         * intl.c (Fignore_defer_gettext):
4286         * keymap.c (Fkeymapp):
4287         * keymap.c (Flookup_key):
4288         * lread.c:
4289         * lread.c (Fload_internal):
4290         * lread.c (Feval_buffer):
4291         * lread.c (Feval_region):
4292         * macros.c (Fexecute_kbd_macro):
4293         * marker.c (set_marker_internal):
4294         * marker.c (Fset_marker):
4295         * marker.c (set_marker_restricted):
4296         * marker.c (Fcopy_marker):
4297         * marker.c (noseeum_copy_marker):
4298         * menubar.c:
4299         * menubar.c (Fpopup_menu):
4300         * minibuf.c:
4301         * mule-charset.c (Fcharset_name):
4302         * mule-charset.c (Fchar_charset):
4303         * mule-charset.c (Fchar_octet):
4304         * mule-charset.c (Fsplit_char):
4305         * mule-wnnfns.c (Fwnn_open):
4306         * mule-wnnfns.c (Fwnn_dict_comment):
4307         * mule-wnnfns.c (Fwnn_quit_henkan):
4308         * mule-wnnfns.c (Fwnn_word_toroku):
4309         * mule-wnnfns.c (Fwnn_word_sakujo):
4310         * mule-wnnfns.c (Fwnn_word_use):
4311         * mule-wnnfns.c (Fwnn_hindo_set):
4312         * objects.c:
4313         * objects.c (Fmake_color_instance):
4314         * objects.c (Fmake_font_instance):
4315         * print.c (Fwrite_char):
4316         * process.c:
4317         * process.c (mark_process):
4318         * process.c (print_process):
4319         * process.c (get_process_from_usid):
4320         * process.c (Fprocessp):
4321         * process.c (Fprocess_live_p):
4322         * process.c (Fget_process):
4323         * process.c (Fget_buffer_process):
4324         * process.c (get_process):
4325         * process.c (Fprocess_id):
4326         * process.c (Fprocess_name):
4327         * process.c (Fprocess_command):
4328         * process.c (init_process_io_handles):
4329         * process.c (start_process_unwind):
4330         * process.c (Fstart_process_internal):
4331         * process.c (Fopen_multicast_group_internal):
4332         * process.c (Fset_process_window_size):
4333         * process.c (read_process_output):
4334         * process.c (send_process):
4335         * process.c (Fprocess_tty_name):
4336         * process.c (Fset_process_buffer):
4337         * process.c (Fprocess_buffer):
4338         * process.c (Fprocess_mark):
4339         * process.c (set_process_filter):
4340         * process.c (Fset_process_filter):
4341         * process.c (Fprocess_filter):
4342         * process.c (Fprocess_send_region):
4343         * process.c (Fprocess_send_string):
4344         * process.c (exec_sentinel):
4345         * process.c (Fset_process_sentinel):
4346         * process.c (Fprocess_sentinel):
4347         * process.c (status_notify):
4348         * process.c (Fprocess_status):
4349         * process.c (Fprocess_exit_status):
4350         * process.c (process_send_signal):
4351         * process.c (Fprocess_send_eof):
4352         * process.c (deactivate_process):
4353         * process.c (remove_process):
4354         * process.c (Fdelete_process):
4355         * process.c (kill_buffer_processes):
4356         * process.c (Fprocess_kill_without_query):
4357         * process.c (Fprocess_kill_without_query_p):
4358         * rangetab.c:
4359         * rangetab.c (Fget_range_table):
4360         * rangetab.c (Fput_range_table):
4361         * rangetab.c (Fremove_range_table):
4362         * rangetab.c (Fclear_range_table):
4363         * search.c:
4364         * search.c (Fskip_chars_forward):
4365         * search.c (Fskip_chars_backward):
4366         * search.c (Fskip_syntax_forward):
4367         * search.c (Fskip_syntax_backward):
4368         * search.c (search_command):
4369         * search.c (Freplace_match):
4370         * search.c (Fregexp_quote):
4371         * select.c (Fown_selection_internal):
4372         * select.c (Fselection_owner_p):
4373         * select.c (Fselection_exists_p):
4374         * select.c (Fget_selection_internal):
4375         * specifier.c:
4376         * symbols.c:
4377         * symbols.c (Fintern):
4378         * symbols.c (Fintern_soft):
4379         * symbols.c (Funintern):
4380         * symbols.c (Fapropos_internal):
4381         * symbols.c (Fset_default):
4382         * syntax.c:
4383         * syntax.c (Fsyntax_table_p):
4384         * syntax.c (Fcopy_syntax_table):
4385         * syntax.c (Fset_syntax_table):
4386         * syntax.c (Fchar_syntax):
4387         * syntax.c (syntax_match):
4388         * syntax.c (Fmatching_paren):
4389         * syntax.c (Fforward_word):
4390         * syntax.c (scan_lists):
4391         * syntax.c (Fscan_lists):
4392         * syntax.c (Fscan_sexps):
4393         * syntax.c (Fparse_partial_sexp):
4394         * toolbar.c (Fcheck_toolbar_button_syntax):
4395         * tooltalk.doc:
4396         * window.c:
4397         * window.c (Fwindowp):
4398         * window.c (Fwindow_live_p):
4399         * window.c (Fwindow_point):
4400         * window.c (Fdelete_window):
4401         * window.c (Fnext_window):
4402         * window.c (Fprevious_window):
4403         * window.c (Fother_window):
4404         * window.c (window_loop):
4405         * window.c (Fget_lru_window):
4406         * window.c (Fsplit_window):
4407         * window.c (Fenlarge_window):
4408         * window.c (Fenlarge_window_pixels):
4409         * window.c (Fshrink_window):
4410         * window.c (Fshrink_window_pixels):
4411         * window.c (change_window_height):
4412         * window.c (Fwindow_configuration_p):
4413         * window.c (Fcurrent_window_configuration):
4414         * window.h:
4415         * casefiddle.c (casify_object):
4416         * casefiddle.c (Fupcase):
4417         * casefiddle.c (Fdowncase):
4418         * casefiddle.c (Fcapitalize):
4419         * casefiddle.c (Fupcase_initials):
4420         * casefiddle.c (casify_region_internal):
4421         * casefiddle.c (casify_region):
4422         * casefiddle.c (Fupcase_region):
4423         * casefiddle.c (Fdowncase_region):
4424         * casefiddle.c (Fcapitalize_region):
4425         * casefiddle.c (Fupcase_initials_region):
4426         * casefiddle.c (Fupcase_word):
4427         * casefiddle.c (Fdowncase_word):
4428         * casefiddle.c (Fcapitalize_word):
4429         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4430         Replace 0 with '\0' when working with bytes.
4431         Replace initial "(" with "\(" in docstrings.
4432
4433 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4434
4435         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4436
4437         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4438
4439 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4440
4441         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4442
4443 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4444
4445         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4446         correctly.
4447
4448 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4449
4450         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4451         (inhibit_auto_save_session): New variable.
4452         (vars_of_fileio): Declare and initialize them.
4453         * fileio.c (Fdo_auto_save): Don't create session file if
4454         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4455
4456 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4457
4458         * sgiplay.c (play_internal): C++ compilability.
4459         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4460         * callproc.c (Fold_call_process_internal):
4461         Remove unused vars `env', `first'.
4462         * scrollbar.c (update_scrollbar_instance):
4463         #### unused var `current_window'.
4464         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4465         etc. within #ifdef NOT_YET.
4466         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4467         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4468         * specifier.c (specifier_instance):
4469         #### unused var `tag'.
4470         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4471
4472 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4473
4474         * fns.c (Fbutlast):
4475         * fns.c (list_sort):
4476         * fns.c (Ffillarray):
4477         * fns.c (bytecode_nconc2):
4478         * fns.c (Fnconc):
4479         * fns.c (mapcar1):
4480         * fns.c (Fmapconcat):
4481         Be pedantically 64-bit correct.  For the time when someone will
4482         want to have a list with length > 2**32.
4483
4484         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4485         Work around MIPSpro compiler bug.
4486
4487         * process-unix.c (unix_kill_child_process): Add snarky comment.
4488         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4489
4490         * config.h.in: Oops, _getpt ==> _getpty
4491
4492 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4493
4494         * config.h.in:
4495         * regex.c:
4496         Use void*, not char*, as return type of alloca().
4497
4498         * alloc.c (free_marker): Side effect inside assert expression!
4499
4500 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4501
4502         * mule-charset.c (Fset_charset_ccl_program): To check
4503         if the given ccl program is valid, use setup_ccl_program()
4504         instead of CHECK_VECTOR().
4505         (Fmake_charset): Likewise.
4506
4507 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4508
4509         * faces.c (get_extent_fragment_face_cache_index):
4510         Fix cachel.merged_faces memory leak.
4511
4512 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4513
4514         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4515         Reset MSB of octets obtained by DECODE_SJIS
4516         because of the incompatibility with Emacs.
4517         (ccl_driver)<CCL_ENCODE_SJIS>:
4518         Set MSB of octets before passing them to
4519         ENCODE_SJIS because of the incompatibility
4520         with Emacs.
4521
4522 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4523
4524         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4525         (DECLARE_LRECORD): Undo the last change.
4526         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4527
4528 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4529
4530         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4531         the implementation to lrecord_implementations_table.
4532
4533 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4534
4535         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4536         initial value of `lrecord_type_##c_name' and
4537         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4538         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4539         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4540         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4541         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4542
4543 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4544
4545         * miscplay.c (sndcnv8S_2mono):
4546         (sndcnv2monounsigned):
4547         (sndcnvULaw_2linear):
4548         (sndcnv16swap):
4549         Remove implementation-defined behavior.
4550
4551 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4552
4553         * input-method-xlib.c: Warning suppression.
4554
4555 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4556
4557         * mule-ccl.c: Sync up with Emacs 21.0.90.
4558         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4559         Do nothing.
4560         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4561         Likewise.
4562         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4563         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4564         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4565         leading char belongs to official 2-dimensional charset.
4566         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4567         write the given character as is.  Otherwise,
4568         if it is a multibyte char, convert it by
4569         non_ascii_set_charptr_emchar, then write it.
4570         (CCL_WRITE_STRING): Likewise.
4571         (ccl_get_compiled_code): New function.
4572         (setup_ccl_program): When ccl_prog is invalid,
4573         return -1.
4574         (Fregister_code_conversion_map): New function.
4575         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4576
4577         * mule-ccl.h: Sync up with Emacs 21.0.90.
4578         (Fregister_ccl_program): export it.
4579
4580         * redisplay-msw.c (separate_textual_runs):
4581         If ccl program is not valid, don't do ccl conversion.
4582
4583         * redisplay-x.c (separate_textual_runs): Ditto.
4584
4585         * file-coding.c (Fmake_coding_system):
4586         When type is ccl and value is vector, register it
4587         with a proper symbol.  And checks whether the
4588         given ccl program is valid.
4589         (mule_decode): When calling ccl_driver, if src indicates
4590         NULL pointer, set an empty string instead.
4591         (mule_encode): Likewise.
4592
4593 2000-10-11  Martin Buchholz  <martin@xemacs.org>
4594
4595         The following large batch of changes gets us back to a state of
4596         C++ compilability.  Extbyte is now a char, which means that
4597         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
4598
4599         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
4600
4601         * sound.c (Fplay_sound): Type correctness.
4602
4603         * select-x.c (hack_motif_clipboard_selection): Type correctness.
4604         (x_get_window_property): Type correctness.
4605         (receive_incremental_selection): unsigned char ==> Extbyte
4606         (selection_data_to_lisp_data): unsigned char ==> Extbyte
4607         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
4608         (Fx_store_cutbuffer_internal): Type correctness.
4609
4610         * process-unix.c (try_to_initialize_subtty): Type correctness.
4611
4612         * objects-x.c (x_print_color_instance): Type correctness.
4613         (x_print_font_instance): Type correctness.
4614         (x_list_fonts): SExtbyte ==> Extbyte.
4615         (valid_x_font_name_p): SExtbyte ==> Extbyte.
4616         (x_find_charset_font): SExtbyte ==> Extbyte.
4617         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
4618         (truename_via_XListFonts): SExtbyte ==> Extbyte.
4619         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
4620         Use bufbyte_strcmp.
4621
4622         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
4623         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
4624         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
4625         (BYTE_C0_P): Use bit ops for char-signedness safety.
4626         (BYTE_C1_P): Use bit ops for char-signedness safety.
4627         (CHARSET_BY_LEADING_BYTE):
4628         (CHARSET_BY_ATTRIBUTES):
4629         Always use inline function.
4630         Use type_checking_assert.
4631         Hide chlook.
4632
4633         * mule-charset.c (non_ascii_charptr_copy_char):
4634         Modify to work with both ASCII and non-ASCII characters.
4635         Improve docs and variable names.
4636         Replace over-clever fall-through switch with a simple loop.
4637         (Lstream_get_emchar_1):
4638         Replace over-clever fall-through switch with a simple loop.
4639
4640         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4641         Warning suppression.
4642
4643         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
4644         the return value of Lstream_getc, which could be EOF as well.
4645
4646         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
4647
4648         * lisp.h: Make Extbyte a char, not unsigned char, so that external
4649         APIs can be used on Extbytes without casts.  Risky!
4650         (SExtbyte): Remove.
4651         (UExtbyte): Remove.
4652
4653         * input-method-xlib.c (XIM_init_device):
4654         Use Xlib.h instead of IntrinsicP.h.
4655         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
4656         which will break in X11R7.
4657         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
4658         to call XRegisterIMInstantiateCallback with correct types.
4659
4660         * gui-x.c (button_item_to_widget_value): Type correctness.
4661
4662         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
4663
4664         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
4665         (xbm_instantiate_1): Type correctness.
4666         (BUILD_GLYPH_INST):  Type correctness.
4667
4668         * fileio.c (Fsubstitute_in_file_name): Type correctness.
4669
4670         * file-coding.c:
4671         (decode_coding_sjis):
4672         (decode_coding_big5):
4673         (decode_coding_ucs4):
4674         (decode_coding_utf8):
4675         (decode_coding_iso2022):
4676         (decode_coding_no_conversion):
4677         Make all decoding functions take an Extbyte * arg.
4678         (encode_coding_sjis):
4679         (encode_coding_big5):
4680         (encode_coding_ucs4):
4681         (encode_coding_utf8):
4682         (encode_coding_iso2022):
4683         (encode_coding_no_conversion):
4684         Make all encoding functions take a Bufbyte * arg.
4685         Use size_t instead of unsigned int for memory sizes.
4686         Only cast to unsigned char whenever dereferencing Extbyte *.
4687
4688         * doc.c (unparesseuxify_doc_string): Type correctness.
4689
4690         * console-x.c (split_up_display_spec):
4691         Rewrite without using details of internal string representation.
4692         (x_semi_canonicalize_device_connection): Type correctness.
4693
4694         * config.h.in:
4695         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
4696         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
4697         (HAVE_XFREE386): Removed.
4698
4699         * buffer.h (DEC_CHARPTR): `const' correctness.
4700         (bufbyte_strcmp): New.
4701         (bufbyte_memcmp): New.
4702
4703         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
4704
4705         * buffer.h (XCHAR_OR_CHAR_INT):
4706         Always use inline function.
4707         Remove redundant type checking assert() - XINT will abort quite nicely.
4708
4709 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4710
4711         * search.c (Freplace_match): Set newtext to an empty string.
4712
4713 2000-10-10  Martin Buchholz  <martin@xemacs.org>
4714
4715         * s/decosf1-3.h: Remove #include of stropts.h
4716         * s/ptx.h: Remove #include of stropts.h
4717         * s/usg5-4.h: Remove #include of stropts.h
4718         * sysproc.h:
4719         * config.h.in:
4720         Use stropts.h, not sys/stropts.h.
4721         Use strtio.h, not sys/strtio.h.
4722
4723 2000-10-04  Martin Buchholz <martin@xemacs.org>
4724
4725         * XEmacs 21.2.36 is released.
4726
4727 2000-09-21  Andy Piper  <andy@xemacs.org>
4728
4729         * glyphs-x.c (x_redisplay_widget): make sure non-structural
4730         changes still involve copying the widget tree.
4731         (update_widget_face): make sure a change is register in the widget
4732         tree. Call update_tab_widget_face appropriately.
4733         (update_tab_widget_face): ditto.
4734         (x_tab_control_redisplay): make sure non-structural changes still
4735         involve copying the widget tree.
4736
4737 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
4738
4739         * lread.c (locate_file): Check the path element is non-nil.
4740
4741 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4742
4743         * lisp.h: Warning suppression for SCO compilers.
4744
4745         * redisplay-tty.c (reset_tty_modes): Fix crash.
4746         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
4747
4748 2000-09-27  Martin Buchholz  <martin@xemacs.org>
4749
4750         Big signal/process handling overhaul.  Bugs fixed:
4751         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
4752         M-x comint-kill-subjob should work for both values nil and t of
4753         process-connection-type. It was broken on most platforms.
4754         Testing on Irix and Cygwin still needed.  Other plaforms tested.
4755         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
4756         * process-unix.c: Signal/Process handling overhaul.
4757         (pty_name): make 64 bytes, as `expect' does, for paranoia.
4758         (allocate_pty): Use all available modern methods of allocating
4759         ptys, falling back to old style BSD allocation as a last resort.
4760         Use allegedly more secure Unix98 pty allocation by default.
4761         (allocate_pty_the_old_fashioned_way): New. the last resort.
4762         (unix_create_process): Push ptem, ldterm, ttcompat where
4763         available.  Autoconfiscate.
4764         (try_to_initialize_subtty): New.
4765         (unix_kill_child_process): Proper signal handling for ptys on most
4766         platforms, using special knowledge of AIX, BSD, etc...
4767         (unix_create_process): Always disconnect_controlling_terminal() for
4768         subprocesses, whether using ptys or not.
4769         * process.h: Remove old getpt-dependent PTY code.
4770         * process.c (Fprocess_send_signal): New, obvious generic function.
4771         (decode_signal): New.
4772         (Finterrupt_process):
4773         (Fkill_process):
4774         (Fquit_process):
4775         (Fstop_process):
4776         (Fcontinue_process):
4777         (Fsignal_process): Use decode_signal.
4778         (process_send_signal):
4779         Many docstring corrections.
4780         Allow any signal to be sent to a process object.
4781         * config.h.in: Add symbols for big signal/process overhaul.
4782         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
4783         * sysproc.h: Include process-related headers, where available:
4784         sys/stropts.h sys/strtio.h pty.h libutil.h
4785         * s/irix4-0.h:
4786         * s/irix5-0.h:
4787         * s/cygwin32.h:
4788         * s/gnu.h:
4789         * s/linux.h:
4790         * s/hpux.h:
4791         * s/aix3-1.h:
4792         Remove old S&M pty stuff.
4793         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
4794         * systty.h: Simplify cpp hackery, improve comments.
4795         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
4796
4797         * editfns.c (Fformat_time_string):
4798         Be a little more paranoid with the return value of ctime.
4799
4800         * fileio.c (check_executable):
4801         (check_writable):
4802         Use symbolic constants X_OK, W_OK.
4803
4804         * console-x.c (split_up_display_spec): Fix a warning.
4805
4806 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4807
4808         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
4809         * ntproc.c (sys_spawnve): make_string ==> build_string
4810         Small clarity improvements.
4811
4812 2000-09-30  Martin Buchholz  <martin@xemacs.org>
4813
4814         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
4815
4816         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
4817
4818         * config.h.in (HAVE_STRCASECMP): Remove.
4819
4820 2000-09-29  Martin Buchholz  <martin@xemacs.org>
4821
4822         * redisplay-output.c (redisplay_output_pixmap):
4823         Cleaner and possibly more 64-bit correct code.
4824
4825 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4826
4827         * dumper.c (pdump_load_finish): move restoration of
4828         `noninteractive1' to emacs.c (main_1).
4829         * emacs.c (main_1): protect LISP-visible command-line flags
4830         from pdump_load().
4831
4832 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
4833
4834         * Makefile.in.in (versionclean):  Use EXE_TARGET and
4835         DUMP_TARGET instead of literal program names.
4836
4837 2000-09-20  Martin Buchholz  <martin@xemacs.org>
4838
4839         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
4840
4841 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4842
4843         * *: Spelling mega-patch
4844
4845 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4846
4847         * fns.c (bad_bad_turtle):
4848         Delete "Eek!" comment, since we fixed the bug to which it refers.
4849
4850 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4851
4852         * alloca.c: Replace REGISTER with register.
4853
4854 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
4855
4856         * file-coding.c (ucs_to_char): Use countof.
4857
4858 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4859
4860         * file-coding.c: (ucs_to_char):
4861         (complex_vars_of_file_coding):
4862         Use countof instead of sizeof.
4863         Use CHECK_NATNUM instead of CHECK_INT.
4864
4865         * sysdep.c (strcasecmp): Remove.
4866         * device-x.c (ascii_strcasecmp): New.
4867         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
4868         Avoid using non-standard non-portable strcasecmp.
4869
4870 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4871
4872         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
4873         * font-lock.c: remove reference to emacsfns.h.
4874         * search.c: small doc improvement.
4875         * event-Xt.c: correct file names in comments.
4876         * console-x.h Correct file names in comments.
4877         * frame.c: Correct file names in comments.
4878         * event-stream.c: remove Energize from comments.
4879
4880 2000-09-15  Martin Buchholz  <martin@xemacs.org>
4881
4882         * symeval.h (DEFERROR_STANDARD):
4883         (DEFERROR):
4884         (DEFSYMBOL):
4885         (DEFSYMBOL_NO_DUMP):
4886         (DEFSYMBOL_MULTIWORD_PREDICATE):
4887         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
4888         (DEFKEYWORD):
4889         The construct &##name is not sensible C.
4890         Fixes compilation errors with Unixware native compiler.
4891
4892 2000-09-14  Martin Buchholz  <martin@xemacs.org>
4893
4894         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
4895         (next_frame_internal): Removed.  We now just have next_frame.
4896         (next_frame):
4897         Write a simpler and cleaner one-pass algorithm.
4898         Remove called_from_delete_device arg and #ifdefed-out code.
4899         (previous_frame):
4900         Renamed from prev_frame.  Update callers.
4901         Cleaned up to have an analogous implementation to next_frame.
4902         (other_visible_frames_internal): Remove the
4903         called_from_delete_device bogus arg, and hence, remove this
4904         function.  Just use other_visible_frames().
4905
4906         * window.c (Fnext_window):
4907         Prettify docstring.
4908         Since next_frame() is guaranteed to return a frame, remove check
4909         for nil inserted in previous patch.
4910         (Fprevious_window):
4911         Prettify docstring.
4912         Make code look more like Fnext_window.
4913         (window_loop):
4914         Respect the `console' arg when iterating through windows.
4915         Fixes bug: (get-buffer-window buffer t device) not respecting
4916         the `device' arg.
4917         This function needs more work, as others have pointed out.
4918
4919         * frame.h: Rename prev_frame to previous_frame.
4920         device_matches_console_spec no longer takes a `frame' arg.
4921
4922         * s/gnu.h:
4923         * s/linux.h:
4924         * s/hpux.h:
4925         Use EMACS_BLOCK_SIGNAL instead of sigblock.
4926         From "Golubev I. N." <gin@mo.msk.ru>.
4927
4928         * make-src-depend: Fix typo.
4929
4930 2000-09-13  Martin Buchholz  <martin@xemacs.org>
4931
4932         * window.c (Fnext_window):
4933         next_frame() might return nil, not a frame.
4934         Fixes this crash:
4935         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4936
4937         * frame.c (next_frame_internal):
4938         We've passed a frame if we've passed its device.
4939         Fixes this crash:
4940         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
4941 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
4942
4943 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4944
4945         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
4946         Allow option to suppress accelerators in menu/dialog items.
4947         (populate_or_checksum_helper): Pass dialog title through above.
4948
4949 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
4950
4951         * event-msw.c (mswindows_key_to_emacs_keysym):
4952         Add "pause" key, fix "menu" key.
4953
4954 2000-09-09  Martin Buchholz  <martin@xemacs.org>
4955
4956         * eval.c (reinit_vars_of_eval):
4957         Increase max_lisp_eval_depth to 1000,
4958         required for thai-xtis.el to byte-compile under some circumstances.
4959
4960 2000-09-04  Martin Buchholz  <martin@xemacs.org>
4961
4962         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
4963         From Kenichi Handa.
4964
4965 2000-09-01  Martin Buchholz  <martin@xemacs.org>
4966
4967         * make-src-depend: Make the generated Makefiles smaller.
4968
4969         * s/hpux.h (SETUP_SLAVE_PTY):
4970         Provide a %d in the format string for the errno argument.
4971
4972         * editfns.c (Ftemp_directory):
4973         Warning fix.
4974         Avoid buffer overrun on very long file name.
4975
4976         * input-method-xlib.c (XIM_init_device):
4977         6th parameter of XRegisterIMInstantiateCallback has different
4978         pointer types on different OSes, so simply cast to (void *).
4979
4980         * unexhp9k800.c: Warning fixes.  Fiddly changes.
4981
4982         * sysdll.c (dll_open):
4983         shl_load will hang hard if passed a NULL filename.
4984         Simply return NULL for compatibility with dlopen.
4985         * sysdll.c: Conform to XEmacs coding standards.
4986
4987         * sysdep.c (get_pty_max_bytes):
4988         Support pty input lines longer than 512 bytes on HP-UX 10.20.
4989
4990 2000-08-31  Martin Buchholz  <martin@xemacs.org>
4991
4992         * tooltalk.c: Add #include <syssignal.h>
4993
4994 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
4995
4996         * s/hpux.h: Don't use undefined function sigunblock().
4997
4998 2000-08-31  Martin Buchholz  <martin@xemacs.org>
4999
5000         * config.h.in: Add HAVE_BALLOON_HELP.
5001         * emacs.c: Use HAVE_BALLOON_HELP.
5002         * Makefile.in.in (x_objs):
5003         Make Balloon Help conditional on finding shape.h.
5004
5005 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5006
5007         * syntax.c (regex_emacs_buffer_p): New variable.
5008         * syntax.h (regex_emacs_buffer_p): extern.
5009         * search.c (looking_at_1):
5010         (string_match_1):
5011         (fast_string_match):
5012         (search_buffer): Set regex_emacs_buffer_p.
5013         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5014         when before_dot, at_dot, after_dot.
5015
5016 2000-08-23  Andy Piper  <andy@xemacs.org>
5017
5018         * gui-x.c (popup_selection_callback): Only set action_occurred
5019         when we really have an image instance.
5020         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5021
5022 2000-08-23  Andy Piper  <andy@xemacs.org>
5023
5024         * gui-msw.c (mswindows_handle_gui_wm_command): set
5025         action_occurred.
5026         * gui-x.c (popup_selection_callback): ditto.
5027
5028         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5029         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5030         (struct Lisp_Image_Instance): add action_occurred flag.
5031
5032         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5033         (image_instance_changed): ditto.
5034         (reset_frame_subwindow_instance_cache): only unmap windows - do
5035         not remove them from the cache also.
5036
5037         * glyphs-widget.c (tab_control_update): better debug.
5038         (progress_gauge_update): ditto.
5039         (layout_update): ditto.
5040         (layout_instantiate): ditto.
5041         (tab_control_order_only_changed): cope with null pending items.
5042
5043         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5044         debug. Force selection of an item when an action occurred. Cope
5045         with null pending_items.
5046         (mswindows_progress_gauge_redisplay): better debug.
5047         * glyphs-x.c (x_tab_control_redisplay): ditto.
5048
5049         * redisplay.c (redisplay_frame): reset the frame cache if the
5050         frame is garbaged.
5051
5052         * window.c (Fset_window_configuration): potentially re-enable
5053         frame cache reset.
5054         (window_unmap_subwindows): need to finalize instances here since
5055         it is only used in mark_window_as_deleted.
5056
5057 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5058
5059         * nas.c (SndOpenDataForReading):
5060         nas.c (WaveOpenDataForReading):
5061         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5062         Somehow escaped from the 2000-08-14 patch.
5063
5064 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5065
5066         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5067         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5068
5069 2000-08-21  Andy Piper  <andy@xemacs.org>
5070
5071         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5072         window if it is not already displayed.
5073
5074         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5075         it is not already displayed.
5076
5077         * window.c (Fset_window_configuration): don't reset the frame
5078         cache.
5079
5080         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5081         instances from the frame cache if we are actually finalizing them.
5082         (reset_frame_subwindow_instance_cache): reset frame cache only
5083         after unmapping everything.
5084         (map_subwindow): set displayed flag after mapping.
5085
5086 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5087
5088         * data.c (indirect_function):
5089         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5090
5091         * eval.c (function_argcount):
5092         Use original function when signaling errors.
5093
5094 2000-08-18  Andy Piper  <andy@xemacs.org>
5095
5096         * frame.c (delete_frame_internal): use new
5097         free_frame_subwindow_instances name.
5098
5099         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5100         (add_tab_item): make return type correct.
5101         (mswindows_tab_control_instantiate): assert index of tab.
5102         (mswindows_tab_control_redisplay): Re-code to use
5103         gui_item_equal_sans_selected and gui_item_list_find_selected.
5104
5105         * glyphs-widget.c (tab_control_update): Correct comment.
5106
5107         * window.c (window_unmap_subwindows): use new
5108         unmap_subwindow_instance_cache_mapper.
5109         (window_unmap_subwindows_cache_mapper): deleted.
5110         (Fset_window_configuration): comparisons should now be with
5111         EQ. Preserve the subwindow instance cache across configuration
5112         changes.
5113         (allocate_window): ditto.
5114         (make_dummy_parent): ditto.
5115
5116         * glyphs.c (free_frame_subwindow_instances): rename from
5117         free_frame_subwindow_instance_cache. finalize all instances rather
5118         than just those in the display cache.
5119         (finalize_all_subwindow_instances): walk windows unmapping and
5120         finalizing subwindows.
5121         (unmap_subwindow_instance_cache_mapper): moved from
5122         window.c. Allow finalization as well as unmapping.
5123
5124         * gui.c (gui_item_list_find_selected): new function.
5125
5126         * gui.h (gui_item_list_find_selected): declare.
5127
5128         * glyphs-x.c (x_tab_control_redisplay): pick tab
5129         explicitly. Re-code to use gui_item_equal_sans_selected and
5130         gui_item_list_find_selected.
5131
5132         * glyphs-x.h: add lwlib-utils.h
5133
5134         * buffer.c (Frecord_buffer): undo previous change.
5135
5136 2000-08-09  Vin Shelton  <acs@xemacs.org>
5137
5138         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5139         possible.  Create temporary files more securely.  The patch was
5140         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5141         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5142         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5143         for details.
5144
5145 2000-08-07  Ben Wing  <ben@xemacs.org>
5146
5147         * getloadavg.c: remove duplicate (and windows-breaking)
5148         includes of fcntl.h and sys/file.h.
5149
5150         * nt.c: remove duplicate getloadavg() definition.
5151
5152         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5153         encodings.
5154
5155 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5156
5157         * eval.c (function_argcount): If function needs to be autoloaded
5158         actually use the loaded definition.
5159         GCPRO function.
5160
5161 2000-08-05  Ben Wing  <ben@xemacs.org>
5162
5163         * getloadavg.c: add prototype for getloadavg().  remove
5164         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5165         of the code).  remove duplicate header includes.
5166
5167         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5168
5169         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5170         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5171         useful load average.
5172
5173         * alloc.c (reinit_alloc_once_early): removed references to
5174         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5175         the lisp vars are the only things referencing the malloc_sbrk_*
5176         vars, and they were already if 0'd out.  these vars only exist
5177         in the older malloc.c, which is basically unused, and they're
5178         only for informational purposes.
5179
5180         * m\*.h: removed useless VIRT_ADDR_VARIES.
5181
5182         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5183
5184 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5185
5186         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5187         color if the image is a mono pixmap.
5188
5189 2000-07-30  Ben Wing  <ben@xemacs.org>
5190
5191         * Makefile.in.in (release):
5192         Remove stray @.
5193
5194         * buffer.c (directory_is_current_directory):
5195         * dired-msw.c (mswindows_get_files):
5196         * dired.c:
5197         * dired.c (Fdirectory_files):
5198         * dired.c (file_name_completion_stat):
5199         * dired.c (Ffile_attributes):
5200         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5201         preprocessor tricks, to avoid problems on some machines
5202         (e.g. SCO).
5203
5204         * callproc.c (egetenv): GC docs.
5205
5206         * console-msw.h:
5207         * console-msw.h (struct mswindows_dialog_id):
5208         * lrecord.h (lrecord_type):
5209         New object for use with MSW dialogs.
5210
5211         * console.h (struct console_methods):
5212         New enable/disable frame methods, for proper modal dialogs.
5213
5214         * device-msw.c (msprinter_default_printer): Fix to follow
5215         proper Mule conventions.
5216
5217         * device-msw.c:
5218         * device-msw.c (signal_open_printer_error):
5219         * device-msw.c (msprinter_init_device):
5220         * device-msw.c (ensure_not_printing):
5221         * device-msw.c (plist_get_margin):
5222         * device-msw.c (Fmsprinter_select_settings):
5223         * device-msw.c (finalize_devmode):
5224         * device-msw.c (Fmsprinter_settings_despecialize):
5225         * device-msw.c (signal_enum_priner_error):
5226         * extents.c (decode_extent):
5227         * extents.c (decode_map_extents_flags):
5228         * extents.c (decode_extent_at_flag):
5229         * extents.c (Fextent_at):
5230         * extents.c (Fextents_at):
5231         * extents.c (symbol_to_glyph_layout):
5232         [[[[2]]]] Use structured errors.
5233
5234         * dialog-msw.c:
5235         * dialog-msw.c (mswindows_is_dialog_msg):
5236         * dialog-msw.c (mark_mswindows_dialog_id):
5237         * dialog-msw.c (dialog_proc):
5238         * dialog-msw.c (handle_question_dialog_box):
5239         * dialog-msw.c (syms_of_dialog_mswindows):
5240         Define new object to clean up marking; use it as a dialog identifier.
5241         Call new delete-dialog-box-hook.
5242
5243         * dialog-x.c (dbox_selection_callback):
5244         * dialog-x.c (dbox_descriptor_to_widget_value):
5245         * dialog-x.c (x_make_dialog_box_internal):
5246         Call new delete-dialog-box-hook.
5247         Return an id.
5248
5249         * dialog.c:
5250         * dialog.c (syms_of_dialog):
5251         * dialog.c (vars_of_dialog):
5252         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5253
5254         * eval.c:
5255         * eval.c (signal_call_debugger):
5256         when noninteractive, output stack traces on the console instead
5257         of in a (never-seen) buffer.
5258
5259         * eval.c (signal_type_error):
5260         * eval.c (invalid_argument_2):
5261         * lisp.h:
5262         new funs for use w/structured errors.
5263
5264         * event-Xt.c:
5265         * event-Xt.c (x_to_emacs_keysym):
5266         * event-Xt.c (describe_event):
5267         * event-Xt.c (emacs_Xt_event_handler):
5268         * event-Xt.c (vars_of_event_Xt):
5269         * event-msw.c:
5270         * event-msw.c (mswindows_wnd_proc):
5271         * event-msw.c (vars_of_event_mswindows):
5272         rename {x,mswindows}-debug-events to debug-{}-events for
5273         consistency with other debug-foo variables.
5274
5275         * event-stream.c:
5276         document next-event more clearly.
5277
5278         * fileio.c (Ffile_name_directory):
5279         * fileio.c (Ffile_name_nondirectory):
5280         * fileio.c (Funhandled_file_name_directory):
5281         * fileio.c (file_name_as_directory):
5282         * fileio.c (Ffile_name_as_directory):
5283         * fileio.c (directory_file_name):
5284         * fileio.c (Fdirectory_file_name):
5285         * fileio.c (Fmake_temp_name):
5286         * fileio.c (Ffile_truename):
5287         * fileio.c (Fsubstitute_in_file_name):
5288         * fileio.c (expand_and_dir_to_file):
5289         * fileio.c (barf_or_query_if_file_exists):
5290         * fileio.c (check_executable):
5291         * fileio.c (Ffile_exists_p):
5292         * fileio.c (Ffile_writable_p):
5293         * fileio.c (Ffile_directory_p):
5294         * fileio.c (Ffile_regular_p):
5295         * fileio.c (Ffile_modes):
5296         * fileio.c (Ffile_newer_than_file_p):
5297         * fileio.c (Fverify_visited_file_modtime):
5298         * fileio.c (Fset_visited_file_modtime):
5299         * fileio.c (auto_save_1):
5300         (1). (2).
5301         fix up gcpro's.
5302
5303         * frame-msw.c:
5304         * frame-msw.c (mswindows_init_frame_1):
5305         * frame-msw.c (mswindows_enable_frame):
5306         * frame-msw.c (error_frame_unsizable):
5307         * frame-msw.c (msprinter_init_frame_1):
5308         * frame-msw.c (msprinter_init_frame_3):
5309         * frame-msw.c (console_type_create_frame_mswindows):
5310         (2).
5311         implement new enable/disable frame methods.
5312
5313         * frame-x.c:
5314         * frame-x.c (x_enable_frame):
5315         * frame-x.c (console_type_create_frame_x):
5316         implement new enable/disable frame methods.
5317
5318         * frame.c:
5319         * frame.c (Fdisable_frame):
5320         * frame.c (syms_of_frame):
5321         * frame.h (struct frame):
5322         implement new enable/disable frame methods/functions.
5323
5324         * general-slots.h:
5325         add initial-focus.
5326
5327         * glyphs-msw.c (mswindows_widget_instantiate):
5328         comment that initial-focus should be implemented.
5329
5330         * glyphs-widget.c:
5331         * glyphs-widget.c (check_valid_instantiator):
5332         * glyphs-widget.c (check_valid_orientation):
5333         * glyphs-widget.c (check_valid_tab_orientation):
5334         * glyphs-widget.c (check_valid_justification):
5335         * glyphs-widget.c (check_valid_border):
5336         * glyphs-widget.c (check_valid_callback):
5337         * glyphs-widget.c (check_valid_int_or_function):
5338         * glyphs-widget.c (check_valid_string_or_vector):
5339         * glyphs-widget.c (check_valid_item_list_1):
5340         * glyphs-widget.c (widget_validate):
5341         * glyphs-widget.c (combo_box_validate):
5342         * glyphs-widget.c (widget_instantiate):
5343         * glyphs-widget.c (syms_of_glyphs_widget):
5344         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5345         * glyphs-widget.c (image_instantiator_combo_box):
5346         * glyphs-widget.c (image_instantiator_scrollbar):
5347         * glyphs-widget.c (image_instantiator_tab_control):
5348         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5349         (2).
5350         support (unimplemented) keyword initial-focus.
5351         reindent long macros.
5352
5353         * glyphs-x.c (x_redisplay_widget):
5354         * glyphs-x.c (x_button_instantiate):
5355         * glyphs-x.c (x_button_redisplay):
5356         * glyphs-x.c (x_progress_gauge_instantiate):
5357         * glyphs-x.c (x_edit_field_instantiate):
5358         * glyphs-x.c (x_combo_box_instantiate):
5359         * glyphs-x.c (x_tab_control_instantiate):
5360         * glyphs-x.c (x_label_instantiate):
5361         * gui-x.c:
5362         * gui-x.c (button_item_to_widget_value):
5363         * gui-x.c (gui_items_to_widget_values_1):
5364         * gui-x.c (gui_item_children_to_widget_values):
5365         * gui-x.c (gui_items_to_widget_values):
5366         * gui-x.h:
5367         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5368         add new flag to gui-parsing routines to indicate whether
5369         accelerator specs should be supported.
5370
5371         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5372
5373         * glyphs.h (struct Lisp_Image_Instance):
5374         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5375         add initial-focus flag.
5376
5377         * gui.c:
5378         * gui.c (syms_of_gui):
5379         * gui.c (vars_of_gui):
5380         clean up menu-no-selection-hook.
5381
5382         * gui.h:
5383         support delete-dialog-box-hook.
5384
5385         * lread.c (Fload_internal):
5386         * lread.c (locate_file_in_directory_mapper):
5387         (1).
5388
5389         * lrecord.h:
5390         * lrecord.h (struct toolbar_button):
5391         * lrecord.h (syms_of_toolbar):
5392         document how to create a new object.
5393
5394         * menubar-msw.c (mswindows_char_is_accelerator):
5395         may be called on frames w/o menus.
5396
5397         * menubar.c (vars_of_menubar):
5398         clean up :filter docs.
5399
5400         * nt.c (readdir):
5401         * ntproc.c:
5402         (1).
5403
5404         * process-nt.c:
5405         * process-nt.c (validate_signal_number):
5406         * process-nt.c (signal_cannot_launch):
5407         * process-nt.c (nt_create_process):
5408         * process-nt.c (nt_send_process):
5409         * process-nt.c (nt_kill_child_process):
5410         * process-nt.c (nt_open_network_stream):
5411         * process-nt.c (syms_of_process_nt):
5412         (2).
5413         delete quote-handling.  call new lisp code that does it better.
5414
5415         * process-unix.c (connect_to_file_descriptor):
5416         * process-unix.c (allocate_pty):
5417         * process-unix.c (unix_send_process):
5418         * process-unix.c (unix_kill_child_process):
5419         * process-unix.c (unix_open_network_stream):
5420         * process-unix.c (unix_open_multicast_group):
5421         (1). (2).
5422
5423         * process.c:
5424         * process.c (Fstart_process_internal):
5425         (2).  need to canonicalize process path even if absolute.
5426
5427         * select-msw.c (symbol_to_ms_cf):
5428         * select-msw.c (ms_cf_to_symbol):
5429         * select-msw.c (cf_is_autofreed):
5430         * select-msw.c (mswindows_destroy_selection):
5431         * select.c:
5432         * select.c (syms_of_select):
5433         * select.h:
5434         support dibv5, fix bugs. (from Mike Alexander)
5435
5436         * select.c (Fget_selection_internal):
5437         * select.c (select_convert_out):
5438
5439         * sysdep.c:
5440         * sysdep.c (xemacs_stat):
5441         renamed.
5442
5443         * sysdep.c (mkdir):
5444         * sysdep.c (rmdir):
5445         but keep original stat() here because we provide encapsulation
5446         around these funs.
5447
5448         * sysfile.h:
5449         * sysfile.h (fstat):
5450         remove stat garbage.
5451
5452         * syswindows.h:
5453         fix X/MSW conflict.
5454         don't include tchar.h.  it's inappropriate because it makes
5455         compile-time distinctions when we want runtime distinctions.
5456         (we provide our own tchar replacements)
5457
5458         * toolbar.c:
5459         use default object printer for toolbar-button.
5460
5461         * unexcw.c:
5462         make sure we don't encapsulate.
5463
5464         * window.c (vars_of_window):
5465         emphasize that temp-buffer-show-hook is obsolete.
5466
5467 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5468
5469         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5470         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5471
5472         * events.c (Fevent_timestamp_lessp):
5473         Not 64-bit clean.  Use EMACS_INT, not int.
5474
5475 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5476
5477         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5478         unsigned int and changed the last enum to
5479         lrecord_type_last_built_in_type.
5480         (lrecord_implementations_table): changed prototype to know how
5481         long the array is supposed to be.
5482         (lrecord_type_count): new unsigned int to keep track of the
5483         current number of lisp lrecord types.
5484         (DEFINE_EXTERNAL_LRECORD):
5485         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5486         dynamic-modules to declare new lisp types. They are the same
5487         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5488         int for each new type, and increment lrecord_type_count by 1.
5489
5490         * alloc.c (lrecord_implementations_table): Changed to reference
5491         lrecord_type_last_built_in_type for the size of the array.
5492         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5493
5494 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5495
5496         * glyphs.h (check_valid_item_list): Renamed from
5497         check_valid_item_list_1.
5498
5499 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5500
5501         * select.c (Qselect_coerce): New.
5502         * select.c (Vselection_coercion_alist): New.
5503         * select.c (syms_of_select): Declare.
5504         * select.c (get-selection-internal): Use it.
5505         Use the new select-coerce functionality.
5506
5507         * select.c (select_coerce): New.
5508         * select.h (select_coerce): Declare.
5509         New function to coerce one type of data into another.
5510
5511 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5512
5513         * callproc.c (Fcall_process_internal):
5514         (Fcall_process_internal):
5515         * process-unix.c (unix_create_process):
5516         Save and restore the value of errno, so that error messages are accurate.
5517
5518 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5519
5520         * elhash.c (print_hash_table):
5521         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5522         Prettify docstrings and indentation.
5523
5524 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5525
5526         * window.c (Fwindow_pixel_edges): Subtract frame border and
5527         gutter size.
5528
5529 2000-07-31  Andy Piper  <andy@xemacs.org>
5530
5531         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5532         will acknowledge the change.
5533
5534         * glyphs.h: declare tab_control_order_only_changed.
5535
5536         * glyphs-x.c (x_tab_control_redisplay): use
5537         tab_control_order_only_changed.
5538
5539         * glyphs-widget.c (tab_control_order_only_changed): new function.
5540
5541         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5542         tab_control_order_only_changed.
5543
5544         * gui.c (gui_item_equal_sans_selected): new function.
5545         (gui_item_equal): use it.
5546
5547         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5548         :properties in favor of :items..
5549
5550         * glyphs-widget.c (check_valid_item_list): rename from
5551         check_valid_item_list_1.
5552         (check_valid_item_list_1): renamed.
5553         (combo_box_validate): deprecate :properties in favor of :items.
5554         (widget_instantiate): ditto.
5555         (tab_control_update): ditto.
5556         (image_instantiator_combo_box): ditto.
5557         (image_instantiator_tree_view): ditto.
5558         (image_instantiator_tab_control): ditto.
5559         (layout_post_instantiate): remove dead code.
5560
5561         * print.c (debug_print_no_newline): only write to debugger if in
5562         WIN32_NATIVE.
5563
5564         * elhash.c (Fmake_hash_table): update doc string.
5565
5566         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5567         messages whilst in GC. This at least stops XEmacs crashing but has
5568         the potential for wierd behaviour.
5569
5570 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5571
5572         * config.h.in:
5573         Make existence of s&m files optional.
5574
5575         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5576         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5577         * s/gnu.h: Remove HAVE_GETLOADAVG.
5578         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5579         * s/sol2.h: Remove HAVE_GETLOADAVG.
5580         * lisp.h: Remove getloadavg() declaration.
5581         * fns.c:
5582         Include <sys/loadavg.h> if available.
5583         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5584         * config.h.in:  Group together getloadavg()-related macros.
5585         Use only configure-time tests to detect getloadavg().
5586
5587 2000-07-30  Martin Buchholz  <martin@xemacs.org>
5588
5589         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
5590
5591 2000-07-25  Andy Piper  <andy@xemacs.org>
5592
5593         * syswindows.h: add tchar.h for native builds.
5594
5595         * frame.c (syms_of_frame): remove set-glyph-image.
5596
5597         * general-slots.h: add Qset_glyph_image.
5598
5599         * glyphs-widget.c (layout_update): add domain arg to
5600         set-glyph-image.
5601         (syms_of_glyphs_widget): remove set-glyph-image.
5602
5603 2000-07-23  Ben Wing  <ben@xemacs.org>
5604
5605         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
5606         Vpopup_frame_list.
5607
5608 2000-07-22  Andy Piper  <andy@xemacs.org>
5609
5610         * symsinit.h: add syms_of_win32().
5611
5612         * gui-msw.c (syms_of_gui_mswindows): remove
5613         Fmswindows_shell_execute.
5614         (Fmswindows_shell_execute): moved to win32.c.
5615
5616         * emacs.c (main_1): add syms_of_win32 ().
5617
5618         * win32.c (init_potentially_nonexistent_functions): rewrite in
5619         compiler-friendly terms.
5620         (Fmswindows_shell_execute): move here from gui-msw.c.
5621         (syms_of_win32): new.
5622
5623         * device-msw.c (Fmswindows_printer_list): clean up args to
5624         EnumPrinters.
5625         Don't include tchar under cygwin or mingw.
5626         (msprinter_default_printer): make cygwin-friendly.
5627
5628 2000-07-21  Andy Piper  <andy@xemacs.org>
5629
5630         * glyphs-widget.c (image_instantiator_tree_view): use tab
5631         control's update function.
5632         (layout_property): new function. Retrieve items.
5633
5634         * glyphs-msw.c (mswindows_tree_view_redisplay): new
5635         function. Re-populate the tree view from the pending items.
5636
5637         * glyphs.c (instantiate_image_instantiator): Make sure the domain
5638         is designated the parent if the domain is an image instance. This
5639         is needed so that dirtiness can be cascade up the hierarchy and
5640         thus for layout children to be redisplayed correctly.
5641         (allocate_image_instance): rename glyph -> parent.
5642
5643         * redisplay.h: change redisplay_output_layout signature.
5644
5645         * redisplay-msw.c (mswindows_output_display_block): use domain
5646         arg.
5647
5648         * redisplay-x.c (x_output_display_block): use domain arg.
5649
5650 2000-07-10  Andy Piper  <andy@xemacs.org>
5651
5652         * window.c (Fset_window_configuration): add comment.
5653
5654         * redisplay-output.c (compare_runes):
5655         (redisplay_output_subwindow): redisplay rather than update subwindow.
5656         (redisplay_output_layout): ditto.
5657
5658         * redisplay-msw.c (mswindows_frame_output_end):
5659         (mswindows_frame_output_end): make defer window pos optional.
5660
5661         * lisp.h: add Flast.
5662
5663         * glyphs.h (struct image_instantiator_methods): add dest_mask top
5664         normalize method. Change update method to be for changed
5665         instantiators. Add redisplay method. Change signature of layout
5666         method.
5667         (struct Lisp_Image_Instance): add instantiator.
5668         (IMAGE_INSTANCE_INSTANTIATOR): new.
5669         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
5670         (XIMAGE_INSTANCE_INSTANTIATOR): new.
5671         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
5672
5673         * glyphs.c:
5674         (find_instantiator_differences): new function.
5675         (Fset_instantiator_property): new convenience function.
5676         (check_image_instance_structure): strictly check for vector
5677         instantiators.
5678         (normalize_image_instantiator): make non-static.
5679         (instantiate_image_instantiator): pass on dest_mask and use new
5680         signatures for image_instance_layout and friends.
5681         (mark_image_instance): mark the instantiator. Mark the subwindow
5682         face not the widget face.
5683         (image_instance_equal): add instantiator.
5684         (image_instance_hash): ditto.
5685         (allocate_image_instance): ditto.
5686         (Fset_image_instance_property): removed.
5687         (Fimage_instance_file_name): ditto.
5688         (Fcolorize_image_instance): ditto.
5689         (image_instance_layout): add offsets to be set.
5690         (update_image_instance): new function. update an image instance
5691         from its changed instantiator.
5692         (inherit_normalize): add dest_mask.
5693         (xbm_normalize): ditto.
5694         (xface_normalize): ditto.
5695         (xpm_normalize): ditto.
5696         (text_update): set_property -> update.
5697         (image_instantiate): use the glyph identity as a hash key, not the
5698         instantiator.
5699         (glyph_width): use new image_instance_layout signature.
5700         (glyph_ascent): ditto.
5701         (glyph_descent): ditto.
5702         (glyph_height): ditto.
5703         (glyph_query_geometry): ressurrect.
5704         (glyph_layout): ditto.
5705         (redisplay_subwindow): update -> redisplay.
5706         (syms_of_glyphs): add Fset_instantiator_property.
5707         (image_instantiator_format_create): set_property -> update.
5708
5709         * glyphs-x.c:
5710         (autodetect_normalize): add dest_maks to signature.
5711         (x_redisplay_subwindow): update -> redisplay.
5712         (x_redisplay_widget): ditto.
5713         (x_button_redisplay): ditto.
5714         (x_progress_gauge_redisplay): ditto.
5715         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
5716         stacking order.
5717         (console_type_create_glyphs_x): update -> redisplay.
5718         (image_instantiator_format_create_glyphs_x): ditto.
5719
5720         * glyphs-widget.c:
5721         (check_valid_instantiator): disallow glyphs in the instantiator,
5722         they must now be vectors.
5723         (check_valid_instantiator_list): ditto.
5724         (glyph_instantiator_to_glyph): use internal symbol rather than
5725         intern.
5726         (widget_update): renamed from widget_set_property. Call cascaded
5727         update methods.
5728         (redisplay_widget): renamed from update_widget.
5729         (widget_layout): image_instance_layout now takes position as well
5730         as size.
5731         (widget_normalize): ditto.
5732         (widget_instantiate): ditto.
5733         (tab_control_query_geometry) ditto.:
5734         (tab_control_update): renamed from tab_control_set_property.
5735         (progress_gauge_update): set_property -> update.
5736         (layout_normalize): rewrite so that child instantiators are
5737         normalized also.
5738         (layout_update): new function. Create glyphs from the normalized
5739         children and cope with any other layout keywords. We do not
5740         instantiate children here that will be take care of by
5741         redisplay_output_layout.
5742         (layout_instantiate): call layout_update and not much else.
5743         (layout_post_instantiate): not sure whether this is needed
5744         anymore.
5745         (layout_query_geometry): query glyph geometry rather than
5746         image_instance geometry.
5747         (layout_layout): set offsets from pass in parameters. Use glyph
5748         geometry and layout functions rather than image instance ones.
5749         (native_layout_layout): ditto.
5750         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
5751         (image_instantiator_widget): set_property -> update.
5752         (image_instantiator_buttons): ditto.
5753         (image_instantiator_progress_guage): ditto.
5754         (image_instantiator_tab_control): ditto.
5755         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
5756         (image_instantiator_layout): add update method.
5757
5758         * glyphs-msw.c (bmp_normalize):
5759         (mswindows_resource_normalize): add dest_mask so that it can be
5760         proprogated by layout_normalize.
5761         (begin_defer_window_pos): make optional because it may not be the
5762         right thing to do and it introduces differences with X.
5763         (mswindows_unmap_subwindow): ditto.
5764         (mswindows_map_subwindow): ditto.
5765         (mswindows_redisplay_subwindow): renamed from
5766         mswindows_update_subwindow.
5767         (mswindows_redisplay_widget): ditto.
5768         (mswindows_button_redisplay): renamed from
5769         mswindows_button_update. Update is now what the instantiation
5770         function does for a changed instantiator.
5771         (mswindows_progress_gauge_instantiate): set the progress value
5772         here if appropriate.
5773         (mswindows_tab_control_redisplay): cope with re-ordering of the
5774         members of the tab widget by simply selecting the new top
5775         widget. This makes things appear ok if you click on a tab.
5776         (mswindows_combo_box_instantiate): image_instance_layout now takes
5777         position as well as size.
5778         (mswindows_progress_gauge_redisplay): renamed from
5779         mswindows_progress_gauge_update.
5780         (console_type_create_glyphs_mswindows): fix update -> redisplay.
5781         (image_instantiator_format_create_glyphs_mswindows): ditto.
5782
5783         * glyphs-eimage.c (jpeg_normalize):
5784         (gif_normalize):
5785         (png_normalize):
5786         (tiff_normalize): add dest_mask so that it can be proprogated by
5787         layout_normalize.
5788
5789         * elhash.c:
5790         (print_hash_table):
5791         (hash_table_weakness_validate):
5792         (decode_hash_table_weakness):
5793         (Fhash_table_weakness):
5794         (Fhash_table_type):
5795         (syms_of_elhash): use Ben's naming scheme for hashtable types..
5796
5797         * console.h (struct console_methods): move update_* to
5798         redisplay_*.
5799
5800 2000-07-20  Ben Wing  <ben@xemacs.org>
5801
5802         * *.[ch] (XSETOBJ): remove unused middle argument.
5803         lisp-disunion.h: correct wrap_object() to one argument.
5804
5805 2000-07-15  Ben Wing  <ben@xemacs.org>
5806
5807         * s/cygwin32.h:
5808         * s/cygwin32.h (CYGWIN_CONV_PATH):
5809         Add missing logb prototype for v1.1.
5810         Use post-b20 names and alias to pre-b20 names when pre-b20.
5811
5812         * s/windowsnt.h: [5].
5813
5814 2000-07-15  Ben Wing  <ben@xemacs.org>
5815
5816         * Makefile.in.in (x_objs):
5817         * Makefile.in.in (sheap_objs):
5818         * Makefile.in.in (objs):
5819         added win32.o, cosmetic cleanups.
5820
5821         * alloc.c (Fmake_byte_code):
5822         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
5823         etc. macros which declare their own args now.
5824
5825         * alloc.c (syms_of_alloc):
5826         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
5827
5828         * buffer.c:
5829         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
5830
5831         * buffer.c (Fget_file_buffer):
5832         Fixed GCPRO problem.
5833
5834         * buffer.c (get_truename_buffer):
5835         Fixed comment about GC checking.
5836
5837         * buffer.c (syms_of_buffer):
5838         Undeclared those dedicated frame funs.
5839         [2].
5840
5841         * buffer.h:
5842         Define convenience macros for internal/external conversions.
5843         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
5844         and Qenvironment_variable_encoding for cleaner code.
5845
5846         * bufslots.h:
5847         Remove dedicated-frame; in lisp.
5848
5849         * bytecode.c (funcall_compiled_function):
5850         [1].
5851
5852         * bytecode.c (syms_of_bytecode):
5853         [2].
5854
5855         * console-msw.c:
5856         * console-msw.c (mswindows_show_console): Rewrote.
5857
5858         * console-msw.c (Fmswindows_debugging_output): New.
5859         Sends to OutputDebugString (special MSWin debugger interface).
5860
5861         * console-msw.c (Fmswindows_message_box):
5862         Fixed stupid bugs so it works when called from kill-emacs.
5863
5864         * console-msw.c (syms_of_console_mswindows):
5865         Declare Fmswindows_debugging_output.
5866
5867         * console-msw.h:
5868         New MSWin prototypes.
5869
5870         * console-msw.h (struct mswindows_frame):
5871         New entry last-click-mods for improved button-modifier support.
5872
5873         * console-msw.h (FRAME_MSWINDOWS_POPUP):
5874         New struct entry `popup' with corresponding accessor.
5875
5876         * console-x.c:
5877         * console-x.c (split_up_display_spec):
5878         * console-x.c (get_display_arg_connection):
5879         * console-x.c (x_semi_canonicalize_console_connection):
5880         * console-x.c (x_canonicalize_device_connection):
5881         [[[6]]]: Change char to more specific type.
5882         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
5883
5884         * console-x.c (x_semi_canonicalize_console_connection):
5885         * console-x.c (x_canonicalize_device_connection):
5886         [[[9]]]: Fix up error signalling to use new structured error system.
5887
5888         * console-x.h:
5889         [[[4]]]: Define codesys aliases:
5890         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
5891         Qx_color_name_encoding, Qx_display_name_encoding.
5892
5893         * console.h (struct console_methods):
5894         New method make_dialog_box_internal supersedes older
5895         popup_dialog_box method.
5896
5897         * data.c:
5898         Define many new errors, part of new structured errors.
5899
5900         * data.c (init_errors_once_early):
5901         * data.c (syms_of_data):
5902         [2].
5903
5904         * device-msw.c (mswindows_init_device):
5905         [[[5]]]: Cleanup to support NT 3.51.
5906
5907         * device-msw.c (decode_devmode): Cleanup.
5908
5909         * device-msw.c (mswindows_handle_print_setup_dialog_box):
5910         * device-msw.c (mswindows_handle_print_dialog_box):
5911         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5912         * device-msw.c (syms_of_device_mswindows):
5913         Delete the dialog box primitives recently introduced by Kirill and
5914         instead interface to general dialog box interface.
5915
5916         * device-x.c:
5917         * device-x.c (compute_x_app_name):
5918         * device-x.c (x_init_device):
5919         * device-x.c (Fx_valid_keysym_name_p):
5920         * device-x.c (Fx_set_font_path):
5921         [6].
5922         [7].
5923
5924         * device.h (wrap_device): New.
5925         First of its kind; meant to replace XSETDEVICE.
5926
5927         * dialog-msw.c: Many file-dialog symbols.
5928
5929         * dialog-msw.c (mswindows_register_popup_frame): New.
5930         * dialog-msw.c (mswindows_is_dialog_msg): New.
5931         For supporting kbd traversal in dialog boxes.
5932
5933         * dialog-msw.c (dialog_proc):
5934         Support hitting ESC in dialogs.
5935
5936         * dialog-msw.c (struct):
5937         Common dialog box errors.
5938
5939         * dialog-msw.c (handle_file_dialog_box): New.
5940         Add file dialog code.
5941
5942         * dialog-msw.c (handle_question_dialog_box):
5943         Redo existing code to support new question dialog syntax.
5944
5945         * dialog-msw.c (console_type_create_dialog_mswindows):
5946         We support new dialog console method.
5947
5948         * dialog-msw.c (syms_of_dialog_mswindows):
5949         * dialog-msw.c (vars_of_dialog_mswindows):
5950         New file dialog symbols, vars.
5951
5952         * dialog-x.c:
5953         * dialog-x.c (maybe_run_dbox_text_callback):
5954         * dialog-x.c (dbox_descriptor_to_widget_value):
5955         * dialog-x.c (x_make_dialog_box_internal):
5956         * dialog-x.c (console_type_create_dialog_x):
5957         Mule-ize entire file.
5958         Redo to support question dialog syntax.
5959         [6].
5960
5961         * dialog.c:
5962         * dialog.c (Fmake_dialog_box_internal):
5963         * dialog.c (syms_of_dialog):
5964         Kill old popup-dialog-box, replace with new primitive.
5965         Just call device method or signal error.
5966
5967         * eldap.c (Fldap_open):
5968         * eldap.c (Fldap_search_basic):
5969         * eldap.c (Fldap_add):
5970         * eldap.c (Fldap_modify):
5971         [1].
5972         [7].
5973
5974         * emacs.c:
5975         * emacs.c (make_arg_list_1):
5976         * emacs.c (make_arg_list):
5977         Mule-ize call to dll_init().
5978         [6].
5979         [8].
5980
5981         * emacs.c (make_argc_argv):
5982         * emacs.c (free_argc_argv):
5983         * emacs.c (init_cmdargs):
5984         * emacs.c (main_1):
5985         * emacs.c (Fkill_emacs):
5986         * emacs.c (Fdump_emacs):
5987         Update comments about what can be used in syms_* etc.
5988         Call init_win32() when necessary.
5989         Fix up MS Win dialog box in kill-buffer to actually work right.
5990         [7].
5991
5992         * eval.c:
5993         * eval.c (For):
5994         * eval.c (Fand):
5995         * eval.c (Fprogn):
5996         * eval.c (Fprog1):
5997         * eval.c (Fprog2):
5998         * eval.c (FletX):
5999         * eval.c (Flet):
6000         * eval.c (condition_case_3):
6001         * eval.c (Feval):
6002         * eval.c (function_argcount):
6003         * eval.c (funcall_lambda):
6004         [1].
6005
6006         * eval.c (type_error): New.
6007         * eval.c (maybe_type_error): New.
6008         * eval.c (continuable_type_error): New.
6009         * eval.c (maybe_continuable_type_error): New.
6010         * eval.c (type_error_with_frob): New.
6011         * eval.c (maybe_type_error_with_frob): New.
6012         * eval.c (continuable_type_error_with_frob): New.
6013         * eval.c (maybe_continuable_type_error_with_frob): New.
6014         New functions for use with structured errors.
6015
6016         * event-Xt.c:
6017         * event-Xt.c (x_event_to_emacs_event):
6018         Buttons are now modifiers too.
6019
6020         * event-Xt.c (emacs_Xt_current_event_timestamp):
6021         Implement new event method.
6022         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6023
6024         * event-msw.c:
6025         * event-msw.c (ntpipe_shove_writer): [5].
6026         * event-msw.c (mswindows_enqueue_mouse_button_event):
6027         * event-msw.c (mswindows_drain_windows_queue):
6028         * event-msw.c (mswindows_wnd_proc): [7].
6029         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6030         * event-msw.c (mswindows_modifier_state):
6031         Throughout: support new button modifiers.
6032
6033         * event-msw.c (emacs_mswindows_current_event_timestamp):
6034         Implement new event method.
6035         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6036
6037         * event-stream.c:
6038         * event-stream.c (event_stream_current_event_timestamp): New.
6039         * event-stream.c (maybe_kbd_translate): New functionality.
6040         * event-stream.c (vars_of_event_stream):
6041         Document new kbd-translate-table functionality.
6042
6043         * event-stream.c (Fcurrent_event_timestamp): New.
6044         New primitive for use in fabricated events.
6045         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6046
6047         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6048
6049         * events.c:
6050         * events.c (Fmake_event):
6051         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6052         [1].
6053         [9].
6054
6055         * events.c (format_event_object): fix gcc warnings.
6056
6057         * events.c (Fevent_timestamp): Document new primitives.
6058
6059         * events.c (TIMESTAMP_HALFSPACE): New.
6060
6061         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6062         comparing timestamps correctly (half-space algorithm).
6063
6064         * events.c (Fevent_modifier_bits): Doc fix.
6065
6066         * events.c (Fevent_modifiers): Major doc addition.
6067         * events.c (event_x_y_pixel_internal): Typo fix.
6068         * events.c (syms_of_events): Declare new primitives.
6069
6070         * events.h:
6071         Update long comment for button modifiers, timestamps.
6072
6073         * events.h (struct event_stream):
6074         New current_event_timestamp method.
6075
6076         * extents.c:
6077         * extents.c (extent_in_region_p):
6078         * extents.c (decode_extent):
6079         * extents.c (Fset_extent_parent):
6080         * extents.c (decode_map_extents_flags):
6081         Fix gcc warnings.
6082         [9].
6083
6084         * extents.c (struct extent_at_arg):
6085         * extents.c (decode_extent_at_flag):
6086         * extents.c (extent_at_mapper):
6087         * extents.c (extent_at_bytind):
6088         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6089         * extents.c (Fextents_at): New primitive. [9].
6090         * extents.c (symbol_to_glyph_layout): [9].
6091         Support new primitive `extents-at'.
6092
6093
6094         * extents.c (get_text_property_bytind):
6095         extent_at_bytind has another arg.
6096         [9].
6097
6098         * extents.c (syms_of_extents): New primitive.
6099
6100         * file-coding.c (Fmake_coding_system): [1].
6101         * file-coding.c (subsidiary_coding_system): fix gcc warning
6102         * file-coding.c (syms_of_file_coding): [2].
6103
6104         * fileio.c (Fexpand_file_name):
6105         * fileio.c (Fsysnetunam):
6106         * fileio.c (Ffile_exists_p):
6107         * fileio.c (Ffile_executable_p):
6108         * fileio.c (Fverify_visited_file_modtime):
6109         Clean up GCPROing.
6110
6111         * fileio.c (syms_of_fileio): [2].
6112
6113         * filelock.c (lock_file_1):
6114         * filelock.c (current_lock_owner):
6115         * filelock.c (lock_if_free):
6116         * filelock.c (lock_file):
6117         * filelock.c (unlock_file):
6118         Clean up GCPROing.
6119
6120         * fns.c (concat): Fix gcc warning.
6121
6122         * fns.c (Fmember):
6123         * fns.c (Fold_member):
6124         * fns.c (Fmemq):
6125         * fns.c (Fold_memq):
6126         * fns.c (memq_no_quit):
6127         * fns.c (Fassoc):
6128         * fns.c (Fold_assoc):
6129         * fns.c (Fassq):
6130         * fns.c (Fold_assq):
6131         * fns.c (assq_no_quit):
6132         * fns.c (Frassoc):
6133         * fns.c (Fold_rassoc):
6134         * fns.c (Frassq):
6135         * fns.c (Fold_rassq):
6136         * fns.c (rassq_no_quit):
6137         * fns.c (Fdelete):
6138         * fns.c (Fold_delete):
6139         * fns.c (Fdelq):
6140         * fns.c (Fold_delq):
6141         * fns.c (delq_no_quit):
6142         * fns.c (Fremassoc):
6143         * fns.c (Fremassq):
6144         * fns.c (remassq_no_quit):
6145         * fns.c (Fremrassoc):
6146         * fns.c (Fremrassq):
6147         * fns.c (remrassq_no_quit):
6148         * fns.c (Freverse):
6149         * fns.c (mapcar1):
6150         [1].
6151
6152         * frame-msw.c (mswindows_init_frame_1):
6153         * frame-msw.c (mswindows_delete_frame):
6154         Register popups with dialog code so keyboard traversing works.
6155
6156         * frame-tty.c (tty_raise_frame_no_select): [1].
6157
6158         * frame-x.c:
6159         * frame-x.c (x_set_frame_text_value):
6160         * frame-x.c (x_set_frame_properties):
6161         * frame-x.c (x_create_widgets):
6162         [7].
6163
6164         * frame.c:
6165         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6166
6167         * frame.h (wrap_frame): New.
6168         Macro like wrap_device.
6169
6170         * general.c:
6171         * general.c (SYMBOL):
6172         * general.c (syms_of_general):
6173         Major reorg.  This is now just a wrapper and symbols themselves
6174         are listed in general-slots.h.
6175
6176         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6177         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6178
6179         * glyphs-msw.c (mswindows_native_layout_instantiate):
6180         Add DS_CONTROL so keyboard traversal will work.
6181
6182         * glyphs-widget.c:
6183         * glyphs-widget.c (syms_of_glyphs_widget):
6184         Move some symbols to general-slots.h.
6185
6186         * glyphs-x.c:
6187         * glyphs-x.c (xbm_instantiate_1):
6188         * glyphs-x.c (x_xbm_instantiate):
6189         * glyphs-x.c (x_xface_instantiate):
6190         * glyphs-x.c (autodetect_instantiate):
6191         * glyphs-x.c (cursor_font_instantiate):
6192         * glyphs-x.c (x_update_widget):
6193         * glyphs-x.c (x_widget_instantiate):
6194         * glyphs.c (bitmap_to_lisp_data):
6195         * glyphs.c (pixmap_to_lisp_data):
6196         [7].
6197
6198         * glyphs.c (syms_of_glyphs):
6199         [2].
6200
6201         * gui-x.c:
6202         * gui-x.c (print_widget_value):
6203         * gui-x.c (menu_separator_style_and_to_external):
6204         * gui-x.c (add_accel_and_to_external):
6205         * gui-x.c (button_item_to_widget_value):
6206         * gui-x.c (gui_items_to_widget_values_1):
6207         * gui-x.c (gui_items_to_widget_values):
6208         * gui-x.c (syms_of_gui_x):
6209         * gui-x.c (vars_of_gui_x):
6210         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6211         [9].
6212
6213         * gui-x.h:
6214         Muleize, prototype changes matching gui-x.c.
6215
6216         * gui.c:
6217         * gui.c (separator_string_p):
6218         * gui.c (gui_item_add_keyval_pair):
6219         * gui.c (make_gui_item_from_keywords_internal):
6220         * gui.c (signal_too_long_error):
6221         * gui.c (parse_gui_item_tree_item):
6222         * gui.c (syms_of_gui):
6223         * gui.c (vars_of_gui):
6224         * gui.h:
6225         menu-no-selection-hook moved here (used by MSWin).
6226         Move some symbols to general-slots.h.
6227         [6].
6228         [9].
6229
6230         * insdel.c (get_buffer_pos_char):
6231         * insdel.c (get_buffer_range_char):
6232         Add GC comments.
6233
6234         * keymap.c (keymap_lookup_directly):
6235         * keymap.c (keymap_store):
6236         * keymap.c (ensure_meta_prefix_char_keymapp):
6237         * keymap.c (describe_map):
6238         * keymap.h:
6239         Support new button modifiers.
6240
6241         * lisp-disunion.h (wrap_object):
6242         * lisp-disunion.h (XSETOBJ):
6243         Rename make_obj to wrap_object.
6244
6245         * lisp-union.h:
6246         * lisp-union.h (make_int):
6247         * lisp-union.h (make_char):
6248         Support wrap_object.
6249
6250         * lisp.h:
6251         * lisp.h (LIST_LOOP):
6252         * lisp.h (EXTERNAL_LIST_LOOP):
6253         * lisp.h (LIST_LOOP_2):
6254         * lisp.h (EXTERNAL_LIST_LOOP_1):
6255         * lisp.h (EXTERNAL_LIST_LOOP_2):
6256         * lisp.h (EXTERNAL_LIST_LOOP_3):
6257         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6258         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6259         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6260         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6261         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6262         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6263         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6264         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6265         * lisp.h (struct Lisp_Symbol):
6266         * lisp.h (maybe_continuable_error_with_frob):
6267         Fix up section comments.
6268         Add new types for char to indicate usage.
6269         Delete symbols auto-generated from general-slots.h.
6270         Add prototypes for structured error functions.
6271         Add long comments describing looping macros and change interface
6272         so that lvalues are automatically declared.
6273         Add NO_DECLARE macro in case callers want to declare lvalues
6274         themselves.
6275
6276         * lread.c (read_syntax_error):
6277         * lread.c (continuable_read_syntax_error):
6278         * lread.c (read_structure):
6279         * lread.c (sequence_reader):
6280         * lread.c (read_list_conser):
6281         * lread.c (read_compiled_function):
6282         Rename syntax_error and continuable_syntax_error to avoid clash
6283         with same-named structured error functions.
6284
6285         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6286         * menubar-msw.c (populate_menu_add_item):
6287         * menubar-msw.c (populate_or_checksum_helper):
6288         [5].
6289         [9].
6290
6291         * menubar-x.c:
6292         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6293         Mule-ize whole file.
6294
6295         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6296
6297         * mule-charset.c (Fmake_charset):
6298         * mule-wnnfns.c (Fwnn_set_param):
6299         [1].
6300
6301         * ntproc.c (create_child):
6302         * ntproc.c (Fwin32_set_current_locale):
6303         Add comments portending doom.
6304
6305         * objects-msw.c:
6306         * objects-msw.c (old_font_enum_callback_2):
6307         * objects-msw.c (font_enum_callback_1):
6308         * objects-msw.c (mswindows_enumerate_fonts):
6309         [5].
6310
6311         * objects-x.c:
6312         * objects-x.c (allocate_nearest_color):
6313         * objects-x.c (x_parse_nearest_color):
6314         * objects-x.c (x_initialize_color_instance):
6315         * objects-x.c (x_print_color_instance):
6316         * objects-x.c (x_finalize_color_instance):
6317         * objects-x.c (x_valid_color_name_p):
6318         * objects-x.c (x_initialize_font_instance):
6319         * objects-x.c (x_print_font_instance):
6320         * objects-x.c (valid_x_font_name_p):
6321         * objects-x.c (truename_via_FONT_prop):
6322         * objects-x.c (truename_via_random_props):
6323         * objects-x.c (truename_via_XListFonts):
6324         * objects-x.c (x_font_truename):
6325         * objects-x.c (x_font_instance_truename):
6326         * objects-x.c (x_font_instance_properties):
6327         * objects-x.c (x_list_fonts):
6328         * objects-x.c (x_find_charset_font):
6329         Mule-ize entire file.
6330         [7].
6331
6332         * objects-x.h:
6333         Mule-verify.
6334
6335         * print.c:
6336         * print.c (std_handle_out_external):
6337         * print.c (debug_print_no_newline):
6338         * print.c (syms_of_print):
6339         Output to all debugger kinds in debug-print.
6340         Fix console-output code under MSWin to actually work.
6341
6342         * process-nt.c (send_signal):
6343         * process-nt.c (nt_create_process):
6344         Use newer Unicode macros.
6345
6346         * process-unix.c (unix_create_process):
6347         * process-unix.c (unix_canonicalize_host_name):
6348         * process-unix.c (unix_open_network_stream):
6349         [7].
6350
6351         * scrollbar-x.c:
6352         Mule-verify.
6353
6354         * search.c (syms_of_search):
6355         [2].
6356
6357         * select-msw.c (mswindows_destroy_selection):
6358         Use LIST_LOOP_2.
6359
6360         * select-x.c (symbol_to_x_atom):
6361         [7].
6362
6363         * select.c (syms_of_select):
6364         [2].
6365
6366         * sound.c (Fplay_sound_file):
6367         [7].
6368
6369         * specifier.c:
6370         * specifier.c (decode_specifier_type):
6371         * specifier.c (Fvalid_specifier_locale_type_p):
6372         * specifier.c (check_valid_locale_or_locale_type):
6373         * specifier.c (decode_locale):
6374         * specifier.c (decode_locale_type):
6375         * specifier.c (decode_locale_list):
6376         * specifier.c (check_valid_domain):
6377         * specifier.c (decode_specifier_tag_set):
6378         * specifier.c (Fcanonicalize_tag_set):
6379         * specifier.c (Fdefine_specifier_tag):
6380         * specifier.c (Fspecifier_tag_predicate):
6381         * specifier.c (check_valid_inst_list):
6382         * specifier.c (check_valid_spec_list):
6383         * specifier.c (decode_how_to_add_specification):
6384         * specifier.c (check_modifiable_specifier):
6385         * specifier.c (specifier_add_spec):
6386         * specifier.c (boolean_validate):
6387         * specifier.c (display_table_validate):
6388         [9].
6389
6390         * specifier.c (syms_of_specifier):
6391         Move some symbols to general-slots.h.
6392         [2].
6393
6394         * symbols.c:
6395         * symbols.c (Fmapatoms):
6396         * symbols.c (Fapropos_internal):
6397         Add GCPROs.
6398
6399         * symbols.c (set_default_buffer_slot_variable):
6400         * symbols.c (set_default_console_slot_variable):
6401         [1].
6402
6403         * symbols.c (defsymbol_massage_name_1):
6404         * symbols.c (defkeyword_massage_name):
6405         * symbols.c (deferror_1):
6406         * symbols.c (deferror):
6407         * symbols.c (deferror_massage_name_and_message):
6408         * symeval.h:
6409         * symeval.h (DEFSYMBOL):
6410         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6411
6412         * symbols.c (syms_of_symbols):
6413         [2].
6414
6415         * symsinit.h:
6416         * symsinit.h (init_win32): New.
6417         Also new is syms_of_dialog_mswindows.
6418
6419         * syswindows.h:
6420         Add new Unicode macros, missing Cygwin wide-char functions,
6421         convenience conversion macros for Qmswindows_tstr, macros for
6422         encapsulating required MSWin <-> Cygwin filename conversions,
6423         prototype for dynamically-extracted (not in NT 3.51) functions.
6424
6425         * toolbar-x.c:
6426         Mule-verify.
6427
6428         * tooltalk.c (Fadd_tooltalk_message_arg):
6429         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6430         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6431         [7].
6432
6433         * tooltalk.c (syms_of_tooltalk):
6434         [2].
6435
6436         * unexnt.c:
6437         * unexnt.c (unexec):
6438         Fix up headers, declaration of unexec() to be more standard.
6439
6440 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6441
6442         * offix.h: Revert change to guard macros - they're used in offix.c!
6443
6444 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6445
6446         * lisp.h: Defsubred Fdelete.
6447
6448         * console-msw.h:  (msprinter_default_printer): Added.
6449
6450         * console-msw.c (msprinter_canonicalize_console_connection):
6451         (msprinter_canonicalize_device_connection): Added.
6452
6453         * device-msw.c (msprinter_default_printer):
6454         (Fmswingows_get_default_printer):
6455         (signal_enum_priner_error):
6456         (Fmswingows_printer_list): Added.
6457
6458 2000-07-19  Martin Buchholz <martin@xemacs.org>
6459
6460         * XEmacs 21.2.35 is released.
6461
6462 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6463
6464         * select-x.c (x_handle_selection_request):
6465         Text selected in xemacs and pasted into xterm failed to appear.
6466         Spelling fixes and cosmetic changes.
6467
6468 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6469
6470         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6471         XEmacs frame (fix for doubling chars in dialog boxes).
6472
6473 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6474
6475         * select.c (select_convert_in, select_convert_out):
6476         Don't call intern() every time.
6477
6478         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6479         * select.c (vars_of_select): Initialise them.
6480
6481 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6482
6483         * select.c (selection-coercible-types): New.
6484
6485         * select.c (own-selection-internal):
6486         * select.c (get-selection-internal):
6487         MULE bug fix - these should default to COMPOUND_TEXT and not
6488         STRING for MULE. I think.
6489
6490         * select.c (select_convert_out): Use selection-coercible-types
6491         to find types that we can attempt to perform coercions on.
6492
6493 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6494
6495         * mule-wnnfns.c:
6496         * mule-canna.c:
6497         Add coding: cookie to identify encoding.
6498
6499         * mule-canna.c (CANNA_mode_keys): make static.
6500         Use proper prototypes, even for functions of no arguments.
6501         Remove external prototype for Fding().
6502
6503         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6504
6505         * select.c (syms_of_select): Add missing DEFSUBR.
6506
6507 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6508
6509         * select.c (get_selection_internal, own_selection_internal):
6510         Make the type default to STRING, rather than placing a nil type
6511         into Vselection_alist.
6512
6513 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6514
6515         * gpmevent.c (tty_selection_exists_p):
6516         * gpmevent.c (tty_own_selection):
6517         Updated parameter lists.
6518
6519 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6520
6521         * select.h (selection-alist): Removed declaration.
6522
6523         * select.h (get_local_selection):
6524         * select.c (get_local_selection):
6525         Made static.
6526
6527         * select.h (convert_selection): Removed declaration.
6528         * select.c (convert_selection): Removed.
6529         This function belongs in Lisp.
6530
6531         * select.h (select_convert_in): Declare.
6532         * select.h (select_convert_out): Declare.
6533         * select.c (select_convert_in): New.
6534         * select.c (select_convert_out): New.
6535         New conversion functions for other files to call.
6536
6537         * select.h (select_notify_buffer_kill): Declare.
6538         * select.c (select_notify_buffer_kill): New.
6539         New functions that get called from kill-buffer.
6540
6541         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6542         X-specific lisp code.
6543
6544         * select.h: Declare some of the lisp-visible functions for
6545         external use.
6546
6547         * select.c (clean_local_selection_data): Removed. This was
6548         a disgusting function, and previously should have been in
6549         select-x.c in any case. The functionality is now provided
6550         in select-convert-from-integer (select.el).
6551
6552         * select.c (available-selection-types): Fixed stupidity where
6553         INTEGER and ATOM got added twice. Also add STRING when we see an
6554         extent.
6555
6556         * select.c (get-selection-internal): Removed symbol stripping. No
6557         longer causes conversion when data comes from the internal cache.
6558
6559         * select.c (syms_of_select): Added new functions.
6560
6561         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6562         error checking - previously this called abort!
6563
6564         * select-x.c (x_own_selection): Changed comment.
6565
6566         * select-x.c (x_handle_selection_request): Use select_convert_out.
6567         Don't mess with selection-alist; it's an internal variable of select.c.
6568
6569         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6570
6571         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6572         rather than messing with selection-alist.
6573
6574         * select-msw.c (mswindows_get_foreign_selection):
6575         Use TO_INTERNAL_FORMAT rather than hacking.
6576
6577 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6578
6579         * process-unix.c (unix_open_multicast_group):
6580         (unix_open_multicast_group): Remove useless casts.
6581
6582 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6583
6584         * sound.c (Fplay_sound): Fix `unused variable' warning.
6585
6586         * emacs.c (main): Use correct type for _environ on SCO5.
6587
6588 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
6589
6590         * console.h (own_selection_method):
6591         * console.h (selection_exists_p_method):
6592         * console.h (available_selection_types_method): New.
6593         * console.h (register_selection_data_type_method): New.
6594         * console.h (selection_data_type_name): New.
6595
6596         * console-msw.h (mswindows_destroy_selection): Declare it.  New
6597         function & alist to track GlobalAlloc()'d handles that need
6598         releasing when the clipboard data gets replaced or emptied.
6599
6600         * event-msw.c (mswindows_wnd_proc): Call it.
6601
6602         * lisp.h, general.c (Qappend): New symbol representing a
6603         `how-to-add' mode.
6604
6605         * select.c (own-selection-internal):
6606         * select.c (selection-exists-p):
6607         * select.c (available-selection-types): New.
6608         * select.c (register-selection-data-type): New.
6609         * select.c (selection-data-type-name): New.  New functions to deal
6610         with device-specific selection data formats.
6611         * select.c (selection-converter-out-alist): Renamed.
6612         * select.c (selection-converter-in-alist): New.
6613         * select.c (selection-appender-alist): New.  Added new alists.
6614         * select.c (syms_of_select, vars_of_select): Added new symbols &
6615         variables.
6616         * select.c (get_local_selection): Split.
6617         * select.c: Removed spurious type checking - selections may now be
6618         of any type, not just strings.
6619         * select.c (own-selection-internal):
6620
6621         * select.h, select.c (convert_selection): New. Created
6622         convert_selection() function based on get_local_selection().
6623         * select.h, select.c (QCF_*): New symbols representing mswindows
6624         clipboard formats.
6625         * select.h, select.c (Qreplace_all, Qreplace_existing): New
6626         symbols representing `how-to-add' modes.
6627
6628         * select-msw.c (x_sym_p): New.
6629         * select-msw.c (symbol_to_ms_cf): New.
6630         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
6631         symbols & clipboard formats. Can also handle string names.
6632         * select-msw.c (mswindows_own_selection):
6633         * select-msw.c (mswindows_selection_exists_p):
6634         Added `data-type' parameter. Use it.
6635         * select-msw.c (mswindows_available_selection_types): New.
6636         * select-msw.c (mswindows_register_selection_data_type): New.
6637         * select-msw.c (mswindows_selection_data_type_name): New.
6638         * select-msw.c (mswindows_own_selection):
6639         * select-msw.c (mswindows_get_foreign_selection):
6640         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
6641         * select-msw.c (console_create_select_mswindows): Added new methods.
6642         * select-msw.c (mswindows_destroy_selection): New.
6643         * select-msw.c (Vhandle_alist): New list.
6644         * select-msw.c (mswindows_own_selection):
6645
6646         * select-x.c (x_own_selection):
6647         * select-x.c (x_selection_exists_p):
6648         * select-x.c: Added some comments about maybe using new
6649         functionality.
6650         * select-x.c (x_own_selection):
6651
6652         * specifier.c: Remove definition of Qappend (now in general.c)
6653         * specifier.c (syms_of_specifier): Remove Qappend.
6654
6655 2000-07-12  Martin Buchholz  <martin@xemacs.org>
6656
6657         * config.h.in: Add socklen_t.
6658
6659         * s/decosf4-0.h: No special compiler flags needed or desired.
6660         In particular, undefine _BSD for DEC OSF 4.0.
6661
6662 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6663
6664         * redisplay-msw.c (msprinter_frame_output_end): Added.
6665         (console_type_create_redisplay_mswindows): Referred the above.
6666
6667         * frame.c (setup_frame_without_minibuffer): Do not create a
6668         default minibuffer frame on a printer device.
6669
6670         * frame-msw.c (apply_dc_geometry): Added.
6671         (msprinter_start_page):
6672         (msprinter_init_frame_3):
6673         (msprinter_eject_page): Use it.
6674
6675         * console-msw.h (struct msprinter_frame): Added pix_left and top,
6676         and removed residual duplex and orientation properties.
6677
6678 2000-07-11  Martin Buchholz  <martin@xemacs.org>
6679
6680         * eval.c (function_argcount): Work around a DEC CC compiler bug.
6681
6682         * unexalpha.c: Remove system prototypes from C sources!
6683
6684 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
6685
6686         * eval.c: Remove references to M-x edit-options in DEFUNs for
6687         `defvar' and `defconst'.
6688
6689 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6690
6691         * config.h.in: Remove SMART_INCLUDE hackery.
6692
6693         PostgreSQL hacking:
6694         * config.h.in: Don't use SMART_INCLUDE.
6695
6696         * postgresql.h: Include libpq-fe.h here.  Fix typo.
6697         * inline.c: Simply #include "postgresql.h"
6698         * postgresql.c:
6699         - Don't use SMART_INCLUDE
6700         - Use simply "const".
6701         - Use standard doc string conventions.
6702         - Use correct type for result of PQstatus.
6703
6704 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6705
6706         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
6707
6708         C++ compilation changes.
6709         * config.h.in (EXTERN_C): Define.
6710         * config.h.in (not): This is also a C++ keyword.
6711         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
6712         * cm.c: Use EXTERN_C.
6713         * redisplay-tty.c: Use EXTERN_C.
6714         * sysdep.c: Use EXTERN_C.  Remove Gould support.
6715
6716 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6717
6718         * general.c: Remove duplicate definition for Qfunction.
6719
6720 2000-07-08  Ben Wing  <ben@xemacs.org>
6721
6722         * device-msw.c (msprinter_init_device):
6723         * device-msw.c (sync_printer_with_devmode):
6724         * device-msw.c (handle_devmode_changes):
6725         * device-msw.c (print_dialog_worker):
6726         * device-msw.c (Fmsprinter_apply_settings):
6727         * device-msw.c (hash_devmode):
6728         * device-msw.c (Fmsprinter_settings_despecialize):
6729         use Qmswindows_tstr, not Qctext.
6730
6731         * vm-limit.c (check_memory_limits):
6732         avoid infinite loop printing warning messages.
6733
6734 2000-07-05  Craig Lanning  <lanning@scra.org>
6735
6736         * Makefile.in.in: Add support for including the Windows resources
6737         when building with the cygwin and mingw targets.
6738
6739         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
6740         not set or not correct.
6741         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
6742         (init_initial_directory): Don't try to use $PWD on the
6743         WIN32_NATIVE target.
6744
6745         * s\cygwin32.h:
6746         [[Add -mwindows to eliminate console window.]] not required --ben
6747         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6748         (MAIL_USE_POP): removed; now handled by configure.
6749
6750         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
6751         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
6752         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6753         (MAIL_USE_POP): removed; now handled by configure.
6754         (ENCAPSULATE_STAT): from Dan Holmsand, added.
6755         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
6756         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
6757         constant string.
6758         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
6759         up from <winsock.h> via systime.h.
6760         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
6761         (getpagesize): from Dan Holmsand, added.
6762         Added #endif which was left dangling by Ben's mega patch; added
6763         comment to help prevent this in the future.
6764
6765         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
6766
6767 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6768
6769         * console-msw.h (struct mswindows_device): Removed unnecessary
6770         cached device geometry values.
6771         Added update_tick and an accessor macro.
6772         (Lisp_Devmode): Added lrecord declaration.
6773         (struct msprinter_device): Contain devmode as a Lisp object.
6774         Added mswindows_get_selected_frame_hwnd();
6775
6776         * console.h (struct console_methods): Indentation nitpicking.
6777
6778         * device-msw.c (mswindows_init_device): Do not initialize geometry
6779         cache. Initialize update tick.
6780         (mswindows_device_system_metrics): Ask the device for its geometry.
6781         (global_free_2_maybe):
6782         (devmode_to_hglobal):
6783         (handle_printer_changes):
6784         (ensure_not_printing):
6785         (print_dialog_worker):
6786         (Fmsprinter_print_setup_dialog):
6787         (Fmsprinter_print_dialog):
6788         (plist_get_margin):
6789         (plist_set_margin):
6790         (Fmsprinter_page_setup_dialog): Added functions.
6791         (sync_printer_with_devmode):
6792         (handle_devmode_changes):
6793         (Fmsprinter_get_settings):
6794         (Fmsprinter_select_settings):
6795         (Fmsprinter_apply_settings):
6796         (allocate_devmode):
6797         (Fmsprinter_settings_copy):
6798         (Fmsprinter_settings_despecialize):
6799         (print_devmode):
6800         (finalize_devmode):
6801         (equal_devmode):
6802         (hash_devmode): Added functions
6803         (syms_of_device_mswindows): Init devmode lrecord class.
6804
6805         * device.h: Added an exfun for find-device.
6806
6807         * event-msw.c (mswindows_wnd_proc): Do not update the cached
6808         geometry; although, recreate the device compatible DC.
6809
6810         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
6811         (msprinter_init_frame_3):
6812         (msprinter_frame_property):
6813         (msprinter_internal_frame_property_p):
6814         (msprinter_frame_properties):
6815         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
6816         print job properties (will move to device settings).
6817
6818         * lisp.h: Added symbols.
6819
6820         * general.c (syms_of_general): Declared them.
6821
6822         * hash.c (string_hash): Added.
6823
6824         * lrecord.h (lrecord_type): Added devmode lrecord type.
6825
6826 2000-07-02  Mike Sperber <mike@xemacs.org>
6827
6828         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
6829         FreeBSD 4.0.
6830
6831 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
6832
6833         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
6834         integer.
6835
6836 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
6837
6838         * data.c (Fstring_to_number): Don't recognize floating point if
6839         base is not 10.
6840
6841 2000-06-22  Martin Buchholz  <martin@xemacs.org>
6842
6843         * glyphs-widget.c (tab_control_query_geometry):
6844         (widget_query_geometry):
6845         (button_query_geometry):
6846         * glyphs.c (text_query_geometry):
6847         Enforce type correctness.
6848
6849 2000-06-18  Martin Buchholz  <martin@xemacs.org>
6850
6851         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
6852         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
6853
6854 2000-06-17  Martin Buchholz  <martin@xemacs.org>
6855
6856         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
6857         conflicts with gcc's fixincluded version of FOO.h.
6858
6859         * glyphs.h (image_instance_geometry): Remove trailing `,'
6860
6861 2000-06-08  Mike Alexander  <mta@arbortext.com>
6862
6863         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
6864         (shove_thread): Don't write the same output twice
6865         (make_ntpipe_output_stream): Increase priority of shove thread
6866         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
6867         chance to run
6868         (ntpipe_shove_closer): Don't delete the pipe until we're done with
6869         it.
6870
6871 2000-06-12  Ben Wing  <ben@xemacs.org>
6872
6873         * s\mingw32.h (sigset):
6874         * s\windowsnt.h (sigset):
6875         rename msw_ to mswindows_ for consistency with general convention.
6876
6877 2000-06-12  Ben Wing  <ben@xemacs.org>
6878
6879         * console-msw.c:
6880         * console-msw.c (mswindows_get_console_hwnd):
6881         * console-msw.c (mswindows_ensure_console_allocated):
6882         * console-msw.c (mswindows_hide_console):
6883         * console-msw.c (mswindows_show_console):
6884         * console-msw.c (mswindows_ensure_console_buffered):
6885         * console-msw.c (mswindows_output_console_string):
6886         * console-msw.c (mswindows_windows9x_p):
6887         * console-msw.h:
6888         * device-msw.c (mswindows_get_workspace_coords):
6889         * device-msw.c (mswindows_device_system_metrics):
6890         * dialog-msw.c (mswindows_popup_dialog_box):
6891         * event-msw.c (mswindows_wnd_proc):
6892         * frame-msw.c (mswindows_size_frame_internal):
6893         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6894         * menubar-msw.c (displayable_menu_item):
6895         * menubar-msw.c (mswindows_char_is_accelerator):
6896         * nt.c:
6897         * nt.c (mswindows_sigset):
6898         * nt.c (mswindows_sigrelse):
6899         * nt.c (mswindows_sigpause):
6900         * nt.c (mswindows_raise):
6901         * nt.c (timer_proc):
6902         * ntproc.c:
6903         * ntproc.c (find_child_console):
6904         * ntproc.c (sys_kill):
6905         * print.c:
6906         * print.c (std_handle_out_external):
6907         * process-nt.c (find_child_console):
6908         * process-nt.c (send_signal_the_95_way):
6909         * process-nt.c (ensure_console_window_exists):
6910         * process-nt.c (nt_create_process):
6911         * syssignal.h:
6912         rename msw_ to mswindows_ for consistency with general convention.
6913
6914         * emacs.c:
6915         * dumper.c:
6916         include nt.h, not syswindows.h.
6917
6918         * nt.c (mswindows_fstat):
6919         * nt.c (mswindows_stat):
6920         prefix mswindows_ instead of attempting to directly override the
6921         library functions.  fix declarations.
6922
6923         * nt.h:
6924         include syswindows.h.  move some sysdep.h stuff here.
6925
6926         * ntheap.h:
6927         include syswindows.h, not <windows.h>.
6928
6929         * ntplay.c:
6930         clean up headers.
6931
6932         * sysdep.c:
6933         clean up headers.
6934
6935         * sysdep.c (sys_fstat):
6936         * sysdep.c (sys_stat):
6937         call mswindows versions when appropriate.
6938
6939         * sysdep.h:
6940         move mswin decls to nt.h.
6941
6942         * syswindows.h:
6943         add long comment describing appropriate use of the various windows
6944         headers.
6945
6946 2000-06-11  Ben Wing  <ben@xemacs.org>
6947
6948         * device-x.c: Correct doc string for sixth arg of x-get-resource.
6949
6950 2000-06-10  Ben Wing  <ben@xemacs.org>
6951
6952         * Makefile.in.in (release):
6953         Correction to make sure xemacs.exe always dumped when correct.
6954
6955         * alloca.c:
6956         * balloon_help.c:
6957         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
6958
6959         * buffer.c (set_buffer_internal):
6960         [[[[2]]]]: Remove HAVE_FEP code.
6961
6962         * buffer.c (init_initial_directory):
6963         [3].
6964
6965         * bytecode.c:
6966         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
6967         individual files.
6968
6969         * callproc.c:
6970         * callproc.c (call_process_cleanup):
6971         * callproc.c (Fold_call_process_internal):
6972         * callproc.c (child_setup):
6973         * callproc.c (getenv_internal):
6974         * callproc.c (init_callproc):
6975         * callproc.c (vars_of_callproc):
6976         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
6977         __CYGWIN32__ -> CYGWIN.
6978         DOS_NT -> WIN32_NATIVE.
6979         Remove MSDOS support/references, converting to WIN32_NATIVE
6980           where correct.
6981         __MINGW32__ -> MINGW.
6982         Fix windows.h includes.
6983         Remove bogus HAVE_NTGUI.
6984
6985         * config.h.in:
6986         [2].
6987
6988         * console-msw.c:
6989         mswindows_message_outputted added for use in allowing startup
6990         errors on the console to be seen.
6991
6992         * console-msw.c (msw_ensure_console_allocated):
6993         * console-msw.c (msw_output_console_string):
6994         * console-msw.c (DHEADER):
6995         * console-msw.c (DOPAQUE_DATA):
6996         * console-msw.c (DEVENT):
6997         * console-msw.c (DCONS):
6998         * console-msw.c (DCONSCDR):
6999         * console-msw.c (DSTRING):
7000         * console-msw.c (DVECTOR):
7001         * console-msw.c (DSYMBOL):
7002         * console-msw.c (DSYMNAME):
7003         Fix warnings.
7004
7005         * console-stream.c (stream_init_console):
7006         Fix text/binary problems.
7007
7008         * device-msw.c:
7009         * device-msw.c (mswindows_finish_init_device):
7010         * device-msw.c (mswindows_delete_device):
7011         [1].
7012
7013         * device.c (handle_asynch_device_change):
7014         [3].
7015
7016         * dgif_lib.c:
7017         * dgif_lib.c (DGifOpenFileName):
7018         * dgif_lib.c (DGifOpenFileHandle):
7019         * dgif_lib.c (DGifGetLine):
7020         * dgif_lib.c (DGifGetPixel):
7021         Added config.h/lisp.h, fix up includes.
7022         [1].
7023
7024         * dired-msw.c:
7025         [4].
7026
7027         * dired.c:
7028         * dired.c (file_name_completion):
7029         * dired.c (Ffile_attributes):
7030         * dired.c (syms_of_dired):
7031         [1].
7032
7033         * dumper.c:
7034         * dumper.c (pdump_file_unmap):
7035         * dumper.c (pdump_load):
7036         [1].
7037
7038         * editfns.c:
7039         * editfns.c (Ftemp_directory):
7040         * editfns.c (user_login_name):
7041         * editfns.c (Fuser_real_login_name):
7042         * editfns.c (get_home_directory):
7043         [1].
7044
7045         * elhash.c (finish_marking_weak_hash_tables):
7046         [[[[5]]]]: Fix GCC warnings.
7047
7048         * emacs.c:
7049         * emacs.c (mswindows_handle_hardware_exceptions):
7050         * emacs.c (make_arg_list_1):
7051         * emacs.c (main_1):
7052         * emacs.c (Fkill_emacs):
7053         * emacs.c (Fdump_emacs):
7054         [1].
7055         Fix problems with nested crashes, add long comment.
7056
7057         * event-Xt.c (init_event_Xt_late):
7058         [1].
7059
7060         * event-msw.c:
7061         * event-msw.c (mswindows_dde_callback):
7062         * event-msw.c (mswindows_handle_sticky_modifiers):
7063         * event-msw.c (mswindows_wnd_proc):
7064         [1].
7065         [5].
7066
7067         * events.c (character_to_event):
7068         [1].
7069
7070         * fileio.c:
7071         * fileio.c (Ffile_name_directory):
7072         * fileio.c (Ffile_name_nondirectory):
7073         * fileio.c (directory_file_name):
7074         * fileio.c (Fexpand_file_name):
7075         * fileio.c (Fsubstitute_in_file_name):
7076         * fileio.c (Ffile_name_absolute_p):
7077         * fileio.c (check_executable):
7078         * fileio.c (Ffile_readable_p):
7079         * fileio.c (Ffile_accessible_directory_p):
7080         * fileio.c (Ffile_modes):
7081         * fileio.c (Funix_sync):
7082         * fileio.c (vars_of_fileio):
7083         [1]. [4].
7084
7085         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7086
7087         Expand getdefdir defn.
7088         Fix bogus rename() comment.
7089
7090         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7091         to use standard XEmacs include files, e.g. sysfile.h, rather
7092         than system-specific includes.
7093
7094         * fns.c:
7095         * fns.c (Fsubseq):
7096         [5]. [6].
7097
7098         * frame.c (vars_of_frame):
7099         [1].
7100
7101         * getloadavg.c:
7102         * getloadavg.c (getloadavg):
7103         [1]. [6].
7104         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7105         (We don't use it elsewhere in the code; just add a comment.)
7106
7107         * gif_io.c:
7108         [6].
7109         Add config.h.
7110
7111         * glyphs-msw.c:
7112         * glyphs-msw.c (mswindows_resource_instantiate):
7113         [1].
7114
7115         * glyphs-x.c (x_native_layout_instantiate):
7116         [5].
7117
7118         * gui-msw.c (Fmswindows_shell_execute):
7119         [1].
7120
7121         * insdel.c:
7122         [4].
7123
7124         * lisp.h:
7125         [4]. [5].
7126
7127         * lread.c (locate_file_in_directory_mapper):
7128         [1].
7129
7130         * lstream.c:
7131         [4].
7132
7133         * mem-limits.h:
7134         * mem-limits.h (get_lim_data):
7135         [1].
7136
7137         * menubar-msw.c:
7138         [4].
7139
7140         * ndir.h:
7141         [1].
7142
7143         * nt.c:
7144         * nt.c (getwd):
7145         * nt.c (closedir):
7146         * nt.c (rva_to_section):
7147         * nt.c (mswindows_executable_type):
7148         [1]. [6].
7149         Fix closedir() defn.
7150
7151         * nt.h:
7152         [[[[8]]]]: *_OK defs moved to sysfile.h.
7153
7154         * ntproc.c:
7155         [6]. [7].
7156
7157         * objects-x.c:
7158         [4].
7159
7160         * print.c:
7161         * print.c (std_handle_out_external):
7162         [1]. [4].
7163
7164         * process-nt.c:
7165         * process-nt.c (nt_create_process):
7166         [6].
7167         try to fix process quoting somewhat.
7168
7169         * process-unix.c (unix_create_process):
7170         [1].
7171
7172         * process.c:
7173         * process.c (vars_of_process):
7174         Add Vnull_device.
7175
7176         * process.h:
7177         [1].
7178
7179         * realpath.c:
7180         * realpath.c (xrealpath):
7181         [1].
7182
7183         * redisplay-tty.c (init_tty_for_redisplay):
7184         [3].
7185
7186         * redisplay.c:
7187         [4]. [6].
7188
7189         * scrollbar-msw.c:
7190         [4].
7191
7192         * sheap.c:
7193         * sheap.c (more_static_core):
7194         * sheap.c (report_sheap_usage):
7195         [5]. [6].
7196
7197         * signal.c:
7198         * signal.c (alarm_signal):
7199         [1]. [6].
7200
7201         * sound.c:
7202         [6].
7203
7204         * strftime.c:
7205         * strftime.c (zone_name):
7206         [1]. [5].
7207
7208         * symsinit.h (init_sunpro):
7209         [1].
7210
7211         * syscommctrl.h:
7212         commctrl.h not in Cygwin b20.1.
7213
7214         * sysdep.c:
7215         * sysdep.c (endif):
7216         * sysdep.c (sys_subshell):
7217         * sysdep.c (init_baud_rate):
7218         * sysdep.c (emacs_get_tty):
7219         * sysdep.c (emacs_set_tty):
7220         * sysdep.c (tty_init_sys_modes_on_device):
7221         * sysdep.c (init_system_name):
7222         * sysdep.c (sys_open):
7223         * sysdep.c (interruptible_open):
7224         * sysdep.c (sys_fopen):
7225         * sysdep.c (sys_mkdir):
7226         * sysdep.c (sys_rename):
7227         * sysdep.c (get_process_times_1):
7228         [1]. [6].
7229
7230         * sysdep.h:
7231         [1].
7232
7233         * sysdir.h:
7234         * sysdir.h (DIRENTRY_NONEMPTY):
7235         [1]. [6].
7236
7237         * sysdll.c (dll_init):
7238         * sysdll.h:
7239         [1].
7240
7241         * sysfile.h:
7242         [1]. [6]. [8].
7243         added text/binary defs.
7244
7245         * sysfloat.h:
7246         [1].
7247
7248         * sysproc.h:
7249         * sysproc.h (EDESTADDRREQ):
7250         * sysproc.h (poll_fds_for_input):
7251         [1]. [6].
7252
7253         * syspwd.h:
7254         [6].
7255
7256         * syssignal.h:
7257         [1].
7258
7259         * systime.h:
7260         [1]. [6].
7261
7262         * systty.h:
7263         [1].
7264
7265         * syswindows.h:
7266         [1].
7267         Always define WIN32_LEAN_AND_MEAN.
7268
7269         * unexcw.c (unexec):
7270         [5].
7271
7272         * unexec.c:
7273         * unexec.c (copy_text_and_data):
7274         * unexec.c (adjust_lnnoptrs):
7275         [1].
7276
7277         * unexnt.c:
7278         * unexnt.c (_start):
7279         [1].
7280
7281 2000-06-07  Ben Wing  <ben@xemacs.org>
7282
7283         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7284         was used only as a model.  We've long since extracted any useful
7285         logic or code out of this. (I just did an exhaustive search.)
7286
7287         * s\msdos.h: Removed.
7288
7289         * s\windows95.h: Removed.
7290
7291 2000-06-10  Ben Wing  <ben@xemacs.org>
7292
7293         * s\cygwin32.h:
7294         [1]. [5].
7295         Don't use extern with fun defs.
7296
7297         * s\mingw32.h:
7298         [1]. [7].
7299         Remove nt\inc include.
7300         Remove getdisk, getdefdir. (The former is unused, the latter
7301         expanded in fileio.h.)
7302
7303         * s\windowsnt.h:
7304         * s\windowsnt.h (WIN32_NATIVE):
7305         * s\windowsnt.h (HAVE_STRCASECMP):
7306         [1]. [7].
7307         Add long comment about preprocessor changes.
7308         Remove getdisk, getdefdir. (The former is unused, the latter
7309         expanded in fileio.h.)
7310
7311 2000-06-10  Ben Wing  <ben@xemacs.org>
7312
7313         * m\arm.h:
7314         * m\delta.h:
7315         * m\intel386.h:
7316         * m\sequent.h:
7317         * m\template.h:
7318         * m\windowsnt.h:
7319         [1].
7320         Remove bogus/unused NO_SOCK_SIGIO.
7321
7322 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7323
7324         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7325         not an Emchar.
7326
7327 2000-06-04  Mike Sperber <mike@xemacs.org>
7328
7329         * casetab.c (set_case_table): For `set-standard-case-table',
7330         actually deposit the new case tables where the rest of XEmacs can
7331         see them.
7332
7333 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7334
7335         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7336
7337 2000-06-05  Ben Wing  <ben@xemacs.org>
7338
7339         * callproc.c (child_setup): Don't do close_load_descs() under
7340         MS Windows.  Put in a comment explaining why.
7341
7342 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7343
7344         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7345         Toolkit shell" which breaks `kill-compilation' on Windows NT
7346         native, retaining STDERR handling improvements.
7347
7348 2000-06-01  Andreas Jaeger  <aj@suse.de>
7349
7350         * s/s390.h: Support for S390, based on a patch by Martin
7351         Schwidefsky <schwidefsky@de.ibm.com>.
7352
7353 2000-05-30  Andy Piper  <andy@xemacs.org>
7354
7355         * window.c (allocate_window):
7356         (make_dummy_parent):
7357         (Fset_window_configuration): use new hashtable type.
7358
7359         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7360         (struct image_instantiator_methods):
7361         (struct Lisp_Image_Instance): make instance geometry signed.
7362
7363         * glyphs.c (instantiate_image_instantiator):
7364         (image_instance_query_geometry):
7365         (image_instance_layout):
7366         (image_instance_layout):
7367         (query_string_geometry):
7368         (text_query_geometry):
7369         (image_instantiate):
7370         (image_instantiate):
7371         (cache_subwindow_instance_in_frame_maybe):
7372         (subwindow_query_geometry): make instance geometry signed.
7373
7374         * glyphs-widget.c (widget_query_geometry):
7375         (widget_layout):
7376         (button_query_geometry):
7377         (tree_view_query_geometry):
7378         (tab_control_query_geometry):
7379         (layout_query_geometry):
7380         (layout_layout):
7381         (native_layout_layout): make instance geometry signed.
7382
7383 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7384
7385         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7386         constant.
7387
7388         * general.c (syms_of_general): Add Qfull_assoc symbol.
7389
7390         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7391         correctly.
7392         (decode_weak_list_type): Decode full-assoc type.
7393         (encode_weak_list_type): Encode full-assoc type.
7394         (Fmake_weak_list): Update doc string.
7395
7396 2000-05-30  Andy Piper  <andy@xemacs.org>
7397
7398         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7399
7400         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7401         (decode_hash_table_weakness): ditto.
7402         (Fhash_table_weakness): ditto.
7403         (Fhash_table_type): ditto.
7404         (finish_marking_weak_hash_tables): ditto.
7405         (hash_table_weakness_validate): ditto.
7406         (syms_of_elhash): ditto.
7407
7408 2000-05-28  Martin Buchholz <martin@xemacs.org>
7409
7410         * XEmacs 21.2.34 is released.
7411
7412 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7413
7414         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7415         start cache.
7416         (updating_line_start_cache): Gone.
7417         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7418         generic code to force a minimum of 1 line laid out in the
7419         CMOTION_DISP case.
7420
7421 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7422
7423         * glyphs.c (instantiate_image_instantiator): Check for initialized
7424         height & width no longer special cases IMAGE_NOTHING.
7425         (nothing_instantiate): Set height and width of instance.
7426
7427 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7428
7429         * unexelf.c (unexec): Search for ".data" section.
7430         Initialize new_data2_offset from old_data_index.
7431         Remove redundant check for ElfW.
7432
7433 2000-05-23  Andy Piper  <andy@xemacs.org>
7434
7435         * glyphs.c (get_image_instantiator_governing_domain): allow more
7436         specific domains as the governing domain rather than expecting an
7437         exact match. This fixes problems with layouts.
7438
7439 2000-05-22  Andy Piper  <andy@xemacs.org>
7440
7441         * redisplay-output.c (compare_runes): check for non-images
7442
7443         * glyphs.c (set_glyph_dirty_p): ditto.
7444         (update_glyph_cachel_data): ditto.
7445
7446         * glyphs-widget.c (layout_post_instantiate): ditto.
7447         (layout_post_instantiate): ditto.
7448
7449         * event-msw.c (mswindows_wnd_proc): warning removal.
7450
7451 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7452
7453         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7454
7455         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7456
7457         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7458
7459         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7460         (mswindows_executable_type): mingw32 now has enough headers for
7461         this to work.
7462
7463 2000-05-20  Andy Piper  <andy@xemacs.org>
7464
7465         * console-msw.c (mswindows_output_last_error): ; -> ,
7466
7467 2000-05-12  Andy Piper  <andy@xemacs.org>
7468
7469         * console-msw.c (FROB): compare ints with ints.
7470
7471 2000-05-11  Andy Piper  <andy@xemacs.org>
7472
7473         * glyphs-x.c (x_finalize_image_instance): make minimal build
7474         happy.
7475
7476 2000-05-20  Ben Wing  <ben@xemacs.org>
7477
7478         * event-Xt.c:
7479         * event-Xt.c (vars_of_event_Xt):
7480         move modifier-keys-are-sticky to event-stream.c.
7481
7482         * event-msw.c:
7483         * event-msw.c (mswindows_enqueue_mouse_button_event):
7484         * event-msw.c (key_needs_default_processing_p):
7485         * event-msw.c (XEMSW_LCONTROL):
7486         * event-msw.c (mswindows_handle_sticky_modifiers):
7487         * event-msw.c (FROB):
7488         * event-msw.c (clear_sticky_modifiers):
7489         * event-msw.c (output_modifier_keyboard_state):
7490         * event-msw.c (output_alt_keyboard_state):
7491         * event-msw.c (mswindows_wnd_proc):
7492         * event-msw.c (mswindows_modifier_state):
7493         * event-msw.c (emacs_mswindows_handle_magic_event):
7494         implement sticky modifiers.
7495
7496         * event-stream.c:
7497         * event-stream.c (vars_of_event_stream):
7498         move modifier-keys-are-sticky here.
7499
7500         * lisp.h:
7501         add CHECK_FUNCTION.
7502
7503         * rangetab.c:
7504         implement map-range-table.
7505
7506
7507 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7508
7509         * redisplay-tty.c (reset_tty_modes):
7510         (tty_redisplay_shutdown): Adjust argument type to
7511         tty_frame_output_end.
7512
7513 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7514
7515         * eval.c (Fbacktrace): Don't output a line with only right
7516         parenthesis.
7517
7518 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7519
7520         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7521         (Fpq_reset_poll): Ditto.
7522
7523 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7524
7525         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7526
7527 2000-05-16  Ben Wing  <ben@xemacs.org>
7528
7529         * buffer.c:
7530         * buffer.c (dfc_convert_to/from_internal_format):
7531         * buffer.c (reinit_vars_of_buffer):
7532         Fix conversion functions to allow reentrancy.
7533
7534         * console-msw.c:
7535         * console-msw.c (mswindows_output_last_error):
7536         New fun, generally useful -- output a human-readable
7537         version of GetLastError() on the console.
7538
7539         * console-msw.h:
7540         * console-msw.h (struct mswindows_frame):
7541         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7542
7543         * console-stream.c (stream_output_begin):
7544         * console-stream.c (stream_output_end):
7545         * console-stream.c (stream_output_vertical_divider):
7546         * console-stream.c (stream_clear_region):
7547         * console-stream.c (stream_flash):
7548         * console-stream.c (console_type_create_stream):
7549         Delete blank stream methods, not needed.
7550
7551         * console.h (struct console_methods):
7552         Split begin/end methods into window and frame.
7553
7554         * event-msw.c:
7555         * event-msw.c (mswindows_handle_paint):
7556         * event-msw.c (output_alt_keyboard_state):
7557         * event-msw.c (mswindows_wnd_proc):
7558         * event-msw.c (vars_of_event_mswindows):
7559         Comment about problems with ignored-expose.
7560         Define mswindows-debug-events; not really implemented.
7561
7562         * frame-msw.c (mswindows_init_frame_1):
7563         random cleanups.
7564
7565         * glyphs-msw.c:
7566         * glyphs-msw.c (begin_defer_window_pos):
7567         * glyphs-msw.c (mswindows_unmap_subwindow):
7568         * glyphs-msw.c (mswindows_map_subwindow):
7569         * glyphs-msw.c (mswindows_resize_subwindow):
7570         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7571
7572         * glyphs.c (make_image_instance_1):
7573         Fix crash.
7574
7575         * gutter.c (Fredisplay_gutter_area):
7576         Use new begin/end methods.
7577
7578         * lisp.h (Dynarr_new2):
7579         New creation fun.
7580
7581         * redisplay-msw.c:
7582         * redisplay-msw.c (mswindows_frame_output_begin):
7583         * redisplay-msw.c (mswindows_frame_output_end):
7584         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7585         New begin/end methods -- handle DeferWindowPos.
7586
7587         * redisplay-output.c (redisplay_move_cursor):
7588         * redisplay-output.c (redraw_cursor_in_window):
7589         * redisplay-output.c (redisplay_update_line):
7590         * redisplay-output.c (redisplay_output_window):
7591         New begin/end methods.
7592
7593         * redisplay-tty.c:
7594         * redisplay-tty.c (tty_frame_output_begin):
7595         * redisplay-tty.c (tty_frame_output_end):
7596         * redisplay-tty.c (console_type_create_redisplay_tty):
7597         New begin/end methods.
7598
7599         * redisplay-x.c:
7600         * redisplay-x.c (x_window_output_begin):
7601         * redisplay-x.c (x_window_output_end):
7602         * redisplay-x.c (console_type_create_redisplay_x):
7603         New begin/end methods.
7604
7605         * redisplay.c (redisplay_frame):
7606         * redisplay.c (Fredisplay_echo_area):
7607         New begin/end methods.
7608         use MAYBE_DEVMETH for clear_frame; it may not exist.
7609
7610         * window.h (WINDOW_XFRAME):
7611         WINDOW_XFOO macros -- get locale and decode struct pointer.
7612
7613
7614 2000-05-12  Ben Wing  <ben@xemacs.org>
7615
7616         * emacs.c:
7617         * emacs.c (ensure_no_quitting_from_now_on):
7618         * emacs.c (fatal_error_signal):
7619         * emacs.c (mswindows_handle_hardware_exceptions):
7620         * emacs.c (main):
7621         * emacs.c (Fkill_emacs):
7622         * emacs.c (shut_down_emacs):
7623         * emacs.c (assert_failed):
7624         various improvements in fatal error handling.
7625
7626         * eval.c:
7627         move preparing_for_armageddon to emacs.c.
7628
7629         * lisp.h:
7630         declare fatal_error_in_progress.
7631
7632         * print.c:
7633         * print.c (std_handle_out_external):
7634         * print.c (std_handle_out_va):
7635         * print.c (stderr_out):
7636         * print.c (stdout_out):
7637         use console under mswin when no standard output.
7638         don't do code conversion during fatal error.
7639
7640         * scrollbar.c (Fscrollbar_page_up):
7641         * scrollbar.c (Fscrollbar_page_down):
7642         fix missing else.  reindent.
7643
7644 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
7645
7646         Emergency fix.
7647
7648         * glyphs.h (GLYPH_CACHEL_DESCENT):
7649         (GLYPH_CACHEL_DESCENT):
7650         (GLYPH_CACHEL_DESCENT):
7651         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
7652         used in case these are inline functions.
7653         Use more absurd values to error check.
7654
7655         include window.h for error check functions.
7656
7657 2000-05-11  Ben Wing  <ben@xemacs.org>
7658
7659         * cmdloop.c (Freally_early_error_handler):
7660         Display message box under windows; otherwise, message will disappear
7661         before it can be viewed.
7662
7663         * console-msw.c:
7664         * console-msw.c (Fmswindows_message_box):
7665         * console-msw.c (FROB):
7666         * console-msw.c (syms_of_console_mswindows):
7667         Define new fun `mswindows-message-box'.
7668         #### I will merge this into `popup-dialog-box'; just give me
7669         a bit of time.
7670
7671         * general.c:
7672         * general.c (syms_of_general):
7673         Some new symbols used in `mswindows-message-box'.
7674
7675         * glyphs.c:
7676         * glyphs.c (Fset_image_instance_property):
7677         put warning in this fun.
7678
7679         * glyphs.h:
7680         * glyphs.h (GLYPH_CACHEL_WIDTH):
7681         * glyphs.h (GLYPH_CACHEL_ASCENT):
7682         * glyphs.h (GLYPH_CACHEL):
7683         * glyphs.h (GLYPH_CACHEL_GLYPH):
7684         define error-checking versions to try to catch a bug i've seen --
7685         redisplay gets in an infinite loop because the glyph width of the
7686         continuation glyph is 65535.
7687
7688         * lisp.h:
7689         Extern message-box stuff.
7690
7691         * window.c (allocate_window):
7692         * window.c (make_dummy_parent):
7693         * window.c (Fset_window_configuration):
7694         Use EQUAL not EQ for subwindow caches to make them work a bit
7695         better. (Something is still very broken.)
7696
7697
7698 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7699
7700         * glyphs.c (image_instantiate): Suppress gcc warnings.
7701         (Fmake_image_instance): Fix doc string.
7702         * specifier.c (Fmake_specifier): Ditto.
7703
7704 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
7705
7706         * paths.h.in (PATH_LOCK): Removed.
7707         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
7708         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
7709
7710 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7711
7712         * fns.c (Ffeaturep): Update e-mail address in doc-string.
7713         Document (featurep '(and xemacs 21.02)).
7714
7715 2000-05-09  Ben Wing  <ben@xemacs.org>
7716
7717         * buffer.c (complex_vars_of_buffer):
7718         update modeline-format doc.
7719
7720         * device.h:
7721         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
7722
7723         * emacs.c:
7724         timeline of all released versions of Emacs, for use in creating
7725         authorship comments and in synching up.
7726
7727         * glyphs-widget.c (image_instantiator_buttons):
7728         * glyphs-widget.c (image_instantiator_edit_fields):
7729         * glyphs-widget.c (image_instantiator_combo_box):
7730         * glyphs-widget.c (image_instantiator_scrollbar):
7731         * glyphs-widget.c (image_instantiator_progress_guage):
7732         * glyphs-widget.c (image_instantiator_tree_view):
7733         * glyphs-widget.c (image_instantiator_tab_control):
7734         * glyphs-widget.c (image_instantiator_labels):
7735         * glyphs-widget.c (image_instantiator_layout):
7736         * glyphs-widget.c (image_instantiator_native_layout):
7737         rename decode_domain method to governing_domain.
7738
7739         * glyphs.c:
7740         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
7741         * glyphs.c (add_entry_to_device_ii_format_list):
7742         make sure we don't put an entry more than once into the list.
7743         * glyphs.c (check_instance_cache_mapper):
7744         *************************************************************
7745         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7746         HAVE BEEN GETTING.
7747         *************************************************************
7748         * glyphs.c (get_image_instantiator_governing_domain):
7749         clean up, expand on new concept of governing domain.
7750         * glyphs.c (instantiate_image_instantiator):
7751         * glyphs.c (allocate_image_instance):
7752         use governing_domain instead of cache_domain in naming.
7753         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
7754         * glyphs.c (make_image_instance_1):
7755         * glyphs.c (Fmake_image_instance):
7756         allow for any domain (not just device), and process the
7757         governing domain correctly.  very big doc fix.
7758         * glyphs.c (Fimage_instance_domain):
7759         new primitive, to retrieve the governing domain of an image instance.
7760         * glyphs.c (image_instantiate):
7761         use new governing_domain stuff.  this fixes a crash you could get
7762         by instantiating certain widget glyphs in frame locales. (should
7763         signal an error instead of crashing.)
7764         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
7765         * glyphs.c (Fglyphp): clean up doc.
7766         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
7767         * glyphs.c (syms_of_glyphs):
7768         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
7769         * glyphs.c (image_instantiator_format_create): add some comments about
7770         bogus code.
7771         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
7772         for current-display-table. (Apparently Hrjove implemented in 1998 a
7773         design I wrote up in 1996, but didn't update the doc string.)
7774
7775         * glyphs.h: clean up a doc string.
7776         * glyphs.h (governing_domain):
7777         * glyphs.h (struct image_instantiator_methods):
7778         changes for governing_domain stuff.
7779
7780         * gutter.c:
7781         * gutter.c (Fgutter_specifier_p):
7782         * gutter.c (Fgutter_size_specifier_p):
7783         * gutter.c (Fgutter_visible_specifier_p):
7784         * objects.c:
7785         * objects.c (Fcolor_specifier_p):
7786         * objects.c (Ffont_specifier_p):
7787         * objects.c (Fface_boolean_specifier_p):
7788         doc strings moved to make-*-specifier.
7789
7790         * redisplay.c (add_disp_table_entry_runes_1):
7791         * redisplay.c (generate_fstring_runes):
7792         * redisplay.c (screen):
7793         add random comments and doc strings.
7794
7795         * specifier.c:
7796         * specifier.c (Fmake_specifier):
7797         major overhaul of this doc string.
7798
7799         * specifier.c (Fvalid_specifier_domain_p):
7800         comment about the bogosity of image instances being domains.
7801         * specifier.c (decode_domain):
7802         now non-static, used in glyphs.c.
7803         * specifier.c (specifier_instance):
7804         comment about the bogosity of image instances being domains.
7805         * specifier.c (Fgeneric_specifier_p):
7806         move doc string to make-generic-specifier.
7807         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
7808         rebackslashify.
7809
7810         * specifier.h:
7811         * specifier.h (DOMAIN_FRAME):
7812         * specifier.h (DOMAIN_LIVE_P):
7813         * specifier.h (DOMAIN_XDEVICE):
7814         rebackslashify.
7815         add comments about problems with these macros.
7816         prototype for decode_domain.
7817
7818         * toolbar.c:
7819         * toolbar.c (Ftoolbar_specifier_p):
7820         move doc string to `make-toolbar-specifier'.
7821
7822         * window.c (window_unmap_subwindows_cache_mapper):
7823         *************************************************************
7824         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7825         HAVE BEEN GETTING.
7826         *************************************************************
7827
7828 2000-05-09  Andy Piper  <andy@xemacs.org>
7829
7830         * glyphs.h: declare reset_frame_subwindow_instance_cache.
7831
7832         * window.c (Fset_window_configuration): reset the frame subwindow
7833         cache and re-initialize the window subwindow caches.
7834
7835         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
7836
7837 2000-05-09  Ben Wing  <ben@xemacs.org>
7838
7839         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
7840         DWORD.
7841
7842 2000-04-26  Mike Woolley  <mike@bulsara.com>
7843
7844         * ntheap.c: Changed recreate_heap to limit the amount reserved
7845         for the heap to that which is actually available. Also now
7846         displays a message box (with some dignostics) in the event that
7847         it still can't start.
7848
7849 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
7850
7851         * callproc.c (Fold_call_process_internal): GCPRO path
7852
7853 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
7854
7855         Patch by Bill Perry.
7856
7857         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
7858         back data instead of #ifdef.
7859         (Fscrollbar_page_down): ditto.
7860
7861 2000-05-07  Ben Wing  <ben@xemacs.org>
7862
7863         * buffer.h:
7864         Kludge for defining Qmswindows_tstr.
7865
7866         * nt.c:
7867         * nt.c (open_input_file):
7868         * nt.c (open_output_file):
7869         * nt.c (rva_to_section):
7870         * nt.c (mswindows_executable_type):
7871         Move all memory-mapped-file routines here (some were in unexnt.c,
7872         which is bad because they are used by process-nt.c, and unexnt
7873         won't be around when portable dumping).  Synched the above routines
7874         with FSF 20.6.
7875
7876         * nt.h:
7877         Removed ifdef'd out bogus code.
7878         Fixed some prototypes.
7879
7880         * nt.h (file_data):
7881         * nt.h (OFFSET_TO_RVA):
7882         * nt.h (RVA_TO_OFFSET):
7883         * nt.h (RVA_TO_PTR):
7884         Moved the memory-mapped-file structures, macros and prototypes
7885         here, to parallel nt.c.  ntheap.h should really be removed
7886         entirely, and it's a non-portable-dumper specific file.
7887
7888         * ntheap.h (round_to_next):
7889         Moved the memory-mapped-file structures, macros and prototypes
7890         to nt.h.
7891
7892         * ntproc.c (compare_env):
7893         Moved rva_to_section and mswindows_executable_type to nt.c.
7894         Moved compare_env to process-nt.c.
7895         ntproc.c will die, one day.
7896
7897         * ntproc.c (sys_spawnve):
7898         Account for win32_ -> mswindows_.
7899
7900         * process-nt.c:
7901         * process-nt.c (struct nt_process_data):
7902         * process-nt.c (ensure_console_window_exists):
7903         * process-nt.c (compare_env):
7904         * process-nt.c (nt_create_process):
7905         * process-nt.c (nt_kill_process_by_pid):
7906         * process-nt.c (syms_of_process_nt):
7907         * process-nt.c (vars_of_process_nt):
7908         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
7909         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
7910         changes).  Eliminate our old `nt-quote-process-args' mechanism.
7911         Synch up nt_create_process with FSF 20.6 sys_spawnve.
7912         Move compare_env here from ntproc.c.
7913
7914         * process.c (Fprocess_send_region):
7915         Takes an optional fourth argument, BUFFER, which should fix some
7916         problems with call-process.
7917
7918         * syscommctrl.h:
7919         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
7920
7921         * syswindows.h:
7922         Move ICC_BAR_CLASSES to syscommctrl.h.
7923         Add preliminary macros for MSWindows/Mule.  More to come.
7924
7925         * unexnt.c:
7926         * unexnt.c (unexec):
7927         open_output_file moved to nt.c.
7928
7929
7930 2000-05-05  Andy Piper  <andy@xemacs.org>
7931
7932         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
7933         instance from the frame cache also since GC may catch up too late
7934         to make frame deletion sane.
7935
7936 2000-05-04  Andy Piper  <andy@xemacs.org>
7937
7938         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
7939         (x_finalize_image_instance): ungcpro on deletion.
7940
7941         * glyphs.c (image_instantiator_format_create): give pointers a
7942         query geometry method so that the geometry is at least set.
7943
7944         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
7945         initialize layouts if using widgets.
7946
7947 2000-05-03  Andy Piper  <andy@xemacs.org>
7948
7949         * nt.c: remove bogus reference to sysmmsystem.h
7950
7951         * gui-x.c (popup_selection_callback): fix no selection abort.
7952
7953 2000-05-02  Andy Piper  <andy@xemacs.org>
7954
7955         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
7956         (mswindows_widget_instantiate): ditto.
7957
7958         * glyphs-widget.c (initialize_widget_image_instance): initialize
7959         children correctly.
7960         (widget_instantiate): cope with children and items in the same
7961         instance.
7962
7963         * glyphs.c (mark_image_instance): cope with children as a first
7964         class member.
7965         (image_instance_equal): ditto.
7966         (image_instance_hash): ditto.
7967         (image_instance_changed): ditto.
7968
7969 2000-04-30  Andy Piper  <andy@xemacs.org>
7970
7971         * glyphs.c (subwindow_query_geometry): new function. Return some
7972         defaults.
7973         (subwindow_instantiate): don't assign dimensions if none have been
7974         given.
7975         (image_instantiator_format_create): add subwindow_query_geometry.
7976         (print_image_instance): cope with layouts as widgets.
7977
7978 2000-04-29  Andy Piper  <andy@xemacs.org>
7979
7980         * frame.c (delete_frame_internal): call
7981         free_frame_subwindow_instance_cache so that all subwindows are
7982         finalized before their parent.
7983         (mark_frame): remove subwindow_cachels.
7984         (Fmake_frame): remove subwindow_cachel manipulation.
7985         (allocate_frame_core): subwindow_instance_cache is a weak list.
7986         (delete_frame_internal): set subwindow_instance_cache to nil.
7987
7988         * glyphs-msw.c (mswindows_finalize_image_instance): make double
7989         finalization safe.
7990         (mswindows_finalize_image_instance): use the device
7991         not the domain as the domain may have died already.
7992
7993         * glyphs-x.c (x_finalize_image_instance): ditto.
7994         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
7995         HEIGHT.
7996
7997         * redisplay-output.c (redisplay_unmap_subwindows): update for
7998         subwindow instance cache as a weak list.
7999         (redisplay_unmap_subwindows_maybe): ditto.
8000         (redisplay_unmap_subwindows_except_us): ditto.
8001
8002         * glyphs.c (unmap_subwindow): error checking will check the domain
8003         so don't deal with it here. Don't use cachels anymore.
8004         (map_subwindow): ditto.
8005         (update_subwindow_cachel_data): remove old accessor names.
8006         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8007         (Fresize_subwindow): don't update cachel.
8008         (mark_subwindow_cachels):
8009         (update_subwindow_cachel_data):
8010         (add_subwindow_cachel):
8011         (get_subwindow_cachel_index):
8012         (update_subwindow_cachel):
8013         (reset_subwindow_cachels):
8014         (mark_subwindow_cachels_as_not_updated): deleted.
8015         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8016         subwindow instance to the frame cache.
8017         (find_matching_subwindow): update for subwindow instance cache as
8018         a weak list.
8019         (update_widget_instances): ditto.
8020         (image_instance_type_to_mask):inlined.
8021         (free_frame_subwindow_instance_cache): new function. finalize all
8022         subwindows that are instantiated.
8023
8024         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8025         of cachel information.
8026         (IMAGE_INSTANCE_DISPLAY_X):
8027         (IMAGE_INSTANCE_DISPLAY_Y):
8028         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8029         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8030         (XIMAGE_INSTANCE_DISPLAY_X):
8031         (XIMAGE_INSTANCE_DISPLAY_Y):
8032         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8033         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8034         remove subwindow_cachel structure and function references.
8035         (image_instance_type_to_mask): inline from glyphs.c
8036
8037         * redisplay.c (redisplay_frame): remove subwindow_cachel
8038         references.
8039
8040         * frame.h (struct frame): remove subwindow_cachels.
8041         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8042
8043         * frameslots.h: add subwindow_instance_cache.
8044
8045         * window.c (replace_window): check subwindow cache of replacement.
8046         (window_unmap_subwindows_cache_mapper):
8047         (window_unmap_subwindows): new functions. Unmap all subwindows
8048         cached on this window.
8049         (mark_window_as_deleted): unmap all subwindows.
8050
8051 2000-04-27  Andy Piper  <andy@xemacs.org>
8052
8053         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8054
8055         * glyphs-widget.c (widget_layout): return something.
8056         (layout_layout): return something. Fail if not initialized.
8057         (layout_query_geometry): ditto.
8058         (image_instantiator_native_layout): new function. Initialized the
8059         native layout type.
8060         (widget_instantiate): don't do layout stuff here.
8061
8062         * glyphs.c (instantiate_image_instantiator): reorded calling or
8063         instantiate and post_instantiate with layout in between.
8064         (image_instance_layout): be more selective about deciding whether
8065         the layout has been done or not.
8066
8067         * glyphs.h (struct image_instantiator_methods): return a value
8068         from layout_method.
8069
8070 2000-04-26  Andy Piper  <andy@xemacs.org>
8071
8072         * glyphs.c (allocate_image_instance): make initial width and
8073         height unspecified. Set initialized to 0.
8074
8075         * syscommctrl.h new file. Encapsulates commctrl.h.
8076
8077         * syswindows.h new file. Encapsulates windows.h.
8078
8079         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8080         * nt.c: ditto.
8081         * console-msw.h: ditto.
8082
8083         * redisplay-tty.c (tty_output_display_block): remove layout references.
8084
8085         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8086         window handle rather than just the frame.
8087
8088         * glyphs.c (mark_image_instance): remove layout references.
8089         (print_image_instance): ditto.
8090         (image_instance_equal): ditto.
8091         (image_instance_hash): ditto.
8092         (decode_image_instance_type): ditto.
8093         (encode_image_instance_type): ditto.
8094         (image_instantiate): ditto.
8095         (allocate_glyph): ditto.
8096         (Fimage_instance_height): ditto.
8097         (Fimage_instance_width): ditto.
8098         (update_subwindow): ditto.
8099
8100         * redisplay-x.c (x_output_display_block): recode for layouts as
8101         widgets.
8102
8103         * redisplay-output.c (redisplay_output_layout): recode for layouts
8104         as widgets.
8105         (compare_runes): remove layout references.
8106
8107         * redisplay-msw.c (mswindows_output_display_block): recode for
8108         layouts as widgets.
8109
8110         * glyphs-widget.c (image_instantiator_layout): remove
8111         layout_possible_dest_types.
8112         (layout_possible_dest_types): deleted.
8113
8114         * glyphs.h (image_instance_type): remove layout references.
8115         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8116         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8117         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8118
8119 2000-04-25  Andy Piper  <andy@xemacs.org>
8120
8121         * glyphs-widget.c (image_instantiator_buttons):
8122         (image_instantiator_edit_fields):
8123         (image_instantiator_combo_box):
8124         (image_instantiator_scrollbar):
8125         (image_instantiator_progress_guage):
8126         (image_instantiator_tree_view):
8127         (image_instantiator_tab_control):
8128         (image_instantiator_labels):
8129         (image_instantiator_layout): call default post_instantiate method.
8130         (widget_post_instantiate): new function. Simply lays out the
8131         widgets.
8132
8133         * glyphs.h (struct image_instantiator_methods): add
8134         post_instantiate method.
8135
8136         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8137         method calls.
8138
8139 2000-04-23  Andy Piper  <andy@xemacs.org>
8140
8141         * glyphs.h (struct image_instantiator_methods): add
8142         decode_domain_method.
8143         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8144         derived from the domain.
8145         (IMAGE_INSTANCE_FRAME): new accessor.
8146         (XIMAGE_INSTANCE_FRAME): ditto.
8147
8148         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8149         instead of _SUBWINDOW_FRAME.
8150         (finalize_image_instance): ditto.
8151         (Fimage_instance_foreground): ditto.
8152         (Fimage_instance_background): ditto.
8153         (image_instantiate): ditto.
8154         (update_subwindow_cachel): ditto.
8155         (update_subwindow): ditto.
8156         (unmap_subwindow): ditto.
8157         (map_subwindow): ditto
8158         (subwindow_instantiate): ditto.
8159         * glyphs-msw.c (mswindows_update_widget): ditto.
8160         (mswindows_progress_gauge_instantiate): ditto.
8161         (mswindows_tab_control_update): ditto.
8162         * glyphs-x.c (x_update_widget): ditto.
8163         (x_widget_instantiate): ditto.
8164         (x_tab_control_instantiate): ditto.
8165         (x_tab_control_update): ditto.
8166         * event-msw.c (mswindows_wnd_proc): ditto
8167
8168         * glyphs-widget.c (image_instantiator_layout): use
8169         subwindow_decode_domain.
8170         (image_instantiator_buttons): ditto.
8171         (image_instantiator_edit_fields): ditto.
8172         (image_instantiator_combo_box): ditto.
8173         (image_instantiator_scrollbar): ditto.
8174         (image_instantiator_progress_guage): ditto.
8175         (image_instantiator_tree_view): ditto.
8176         (image_instantiator_tab_control): ditto.
8177         (image_instantiator_labels): ditto.
8178         (image_instantiator_layout): ditto.
8179
8180         * glyphs.c: add instance error checking to many functions.
8181         (instantiate_image_instantiator): decode device from cache_domain.
8182         (image_instantiate): partially rewrite by using
8183         decode_image_instantiator_domain to determine what domain the
8184         instance needs to be cached in.
8185         (decode_image_instantiator_domain): new function. Determine what
8186         domain the image needs to be cached in.
8187         (check_window_subwindow_cache): new error checking function.
8188         (check_instance_cache_mapper): ditto.
8189         (check_image_instance_structure): ditto.
8190         (subwindow_decode_domain): new function. Encodes a window as a
8191         subwindow's cache domain.
8192         (image_instantiator_format_create): use it for text and
8193         subwindows.
8194
8195 2000-04-21  Andy Piper  <andy@xemacs.org>
8196
8197         * glyphs.c (image_instance_device): new function.
8198         (image_instance_frame): new function.
8199         (image_instance_window): new function.
8200         (image_instance_live_p): new function.
8201
8202         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8203         cache to nil.
8204
8205         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8206         (IMAGE_INSTANCE_DOMAIN): new accessor.
8207         (XIMAGE_INSTANCE_DOMAIN): ditto.
8208
8209         * glyphs-x.c (x_finalize_image_instance): device->domain.
8210
8211         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8212         (mswindows_finalize_image_instance): ditto.
8213
8214         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8215         (gif_instantiate): ditto.
8216         (png_instantiate): ditto.
8217         (tiff_instantiate): ditto.
8218
8219         * glyphs.c (instantiate_image_instantiator): use domain rather
8220         than device.
8221         (mark_image_instance): device -> domain.
8222         (print_image_instance): ditto.
8223         (finalize_image_instance): ditto.
8224         (image_instance_equal): ditto.
8225         (allocate_image_instance): ditto.
8226         (Fcolorize_image_instance): ditto.
8227         (query_string_geometry): ditto.
8228         (image_instantiate): ditto
8229         (query_string_font): ditto.
8230         (image_instantiate): ditto.
8231         (update_subwindow): ditto.
8232         (unmap_subwindow): ditto.
8233         (map_subwindow): ditto.
8234         (subwindow_instantiate): ditto.
8235
8236         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8237         (DOMAIN_FRAME): ditto.
8238         (DOMAIN_WINDOW): ditto.
8239         (DOMAIN_LIVE_P): ditto.
8240         (XDOMAIN_DEVICE): ditto.
8241         (XDOMAIN_FRAME): ditto.
8242         (XDOMAIN_WINDOW): ditto.
8243
8244         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8245         a valid specifier domain.
8246
8247 2000-04-19  Andy Piper  <andy@xemacs.org>
8248
8249         * glyphs-widget.c (syms_of_glyphs_widget): remove
8250         widget-callback-current-channel.
8251         (vars_of_glyphs_widget): ditto.
8252         * glyphs.h: ditto
8253
8254         * gui.c (get_gui_callback): revert to previous behaviour.
8255
8256 2000-04-18  Andy Piper  <andy@xemacs.org>
8257
8258         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8259         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8260         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8261
8262         * glyphs.c (image_instance_equal): add margin_width.
8263         (image_instance_hash): ditto.
8264
8265         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8266         (layout_query_geometry): ditto.
8267         (layout_layout): ditto.
8268         (syms_of_glyphs_widget): add margin-width.
8269         (image_instantiator_layout): allow margin-width.
8270
8271         * glyphs.c (update_widget_instances): make a normal function.
8272         (syms_of_glyphs): remove Qupdate_widget_instances.
8273         * glyphs.h: ditto.
8274
8275         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8276         so that we don't corrupt ideas about the last event or
8277         command. Remove widget-callback-current-channel fiddling.
8278         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8279
8280 2000-05-01  Martin Buchholz <martin@xemacs.org>
8281
8282         * XEmacs 21.2.33 is released.
8283
8284 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8285
8286         * make-src-depend: Allow dots in header file name.
8287
8288 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8289
8290         * mule-charset.h (struct charset_lookup): Add
8291         next_allocated_1_byte_leading_byte and
8292         next_allocated_2_byte_leading_byte.
8293         * mule-charset.c: Move above two variables so that those values
8294         will be dumped.
8295
8296 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8297
8298         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8299         when string length is zero.
8300         (find_charsets_in_emchar_string): Ditto.
8301
8302 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8303
8304         * lisp.h: extern Qdialog and Qmenubar.
8305
8306         * gui-x.c: added events.h.
8307                 also fixed typo which made the file uncompilable.
8308
8309         * general.c: Added Qmenubar and Qdialog
8310
8311 2000-04-28  Ben Wing  <ben@xemacs.org>
8312
8313         * frame-msw.c (mswindows_init_frame_1):
8314         * frame-msw.c (mswindows_mark_frame):
8315         * event-msw.c (mswindows_enqueue_dispatch_event):
8316         * console-msw.h:
8317         * console-msw.h (struct mswindows_frame):
8318         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8319         there are now three hash tables for callbacks.
8320         mswindows_enqueue_dispatch_event is no longer static.
8321
8322         * dialog-x.c (maybe_run_dbox_text_callback):
8323         * dialog-x.c (dbox_descriptor_to_widget_value):
8324         switch to new cons3 form for callbacks.
8325
8326         * glyphs-msw.c (mswindows_register_gui_item):
8327         * glyphs-msw.c (mswindows_widget_instantiate):
8328         * glyphs-msw.c (add_tree_item):
8329         * glyphs-msw.c (add_tab_item):
8330         new image instance parameter, so it can be passed to callback-ex.
8331         respect :callback-ex as well as :callback.
8332
8333         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8334         add :callback-ex.
8335
8336         * glyphs.c (print_image_instance):
8337         prettify, e.g. now prints widget type.
8338
8339         * gui-x.h:
8340         certain funs have new image instance parameter.
8341
8342         * gui.c:
8343         * gui.c (get_gui_callback):
8344         * gui.c (gui_item_add_keyval_pair):
8345         * gui.c (gui_item_init):
8346         * gui.c (gui_add_item_keywords_to_plist):
8347         * gui.c (mark_gui_item):
8348         * gui.c (gui_item_hash):
8349         * gui.c (gui_item_equal):
8350         * gui.c (copy_gui_item):
8351         * gui.c (syms_of_gui):
8352         recognize callback-ex in a number of places.
8353         also, fix the annoying "can't get out of yes-no dialog" bug.
8354
8355         * gui.h:
8356         * gui.h (struct Lisp_Gui_Item):
8357         recognize callback-ex in a number of places.
8358
8359         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8360         new parameter in button_item_to_widget_value.
8361
8362         * glyphs-x.c (x_update_widget):
8363         * glyphs-x.c (x_button_instantiate):
8364         * glyphs-x.c (x_button_update):
8365         * glyphs-x.c (x_progress_gauge_instantiate):
8366         * glyphs-x.c (x_edit_field_instantiate):
8367         * glyphs-x.c (x_combo_box_instantiate):
8368         * glyphs-x.c (x_tab_control_instantiate):
8369         * glyphs-x.c (x_label_instantiate):
8370         new image instance parameter in various places.
8371
8372         * event-Xt.c:
8373         * event-Xt.c (enqueue_Xt_dispatch_event):
8374         this fun gets exported.
8375
8376         * gui-msw.c:
8377         * gui-msw.c (mswindows_handle_gui_wm_command):
8378         handle both :callback and :callback-ex, and generate our own
8379         event because it's one of the callback-ex arguments.
8380
8381         * gui-x.c:
8382         * gui-x.c (popup_selection_callback):
8383         handle both :callback and :callback-ex, and generate our own
8384         event because it's one of the callback-ex arguments.
8385         * gui-x.c (button_item_to_widget_value):
8386         * gui-x.c (gui_items_to_widget_values_1):
8387         * gui-x.c (gui_item_children_to_widget_values):
8388         * gui-x.c (gui_items_to_widget_values):
8389         new image instance parameter in various places.
8390
8391         * fns.c (Freplace_list):
8392         fix small typo in doc string.
8393
8394         * lisp.h:
8395         declare enqueue_Xt_dispatch_event.
8396
8397 2000-04-28  Ben Wing  <ben@xemacs.org>
8398
8399         * buffer.c:
8400         * buffer.c (Frecord_buffer):
8401         * buffer.c (syms_of_buffer):
8402         delete record-buffer-hook.
8403
8404         * fns.c:
8405         * fns.c (Freplace_list):
8406         * fns.c (syms_of_fns):
8407         new primitive replace-list.
8408
8409         * frameslots.h:
8410         slot for old buffer-alist.
8411
8412         * lisp.h:
8413         exfun replace-list.
8414
8415         * redisplay.c:
8416         * redisplay.c (redisplay_frame):
8417         * redisplay.c (syms_of_redisplay):
8418         * redisplay.c (vars_of_redisplay):
8419         new hook buffer-list-changed-hook.
8420         call it.
8421
8422 2000-04-27  Ben Wing  <ben@xemacs.org>
8423
8424         * extents.h: extern in_modeline_generation.
8425
8426         * redisplay.c (generate_formatted_string_db): set
8427         in_modeline_generation.
8428
8429         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8430         flags if in modeline generation.  otherwise frame-modified-tick
8431         is ticked far too often.
8432         Declare in_modeline_generation.
8433
8434 2000-04-26  Ben Wing  <ben@xemacs.org>
8435
8436         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8437         option.
8438         (vars_of_emacs): add quick-build as an error-checking option.
8439         A bit kludgy, but there doesn't seem much point in creating
8440         a real var for this.
8441
8442         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8443
8444 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8445
8446         * redisplay.h (struct display_line): Add a new variable,
8447         line_continuation.
8448
8449         * redisplay.c (create_text_block): Set dl->line_continuation if
8450         the line continues.
8451         (create_string_text_block): Ditto.
8452         (regenerate_window_incrementally): Use line_continuation instead
8453         of searching continuation glyph.
8454         (add_margin_runes): Call add_glyph_rune.
8455         (add_glyph_rune): Handle margin glyph.
8456
8457 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8458
8459         * filelock.c (fill_in_lock_file_name):
8460         ANSIfy.
8461         Check for IS_ANY_SEP instead of '/'.
8462         (lock_file_1):
8463         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8464         Never check errno without first seeing that system call failed.
8465         (unlock_file): Add GCPRO.
8466         (Flock_buffer): Fix docstring.
8467         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8468
8469 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8470
8471         * sysdep.c (get_pty_max_bytes):
8472         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8473         strings longer than 252 bytes.
8474
8475         * md5.c: Unconditionally include ANSI header <limits.h>
8476
8477         * glyphs-x.c (convert_EImage_to_XImage):
8478         * lisp-union.h (union Lisp_Object):
8479         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8480
8481 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8482
8483         * filelock.c (current_lock_owner): Remove unused variable o, p.
8484
8485 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8486
8487         * callint.c: Remove multiply defined symbol Qlet
8488         (syms_of_callint): ditto.
8489
8490 2000-04-14  Andy Piper  <andy@xemacs.org>
8491
8492         * general.c (syms_of_general): add last-command, this-command, let
8493         and funcall.
8494
8495         * lisp.h: declare various symbols.
8496
8497         * glyphs.h: declare Qwidget_callback_current_channel;
8498
8499         * glyphs-widget.c (syms_of_glyphs_widget): add
8500         Qgui_callback_current_channel.
8501         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8502
8503         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8504         widget-callback-current-channel when invoking the interactive
8505         arg. Also bind last-command and next-command when invoking the
8506         widget updates.
8507         * gui-x.c (popup_selection_callback): ditto.
8508
8509         * gui.c (get_gui_callback): massage args so that we are always
8510         calling eval. This allows us to add our own variable bindings
8511         outside.
8512
8513         * glyphs-x.c (x_button_instantiate): use
8514         gui_items_to_widget_values since this is GC safe.
8515         (x_progress_gauge_instantiate): ditto.
8516         (x_edit_field_instantiate): ditto.
8517         (x_label_instantiate): ditto.
8518
8519         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8520         (emacs_Xt_event_widget_focus_out): new function
8521         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8522         focus.
8523         (emacs_Xt_event_add_widget_actions): new function. add focus
8524         functions as actions.
8525         (init_event_Xt_late): use it.
8526
8527 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8528
8529         * event-stream.c (Fdispatch_event): Doc fix.
8530
8531 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8532
8533         * postgresql.c: Remove all references to PQsetenv*.
8534
8535         * postgresql.h: Remove references to PGsetenvHandler object.
8536         * lrecord.h (lrecord_type): Ditto.
8537
8538 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8539
8540         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8541         real_heigh and real_width members, and accessor macros for these.
8542
8543         * glyphs-msw.c (init_image_instance_geometry): New function.
8544         (init_image_instance_from_dibitmap): Use it.
8545         (mswindows_resource_instantiate): Use it.
8546         (init_image_instance_from_xbm_inline): Use it.
8547         (mswindows_initialize_image_instance_mask): Use real bitmap
8548         geometry.
8549         (mswindows_create_resized_bitmap): Ditto.
8550         (mswindows_create_resized_mask): Ditto.
8551
8552         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8553         and bitmap to their surface size.
8554
8555 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8556
8557         * process-unix.c (unix_send_process): Guard against process MIA
8558         after Faccept_process_output.
8559
8560 2000-04-11  Ben Wing  <ben@xemacs.org>
8561
8562         * eval.c (unbind_to_hairy): fix brokenness introduced by
8563         nanosecond speed improvements.
8564
8565 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8566
8567         * sunplay.c (init_device): To play sounds correctly, the device
8568         apparently needs to be initialized at least once by XEmacs.  Make
8569         it so.
8570
8571 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8572
8573         * redisplay.c (add_margin_runes): Add text image glyph
8574           handling.
8575
8576 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8577
8578         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8579         gcc is newer than 2.5.
8580
8581 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8582
8583         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8584
8585         * fns.c (size_bit_vector):
8586         * alloc.c (size_vector):
8587         (make_vector_internal):
8588         (make_bit_vector_internal):
8589         (sweep_bit_vectors_1):
8590         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
8591
8592 2000-04-06  Andy Piper  <andy@xemacs.org>
8593
8594         * gmalloc.c (malloc): undo previous change.
8595         (malloc): ditto.
8596         (free): ditto.
8597         (realloc): ditto.
8598
8599 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
8600
8601         * line-number.c (buffer_line_number): Revert to former version.
8602
8603 2000-04-06  Andy Piper  <andy@xemacs.org>
8604
8605         * gmalloc.c (malloc): add error checking.
8606         (malloc): ditto.
8607         (free): ditto.
8608         (realloc): ditto.
8609
8610         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
8611         button_item_to_widget_value arg.
8612
8613         * glyphs-x.c (x_button_instantiate): add extra
8614         button_item_to_widget_value arg.
8615         (x_progress_gauge_instantiate): ditto.
8616         (x_edit_field_instantiate): ditto.
8617         (x_label_instantiate): ditto.
8618
8619         * gui-x.c (gui_items_to_widget_values_1): add extra
8620         button_item_to_widget_value arg.
8621         (button_item_to_widget_value): add extra menu_item_p arg.
8622
8623         * gui-x.h: change signature of button_item_to_widget_value.
8624
8625         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
8626         button_item_to_widget_value arg.
8627
8628 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8629
8630         * buffer.h (struct buffer): auto_save_modified should be long.
8631
8632 2000-04-05  Andy Piper  <andy@xemacs.org>
8633
8634         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
8635         type.
8636         (button_query_geometry): give a little more room so that athena
8637         buttons fit.
8638
8639 2000-04-05  Andy Piper  <andy@xemacs.org>
8640
8641         * faces.c (complex_vars_of_faces): The widget face should inherit
8642         the font of the gui-element face.
8643
8644 2000-04-04  Andy Piper  <andy@xemacs.org>
8645
8646         * glyphs-x.c (x_button_update): new function. unconditionally
8647         update a button's state when the instance is dirty.
8648         (image_instantiator_format_create_glyphs_x): add x_button_update.
8649         (x_widget_instantiate): remove old resize cruft.
8650
8651 2000-04-02  Andy Piper  <andy@xemacs.org>
8652
8653         * frame.c (change_frame_size_1): The introduction of gutters means
8654         that we need to allow 0 as a potential frame dimension.
8655
8656 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8657
8658         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
8659         image glyph if allow_cursor.
8660         (add_hscroll_rune): Don't allow cursor to border glyph.
8661         (create_text_block): Ditto.
8662
8663         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
8664         text not in buffer.
8665         (redisplay_output_layout): Call ensure_face_cachel_complete for
8666         text image glyph.
8667
8668
8669 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8670
8671         * redisplay.c (add_glyph_rune): Adding text image as text runes.
8672
8673         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
8674         not in buffer
8675
8676         * redisplay-tty.c (tty_output_display_block): Delete the routine
8677         for text image glyph
8678         * redisplay-x.c (x_output_display_block): ditto
8679         * redisplay-msw.c (mswindows_output_display_block): ditto
8680
8681 2000-02-02  Mike Alexander  <mta@arbortext.com>
8682
8683         Note: Some of these were committed by accident as part of other
8684         patches.
8685
8686         * regex.c (regex_compile): Avoid compiler warnings.
8687
8688         * ntproc.c (sys_spawnve): Avoid compiler warnings.
8689
8690         * nt.h: Declare term_ntproc correctly.
8691
8692         * nt.c: Remove incorrect declaration of get_home_directory which
8693         is declared correctly in lisp.h.
8694
8695         * keymap.c (get_keyelt): Avoid compiler warnings.
8696         (raw_lookup_key_mapper): Avoid compiler warnings.
8697
8698         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
8699
8700         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
8701
8702         * filemode.c (mode_string): Avoid compiler warnings.
8703
8704         * file-coding.c (Fcoding_system_aliasee): Add return statement to
8705         avoid warning.
8706
8707         * events-mod.h: Undef some things that winuser.h defines differently.
8708
8709         * data.c (Faset): Avoid compiler warnings.
8710
8711         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
8712
8713 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8714
8715         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
8716         Fall through to simple beep on error.
8717         Replace "extern" by real header file.
8718
8719         * linuxplay.c: Use nativesound.h
8720         (play_sound_data): Return error code. Be less verbose on error.
8721
8722         * sunplay.c: Use nativesound.h
8723         (play_sound_data): Return error code. Be less verbose on error.
8724
8725         * ntplay.c: Use nativesound.h
8726         (play_sound_data): Return fake error code
8727
8728         * sgiplay.c: Use nativesound.h
8729         (play_sound_data): Return error code
8730
8731         * hpplay.c: Use nativesound.h, partially implement
8732         new error code. Break compilation until finished.
8733         (play_sound_data): error code.
8734
8735         * nativesound.h (play_sound_file):
8736           (play_sound_data): Prototype in new header.
8737
8738 2000-03-31  Andy Piper  <andy@xemacs.org>
8739
8740         * glyphs-widget.c: (button_query_geometry): new function. Adjust
8741         for toggle and radio buttons.
8742         (image_instantiator_buttons): use it.
8743
8744 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8745
8746         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
8747         (x_update_horizontal_scrollbar_callback): Return if no mirror was
8748         found. Scrollbar event probably belonged to some old config.
8749
8750 2000-03-31  Andy Piper  <andy@xemacs.org>
8751
8752         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
8753         than 1.
8754         (initialize_widget_image_instance): default layout to
8755         LAYOUT_HORIZONTAL rather than 0.
8756         (widget_instantiate): reverse the item list at the end rather than
8757         every iteration.
8758         (layout_layout): re-code for the border text at the front of the
8759         item list rather than at the end.
8760         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
8761         provided by the user.
8762         (widget_query_geometry): comment.
8763
8764 2000-03-30  Andy Piper  <andy@xemacs.org>
8765
8766         * glyphs-widget.c (image_instantiator_layout): allow standard
8767         widget keywords in layouts.
8768
8769         * gutter.c (output_gutter): cope with nil gutter contents.
8770
8771         * frame.c (Fset_frame_properties): add gutter docs.
8772
8773 2000-03-29  Andy Piper  <andy@xemacs.org>
8774
8775         * toolbar-msw.c (TBSTYLE_FLAT): add.
8776         (mswindows_output_toolbar): minor fiddling.
8777
8778 2000-03-29  Andy Piper  <andy@xemacs.org>
8779
8780         * gutter.c (output_gutter): force gutter size recalculation if
8781         what we are trying to display won't fit.
8782         (update_gutter_geometry): new function. A per-gutter version of
8783         update_frame_gutter_geometry.
8784         (update_frame_gutter_geometry): use it.
8785         (redraw_exposed_gutter): add extra debugging output.
8786
8787 2000-03-28  Mike Alexander  <mta@arbortext.com>
8788
8789         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
8790         (pdump_file_unmap): Implement it on Windows
8791         (pdump_file_get): Save alocated handles for pdump_file_unmap
8792
8793 2000-03-28  Andy Piper  <andy@xemacs.org>
8794
8795         * gui.c (get_gui_callback): treat Quit specially.
8796
8797 2000-03-27  Andy Piper  <andy@xemacs.org>
8798
8799         * glyphs.c (image_instantiate): be careful to check in the same
8800         way we assigned.
8801
8802 2000-03-27  Didier Verna  <didier@xemacs.org>
8803
8804         * config.h.in: define the proper SMART_INCLUDE macro.
8805         handle renaming of `foo_h_path' to `foo_h_file'.
8806
8807         * database.c: ditto.
8808
8809         * emacs.c: ditto.
8810
8811         * linuxplay.c: ditto.
8812
8813         * terminfo.c: ditto.
8814
8815         * tooltalk.h: ditto.
8816
8817 2000-03-27  Andy Piper  <andy@xemacs.org>
8818
8819         * glyphs-msw.c (mswindows_update_widget): make sure the widget
8820         gets updated whenever the face might have changed.
8821
8822 2000-03-26  Mike Alexander  <mta@arbortext.com>
8823
8824         * dumper.c (pdump_resource_free): Fix the comment.
8825
8826 2000-03-21  Olivier Galibert  <galibert@pobox.com>
8827
8828         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
8829
8830 2000-03-22  Mike Alexander  <mta@arbortext.com>
8831
8832         * dumper.c: Include Windows headers on Windows
8833         (pdump_resource_free): Add a body to the function
8834         (pdump_load): exe_name -> exe_path and add some comments.
8835
8836 2000-03-25  Mike Alexander  <mta@arbortext.com>
8837
8838         * gui.c (copy_gui_item_tree): Return a value in all cases
8839
8840 2000-03-21  Didier Verna  <didier@xemacs.org>
8841
8842         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
8843         lwlib/config.h.in.
8844         (SMART_INCLUDE): new macro.
8845         (POSTGRES_INCLUDE): new macro to include postgresql headers from
8846         the proper location.
8847
8848         * postgresql.c: use it.
8849
8850         * inline.c: ditto.
8851
8852 2000-03-24  Andy Piper  <andy@xemacs.org>
8853
8854         * gutter.c (redraw_exposed_gutters): must be "in display" when we
8855         do this.
8856
8857 2000-03-24  Andy Piper  <andy@xemacs.org>
8858
8859         * redisplay-output.c (compare_runes): use image_instance_changed
8860         to detect changes. Do not depend on glyphs_changed, only depend on
8861         dirtiness.
8862          (redisplay_output_layout): add debug messages.
8863         (compare_runes): ditto.
8864
8865         * glyphs.h: declare new functions.
8866         (struct Lisp_Image_Instance): remove percent and associated
8867         accessors.
8868
8869         * gui.h: declare new copying functions.
8870
8871         * gui.c (copy_gui_item_tree): new function.
8872         (copy_gui_item): new function.
8873         (gui_item_id_hash): revert to standard hash.
8874         (gui_item_hash): ditto.
8875         (gui_item_hash_internal): deleted.
8876         (mark_gui_item): mark value.
8877         (gui_item_add_keyval_pair): add value.
8878         (gui_item_init): ditto.
8879         (gui_add_item_keywords_to_plist): ditto.
8880         (gui_item_equal): ditto.
8881         (syms_of_gui): add Q_value.
8882
8883         * glyphs-x.c (x_progress_gauge_update): use pending items and
8884         value for setting the state.
8885         (x_update_widget): don't set items from pending here.
8886
8887         * glyphs-widget.c (update_widget): update items here.
8888         (progress_gauge_set_property): use items for storing value. Put
8889         new value in pending items.
8890
8891         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
8892         items for new value. Convert percent -> value.
8893         (mswindows_tab_control_update): don't update items here.
8894
8895         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
8896         (update_subwindow): ditto.
8897         (image_instance_changed): new function. Compare hash values and
8898         past and present widget items.
8899         (image_instantiate): We more careful about where we instantiate
8900         things.
8901         (image_instantiate): add error checking.
8902
8903         * gutter.c (syms_of_gutter): use -hook.
8904
8905 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
8906
8907         * console-tty.c (Fset_console_tty_input_coding_system): Use
8908         Qkeyboard.
8909         (Fset_console_tty_output_coding_system): Use Qterminal.
8910         (tty_init_console): Use Qkeyboard and Qterminal.
8911
8912 2000-03-21  Ben Wing  <ben@xemacs.org>
8913
8914         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
8915         From Mike Alexander <mta@arbortext.com>.
8916
8917 2000-03-21  Ben Wing  <ben@xemacs.org>
8918
8919         * event-msw.c (mswindows_need_event): Horrible kludge to fix
8920         process brokenness.  Proper implementation to come.
8921         * callproc.c:
8922         Rename call-process-internal to old-call-process-internal.
8923         New impl. in process.el.
8924
8925 2000-03-21  Martin Buchholz  <martin@xemacs.org>
8926
8927         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
8928
8929 2000-03-20  Andy Piper  <andy@xemacs.org>
8930
8931         * glyphs.c (full_list_hash): make hashes of the same elements in
8932         different orders return different values.
8933
8934 2000-03-20  Martin Buchholz <martin@xemacs.org>
8935
8936         * XEmacs 21.2.32 is released.
8937
8938 2000-03-20  Martin Buchholz  <martin@xemacs.org>
8939
8940         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
8941         (DFC_MALLOC_USE_CONVERTED_DATA):
8942         Add aliasing-safe casts to allow use with char* or unsigned char*
8943         lvalues.
8944
8945         * eldap.c (Fldap_open):
8946         (Fldap_search_basic):
8947         (Fldap_add):
8948         (Fldap_modify):
8949         Make C++-compilable.
8950         Make sure GCPRO'ed variables are initialized.
8951         Use temp variables to avoid repeated calls to Flength.
8952
8953 2000-03-16  Martin Buchholz  <martin@xemacs.org>
8954
8955         * sysfile.h:
8956         Make sure PATH_MAX is always defined.
8957         Include limits.h for PATH_MAX.
8958         Deprecate use of MAXPATHLEN.
8959
8960 2000-03-10  Martin Buchholz  <martin@xemacs.org>
8961
8962         * emacs.c: Add reinit_vars_of_fileio.
8963         * symsinit.h: Add reinit_vars_of_fileio.
8964         * fileio.c (reinit_vars_of_fileio): New.
8965         * fileio.c (Fmake_temp_name):
8966         Initialize temp_name random number from microseconds to make
8967         collisions even less likely.  Initialize always at process startup
8968         time.  (make-temp-name) used to return the same file name twice in
8969         a row when PDUMP.
8970         Random stylistic fiddling.
8971         Comment fixes.
8972
8973 2000-03-20  Andy Piper  <andy@xemacs.org>
8974
8975         * glyphs.c (image_instantiate): allow text glyphs to be
8976         instantiated in the minibuffer window.
8977
8978 2000-03-19  Andy Piper  <andy@xemacs.org>
8979
8980         * glyphs.c (image_instance_hash): be careful about which items we
8981         hash on.
8982
8983         * glyphs-widget.c (tab_control_set_property): record into pending
8984         items rather than the actual items.
8985
8986         * glyphs-x.c (x_update_widget): use pending items to update with.
8987
8988         * glyphs-msw.c (mswindows_tab_control_update): use pending items
8989         to update with.
8990
8991         * glyphs.c (mark_image_instance): mark pending items.
8992
8993         * window.c (Fset_window_configuration): record the buffer.
8994         (Fselect_window): totally revert previous change which breaks many
8995         things.
8996
8997 2000-03-18  Andy Piper  <andy@xemacs.org>
8998
8999         * glyphs-msw.c (mswindows_tab_control_update): force selected
9000         item.
9001
9002         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9003         window domain cache, otherwise we get inconsistencies at
9004         startup. There is something fishy at startup which can lead to the
9005         minibuffer being the selected window when the gutter content is
9006         instantiated.
9007
9008         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9009         gcpros.
9010         (parse_gui_item_tree_children): ditto.
9011         (parse_gui_item_tree_item): ditto.
9012
9013         * glyphs.c (Fupdate_widget_instances): return something.
9014
9015 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9016
9017         * window.c (Fselect_window): Undo 2000-03-17 change.
9018
9019 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9020
9021         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9022         against v7.0 libraries.  Insta-coredump city until the postgres
9023         folks fix it.
9024
9025 2000-03-17  Andy Piper  <andy@xemacs.org>
9026
9027         * faces.c (complex_vars_of_faces): don't give the widget face an
9028         inherited background pixmap.
9029
9030         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9031         selected item.
9032
9033         * event-stream.c (Fdispatch_non_command_events): return something.
9034
9035         * gutter.c (output_gutter): use widget face.
9036         (clear_gutter): ditto.
9037
9038         * NEWS: adjust again.
9039
9040         * window.c (Fselect_window): make sure this runs to completion to
9041         avoid oddities with Fset_window_configuration.
9042         (Fcurrent_window_configuration): in general do not save the
9043         minibuffer as the selected window.
9044
9045         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9046
9047 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9048
9049         * emacs.c (Frunning_temacs_p): Revert previous patch.
9050         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9051
9052 2000-03-16  Andy Piper  <andy@xemacs.org>
9053
9054         * glyphs-x.c (x_tab_control_update): if no widget values then
9055         return.
9056
9057         * NEWS: update for new features.
9058
9059         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9060         synthetic event to the native system.
9061         (reinit_vars_of_event_Xt): set force_event_pending to
9062         emacs_Xt_force_event_pending.
9063
9064         * events.h (struct event_stream): add force_event_pending.
9065
9066         * specifier.c (recompute_one_cached_specifier_in_window): add
9067         comment.
9068
9069         * redisplay.c (redisplay_frame): don't call
9070         update_frame_subwindows. Reset subwindow cachels when
9071         subwindows_changed, removing this was an optimization too far.
9072
9073         * redisplay-output.c (compare_runes): reorganize so that we catch
9074         glyph changes when we want them. Set optimize_output when this
9075         would help layouts.
9076         (redisplay_output_layout): remove frame_really_changed, use
9077         optimize_output instead.
9078
9079         * redisplay-msw.c (mswindows_output_display_block): reset
9080         optimize_output after outputting a glyph.
9081         * redisplay-x.c (x_output_display_block): ditto.
9082         * redisplay-tty.c (tty_output_display_block): ditto.
9083
9084         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9085         functions.
9086         (gutter_specs_changed): do specific gutter positions.
9087         (top_gutter_specs_changed): new function. Only update the
9088         specified gutter specs.
9089         (bottom_gutter_specs_changed): ditto.
9090         (left_gutter_specs_changed): ditto.
9091         (right_gutter_specs_changed): ditto.
9092
9093         * gui.c (gui_item_hash_internal): new function, does a real hash.
9094         (gui_item_id_hash): use it.
9095         (gui_item_hash): hash the eval'ed gui_item.
9096
9097         * gui-x.c (popup_selection_callback): send an eval event to call
9098         Fupdate_widget_instances.
9099
9100         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9101         to call Fupdate_widget_instances.
9102
9103         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9104         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9105
9106         * glyphs.c: (update_frame_subwindows): deleted.
9107         (Fupdate_widget_instances): new function for updating the dirty
9108         state of widgets that might have changed.
9109         (syms_of_glyphs): add Qupdate_widget_instances.
9110         (full_list_hash): hash a list completely.
9111         (image_instance_hash): use it for items and properties.
9112
9113         * frame-msw.c (mswindows_size_frame_internal): remove unused
9114         variable.
9115
9116         * faces.h (struct face_cachel): fix comment.
9117
9118         * event-stream.c (Fdispatch_non_command_events): new
9119         function. Process non-command events, forcing an event cycle
9120         beforehand.
9121         (syms_of_event_stream): declare.
9122         (event_stream_force_event_pending): new function. Force an event
9123         on the native event queue so that an event cycle will occur next
9124         time we check.
9125
9126         * event-msw.c:
9127         (struct ntpipe_shove_stream):
9128         (mswindows_enqueue_dispatch_event):
9129         (mswindows_dequeue_dispatch_event):
9130         (mswindows_cancel_dispatch_event):
9131         (mswindows_pump_outstanding_events):
9132         (mswindows_drain_windows_queue):
9133         (mswindows_handle_paint):
9134         (mswindows_wnd_proc):
9135         (mswindows_key_to_emacs_keysym):
9136         (get_process_input_waitable):
9137         (emacs_mswindows_delete_stream_pair): re-indent file.
9138         (mswindows_need_event): do not process further fds if the windows
9139         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9140         fixes the 100% cpu problem.
9141         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9142
9143 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9144
9145         * alloc.h: New.
9146         * dumper.h: New.
9147         * dumper.c: New.
9148
9149         * emacs.c: Moved dump file searching to dumper.c.
9150         (Frunning_temacs_p): Fixed.
9151
9152         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9153         last_lrecord_type_index_assigned.
9154
9155 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9156
9157         * symsinit.h: Added reinit parameter to init_console_stream
9158         declaration.
9159
9160         * lisp.h: Added file parameter to pdump_load declaration.
9161
9162         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9163         support.  Added dump file searching.
9164
9165         * config.h.in: Added EMACS_PROGNAME.
9166
9167         * console-stream.c (init_console_stream): Fix reinitialisation
9168         when running from temacs.
9169
9170         * alloc.c (pdump): Add id support.
9171         (pdump_load): Add file parameter and signature/id support.
9172
9173         * Makefile.in.in: Add full pdump support.
9174
9175 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9176
9177         * postgresql.c: Update documentation to reflect latest code
9178         status.
9179         (print_result): Show tuple counts in printed representation when
9180         appropriate.
9181         (Fpq_put_nbytes): MULE-ize.
9182         (Fpq_get_line_async): Ditto.
9183
9184 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9185
9186         * postgresql.c (Fpq_lo_import): Fix return value.
9187         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9188
9189 2000-03-13  Ben Wing  <ben@xemacs.org>
9190
9191         * alloc.c (pdump_load):
9192         Fix compile warning under mswin.
9193
9194 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9195
9196         * postgresql.c: Mule-ization, bug fixes.
9197         Use PG_CODING to encapsulate coding system name changes.
9198         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9199         (pg-coding-system): Create.
9200
9201         (Fpq_conn_defaults): Mule-ize.
9202         (Fpq_connectdb): Mule-ize & bug fix.
9203         (Fpq_connect_start): Mule-ize.
9204         (Fpq_set_client_encoding): Mule-ize.
9205         (Fpq_finish): Document `DEAD' connection status.
9206         (Fpq_clear): Ditto.
9207         (Fpq_pgconn): Mule-ize.
9208         (Fpq_exec): Mule-ize & bug fix.
9209         (Fpq_send_query): Ditto.
9210         (Fpq_get_result): Ditto.
9211         (Fpq_res_status): Mule-ize.
9212         (Fpq_result_error_message): Mule-ize.
9213         (Fpq_ntuples): fix comments.
9214         (Fpq_fname): Mule-ize.
9215         (Fpq_fnumber): Mule-ize.
9216         (Fpq_ftype): fix comments.
9217         (Fpq_get_value): Mule-ize.
9218         (Fpq_cmd_status): Ditto.
9219         (Fpq_cmd_tuples): Ditto.
9220         (Fpq_oid_value): Ditto.
9221         (Fpq_notifies): Ditto.
9222         (Fpq_lo_import): Ditto.
9223         (Fpq_lo_export): Ditto.
9224         (Fpq_get_line): Ditto.
9225         (Fpq_put_line): Mule-ize and bug fix.
9226         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9227
9228 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9229
9230         * postgresql.c (vars_of_postgresql): Mule-ize.
9231         (Fpq_conn_defaults): Ditto.
9232
9233 2000-03-12  Ben Wing  <ben@xemacs.org>
9234
9235         * alloc.c (Fmake_byte_code):
9236         * alloc.c (debug_string_purity_print):
9237         * alloc.c (pdump_backtrace):
9238         * alloc.c (pdump_get_indirect_count):
9239         * alloc.c (pdump_register_sub):
9240         * alloc.c (pdump_register_object):
9241         * alloc.c (pdump_register_struct):
9242         * alloc.c (pdump_dump_data):
9243         * alloc.c (pdump_reloc_one):
9244         Minor cleanups.
9245
9246         * console-msw.c:
9247         * console-msw.c (GetConsoleHwnd):
9248         * console-msw.c (msw_hide_console):
9249         * console-msw.c (msw_show_console):
9250         * console-msw.c (msw_ensure_console_buffered):
9251         * console-msw.c (msw_output_console_string):
9252         * console-msw.c (console_type_create_mswindows):
9253
9254         a) Added functions to manipulate the console window for use with
9255         shell support.
9256
9257         b) Added support for writing text to the console, which is now
9258         used under Windows when xemacs is not being run non-interactively,
9259         to write text that would otherwise be destined for stdout because
9260         under these circumstances, text written to stdout tends to
9261         disappear and not be seen.
9262
9263         * console-msw.h:
9264         * event-Xt.c:
9265         * event-Xt.c (x_event_to_emacs_event):
9266         * event-Xt.c (describe_event_window):
9267         * events-mod.h (XEMACS_MOD_CONTROL):
9268         * events.c:
9269         * events.c (Fmake_event):
9270         * events.c (character_to_event):
9271         * events.c (event_to_character):
9272         * events.c (format_event_object):
9273         * events.c (Fevent_modifiers):
9274         * events.h:
9275         * events.h (struct key_data):
9276         * events.h (struct button_data):
9277         * events.h (struct misc_user_data):
9278         * frame-x.c (Fcde_start_drag_internal):
9279         * frame-x.c (Foffix_start_drag_internal):
9280         * gpmevent.c (Freceive_gpm_event):
9281         * keymap.c:
9282         * keymap.c (bucky_sym_to_bucky_bit):
9283         * keymap.c (control_meta_superify):
9284         * keymap.c (make_key_description):
9285         * keymap.c (keymap_lookup_directly):
9286         * keymap.c (create_bucky_submap):
9287         * keymap.c (keymap_store):
9288         * keymap.c (define_key_check_and_coerce_keysym):
9289         * keymap.c (define_key_parser):
9290         * keymap.c (define_key_alternate_name):
9291         * keymap.c (Fdefine_key):
9292         * keymap.c (raw_lookup_key_mapper):
9293         * keymap.c (struct map_keymap_unsorted_closure):
9294         * keymap.c (map_keymap_unsorted_mapper):
9295         * keymap.c (map_keymap_sort_predicate):
9296         * keymap.c (map_keymap_sorted):
9297         * keymap.c (accessible_keymaps_mapper_1):
9298         * keymap.c (where_is_recursive_mapper):
9299         * keymap.c (describe_map_mapper):
9300         * keymap.c (describe_map_sort_predicate):
9301         * keymap.c (describe_map):
9302         * keymap.c (complex_vars_of_keymap):
9303         And a number of other files, the key modifier preprocessor
9304         constants that xemacs uses have names that conflict with constants
9305         defined under MS Windows for other purposes, so they were renamed
9306         to begin with the prefix XEMACS_. The variables that hold such
9307         modifiers were changed to consistently be of type int to fix
9308         various compile warnings.
9309
9310         * console.c (complex_vars_of_console):
9311         * device.c:
9312         * device-msw.c:
9313         * device-msw.c (mswindows_finish_init_device):
9314         * device-msw.c (msw_get_workspace_coords):
9315         * device-msw.c (mswindows_device_system_metrics):
9316         and various other files, added support for a new
9317         device property called offset-workspace which returns the position
9318         of the upper left corner of the workspace area and goes along with
9319         the existing size-workspace property.
9320
9321         * dialog-msw.c:
9322         * dialog-msw.c (push_bufbyte_string_as_unicode):
9323         * dialog-msw.c (mswindows_popup_dialog_box):
9324         Added support for XEmacs-style accelerator specifications in
9325         button text.  Note: I didn't add support for this under X Windows,
9326         and somebody needs to do this.
9327
9328         * dialog.c:
9329         * dialog.c (Fpopup_dialog_box):
9330         Documented the support for accelerators that was just mentioned.
9331
9332         editfns.c (get_home_directory): Changed behavior under Windows
9333         when HOME not defined; former behavior was irretrievably broken.
9334
9335         * emacs.c:
9336         * emacs.c (main_1):
9337         * emacs.c (main):
9338         * minibuf.c (clear_echo_area_internal):
9339         * minibuf.c (echo_area_append):
9340         * print.c:
9341         * print.c (std_handle_out_external):
9342         * print.c (std_handle_out_va):
9343         * print.c (fatal):
9344         * print.c (write_string_to_stdio_stream):
9345         * print.c (output_string):
9346         * print.c (debug_print):
9347         * print.c (debug_backtrace):
9348         * print.c (debug_short_backtrace):
9349         Cleaned up the code that prints text to stdout so that this can be
9350         changed to output into a console window instead under MS Windows,
9351         as described above.
9352
9353         * eval.c:
9354         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9355         * eval.c (internal_catch):
9356         * eval.c (unwind_to_catch):
9357         * eval.c (throw_or_bomb_out):
9358         * eval.c (condition_case_1):
9359         * eval.c (signal_1):
9360         * eval.c (check_error_state_sanity):
9361         * eval.c (call_with_suspended_errors_1):
9362         * eval.c (call_with_suspended_errors):
9363         * eval.c (reinit_vars_of_eval):
9364         Added code to catch throw loops and check for a pesky bug that may
9365         be gone now.
9366
9367         * event-msw.c:
9368         * event-msw.c (key_needs_default_processing_p):
9369         * event-msw.c (mswindows_wnd_proc):
9370         * event-msw.c (mswindows_modifier_state):
9371         * event-msw.c (emacs_mswindows_quit_p):
9372         * event-msw.c (vars_of_event_mswindows):
9373         a) Added support for using the alt key to select menu items as is
9374         standard under MS Windows.  This is controlled using the variable
9375         menu-accelerator-enabled, just like under X Windows.  There is an
9376         option on the options menu to turn this support on.  I really
9377         think that it should be on by default under Windows, but I'm not
9378         going to make this change yet.
9379
9380         b)  Added support for dynamic display size changes under Windows.
9381
9382         * event-stream.c:
9383         * event-stream.c (maybe_echo_keys):
9384         * event-stream.c (Fnext_event):
9385         * event-stream.c (command_builder_find_leaf):
9386         * event-stream.c (lookup_command_event):
9387         * event-stream.c (execute_command_event):
9388         * event-stream.c (pre_command_hook):
9389         * event-stream.c (post_command_hook):
9390         * event-stream.c (syms_of_event_stream):
9391         * event-stream.c (vars_of_event_stream):
9392         * event-stream.c (complex_vars_of_event_stream):
9393         * events.h (struct command_builder):
9394
9395         a) Tried to clean up a little bit the horribly written x-specific
9396         accelerator code that crept into this file.  I moved this code
9397         into menubar-x.c where it belongs. I also needed to move the
9398         command builder structure into the file events.h because it is
9399         accessed directly by this accelerator code.  What I didn't do, but
9400         which should be done at some point, is to properly abstract this
9401         code using device methods instead of the kludgy way that it
9402         currently hooks into the event code.
9403
9404         b) Added the lisp variables this-command-properties and
9405         last-command- properties, which should be used to synchronize two
9406         adjacent commands in preference to playing games with the variable
9407         this-command, which is typically what happens.
9408
9409         c) Added some slightly nasty code to hook into the lisp support
9410         for shifted- motion-key selection.  This is actually necessary for
9411         somewhat complicated reasons, which are described in
9412         simple.el. (NB: I think the proper thing would be to have the code
9413         that calls the pre and post command hooks also call out to generic
9414         lisp functions in simple.el, where all built-in stuff could be
9415         added.  I will think about this more.)
9416
9417         * event-unixoid.c (poll_fds_for_input):
9418         * lread.c (readchar):
9419         * redisplay-tty.c (tty_clear_frame):
9420         * redisplay-x.c (x_get_gc):
9421         * signal.c (interrupt_signal):
9422         And a whole bunch of other files: fixed up places that printed
9423         directly to stderr to instead call the function stderr_out so that
9424         the changes I made under Windows work correctly.
9425
9426         * filemode.c (mode_string):
9427         Warning fixes.
9428
9429         * frame-msw.c:
9430         * frame-msw.c (mswindows_size_frame_internal):
9431         Fixed the computation of frame size and position to keep the frame
9432         within the workspace area, rather than within the physical
9433         dimensions of the screen, so that the frame doesn't overlap window
9434         manager decorations, such as the start menu and toolbar, typically
9435         at the bottom of the screen.
9436
9437         * frame.c (vars_of_frame):
9438         Changed the default frame title format under MS Windows to consist
9439         of buffername-XEmacs, which is standard under MS Windows.  I think
9440         it might be a good idea to change this everywhere because I think
9441         it is superior to the current frame title format, but this is the
9442         kind of change that is likely to cause some people to get annoyed,
9443         so I'm not making it.
9444
9445         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9446
9447         * gui-msw.c (mswindows_handle_gui_wm_command):
9448         Fixed compile warnings.
9449
9450         * gui-x.c:
9451         * gui-x.c (strdup_and_add_accel):
9452         * gui-x.c (button_item_to_widget_value):
9453         * gui-x.h:
9454         Added code to automatically put an accelerator onto the beginning
9455         of menu items that don't have one as is now the standard, and is
9456         described more later.  Also fixed things so that the menu item
9457         name can be an evaluated expression, again a new standard.
9458
9459         * gui.c:
9460         * gui.c (gui_item_add_keyval_pair):
9461         * gui.c (make_gui_item_from_keywords_internal):
9462         * gui.c (gui_add_item_keywords_to_plist):
9463         * gui.c (gui_item_accelerator):
9464         * gui.c (gui_name_accelerator):
9465         * gui.c (gui_item_included_p):
9466         * gui.c (gui_item_display_flush_left):
9467         * gui.c (gui_item_display_flush_right):
9468         * gui.c (parse_gui_item_tree_item):
9469         * gui.c (parse_gui_item_tree_children):
9470         * gui.c (parse_gui_item_tree_list):
9471         Mule-ized.  Cleanup.  GCPRO addition.
9472
9473         * line-number.c (buffer_line_number):
9474         * lisp.h:
9475         * lisp.h (EMACS_INT_MAX):
9476         Added the manifest constant EMACS_INT_MIN corresponding to the
9477         existing constant EMACS_INT_MAX.  This is partially to fix compile
9478         warnings under Windows, and partly for cleanliness.
9479
9480         * menubar-msw.c:
9481         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9482         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9483         * menubar-msw.c (displayable_menu_item):
9484         * menubar-msw.c (populate_menu_add_item):
9485         * menubar-msw.c (populate_or_checksum_helper):
9486         * menubar-msw.c (populate_menu):
9487         * menubar-msw.c (update_frame_menubar_maybe):
9488         * menubar-msw.c (prune_menubar):
9489         * menubar-msw.c (msw_char_is_accelerator):
9490         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9491         * menubar-msw.c (mswindows_handle_wm_command):
9492         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9493         * menubar-msw.c (mswindows_handle_wm_initmenu):
9494         * menubar-msw.c (mswindows_update_frame_menubars):
9495         * menubar-msw.c (mswindows_free_frame_menubars):
9496         * menubar-msw.c (mswindows_popup_menu):
9497         Fixed a bug in handling accelerators where an extra character
9498         would be displayed in the menu item.  Also generalized the
9499         function displayable_menu_item because it is now used by the
9500         dialog box code as well.  And finally, added code in the functions
9501         that create the menubar to extract a list of accelerators for the
9502         top level menubar, which is used in the event code to determine
9503         whether a particular alt-key combination should be used to invoke
9504         a menu item, or should be passed through to access the standard
9505         XEmacs keymap binding for this key combination.
9506
9507         Much needed GCPROing.
9508
9509         * menubar-x.c:
9510         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9511         * menubar-x.c (menu_item_descriptor_to_widget_value):
9512         * menubar-x.c (restore_in_menu_callback):
9513         * menubar-x.c (x_popup_menu):
9514         * menubar-x.c (menu_move_up):
9515         * menubar-x.c (menu_move_down):
9516         * menubar-x.c (menu_move_left):
9517         * menubar-x.c (menu_move_right):
9518         * menubar-x.c (menu_select_item):
9519         * menubar-x.c (command_builder_operate_menu_accelerator):
9520         * menubar-x.c (menu_accelerator_junk_on_error):
9521         * menubar-x.c (command_builder_find_menu_accelerator):
9522         * menubar-x.c (Faccelerate_menu):
9523         * menubar.h:
9524         Moved a whole bunch of code here that was previously in
9525         event-stream.c as described above.  There is also code connected
9526         to the new standard of adding an accelerator to the beginning of
9527         menu items that don't have one as described above and below.
9528
9529         * menubar.c:
9530         * menubar.c (menu_parse_submenu_keywords):
9531         * menubar.c (Fmenu_find_real_submenu):
9532         * menubar.c (Fnormalize_menu_item_name):
9533         * menubar.c (syms_of_menubar):
9534         * menubar.c (vars_of_menubar):
9535         * menubar.c (complex_vars_of_menubar):
9536
9537         a) Cleaned up a bunch of documentation and improved it.
9538
9539         b) XEmacs now automatically adds an accelerator onto the beginning
9540         of any menu items that don't have one.  I did this because there
9541         will inevitably be some menu items on the main menubar that don't
9542         have accelerators on them because the package that adds that
9543         particular menu item hasn't yet been fixed up to have accelerators
9544         in them and it looked rather strange to have some items with and
9545         some items without accelerators, especially since even in items
9546         without accelerators, you can, at least under windows, still
9547         access the item through an accelerator corresponding to the first
9548         character in the item's name.  If people don't like this behavior,
9549         I can add a variable to turn it off optionally, but I'm not sure
9550         this is a good idea because we really do need to have accelerators
9551         on all of the menu items, and if a package doesn't like the
9552         accelerators being put on the first character, then it should put
9553         the accelerators where they belong.
9554
9555         c) I made a behavior change, which is that the descriptor that
9556         specifies the text of the menu item, which formerly was just a
9557         string, can now also be an evaluated expression.  This makes this
9558         descriptor parallel with all of the others, which could also be
9559         evaluated expressions.  This also obviates the need for the
9560         keyword :label, which was previously listed in the documentation
9561         as unimplemented, and which was for the same purpose.
9562
9563         d) GCPROing.
9564
9565         * ntproc.c:
9566         * ntproc.c (new_child):
9567         * ntproc.c (sys_spawnve):
9568         * ntproc.c (find_child_console):
9569         * ntproc.c (sys_kill):
9570         Fixed compile warnings.  By the way, this file should really go
9571         away entirely, and this will happen as soon as Kirill makes his
9572         final round of process cleanups, which affect the function
9573         call-process.
9574
9575         * process-nt.c:
9576         * process-nt.c (struct nt_process_data):
9577         * process-nt.c (find_process_from_pid):
9578         * process-nt.c (send_signal_the_nt_way):
9579         * process-nt.c (enable_child_signals):
9580         * process-nt.c (find_child_console):
9581         * process-nt.c (send_signal_the_95_way):
9582         * process-nt.c (nt_finalize_process_data):
9583         * process-nt.c (ensure_console_window_exists):
9584         * process-nt.c (nt_create_process):
9585         * process-nt.c (nt_kill_child_process):
9586         * process-nt.c (nt_kill_process_by_pid):
9587         * process-nt.c (nt_open_network_stream):
9588         * process-nt.c (vars_of_process_nt):
9589         Copied over code from Emacs 20.5 to correctly send signals to sub-
9590         processes under Windows 95.  Also added code to automatically
9591         create and hide console window when a sub-process is created under
9592         Windows 95, which obviates the need for the separate runemacs.exe
9593         executable, and finally implemented some variables that were
9594         implemented in Emacs 20.5, but previously not in XEmacs.  These
9595         include mswindows- start-process-share-console and
9596         mswindows-start-process-inherit-error-mode. (Both of these only
9597         apply to Windows 95.)
9598
9599         * regex.c (regex_compile): Fixed a compile warning.
9600
9601         * select-msw.c:
9602         * select-msw.c (mswindows_own_selection):
9603         * select-msw.c (mswindows_get_foreign_selection):
9604         * select-msw.c (mswindows_disown_selection):
9605         * select-msw.c (console_type_create_select_mswindows):
9606         * select-msw.c (syms_of_select_mswindows):
9607         Cleaned up the file and implemented the device method
9608         selection_exists_p, which had accidentally been left out.  Also
9609         removed four lisp functions that were remnants from before the
9610         time when the selection code was properly device abstracted.
9611         These functions are no longer needed because there are generic
9612         equivalents, and because they were added recently and don't exist
9613         in FSF Emacs, I don't think there's any problem with just deleting
9614         them.
9615
9616         * sysdep.c:
9617         * sysdep.c (sys_subshell):
9618         Fixed a compile warning, although in this case there's probably
9619         something wrong with this code, and it ought to be looked into
9620         more thoroughly by somebody who understands it.
9621
9622         * window.c:
9623         * window.c (Fwindow_text_area_height):
9624         * window.c (Fwindow_width):
9625         * window.c (Fwindow_full_width):
9626         * window.c (Fwindow_pixel_width):
9627         * window.c (debug_print_window):
9628         * window.c (syms_of_window):
9629         Added functions window-text-area-height and window-full-width,
9630         which are functions for returning various width and height
9631         characteristics of a window. (One of these functions is necessary
9632         for making the file dialog box work correctly, and the other one
9633         was added for completeness.)  Also added a table to the
9634         documentation for window-height which describes the entire scheme
9635         for accessing width and height characteristics of a window.
9636
9637 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9638
9639         * nt.c (fstat): Added a comment for another problem with
9640         non-encapsulated [f]stat(), reported by Adrian Aichner
9641         <aichner@ecf.teradyne.com>.
9642
9643 2000-03-11  Andy Piper  <andy@xemacs.org>
9644
9645         * window.c (make_dummy_parent): initialize subwindow instance
9646         cache.
9647         (Fset_window_configuration): zero extent_modiff.
9648
9649 2000-03-10  Andy Piper  <andy@xemacs.org>
9650
9651         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
9652         more changes can be triggered.
9653         (Fredisplay_frame): ditto.
9654         (Fredraw_device): ditto.
9655         (Fredisplay_device): ditto.
9656         (redisplay_frame): make non-static.
9657         (redisplay_frame): call update_frame_gutter_geometry outside of
9658         display proper.
9659
9660         * gutter.h: declare update_frame_gutter_geometry.
9661
9662         * redisplay.h: declare redisplay_frame.
9663
9664         * gutter.c (update_frame_gutter_geometry): move geometry changes
9665         in update_frame_gutters here. Geometry changes can only occur
9666         outside of redisplay.
9667         (update_frame_gutters): remove geometry change code.
9668         (Fredisplay_gutter_area): make sure that we are in display when we
9669         update and that we have flushed any size changes.
9670
9671 2000-03-11  Andy Piper  <andy@xemacs.org>
9672
9673         * alloc.c (pdump_dump_data): remove i & count shadows.
9674
9675 2000-02-27  Mike Alexander  <mta@arbortext.com>
9676
9677         * sysdep.h: Declare pdump_read_file
9678
9679         * sysdep.c (pdump_read_file): New function
9680
9681         * alloc.c (pdump_load): Call pdump_read_file to get the portable
9682         dump data
9683
9684 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9685
9686         * lrecord.h: add `lrecord_type_pgsetenv'.
9687
9688 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
9689
9690         * symsinit.h: declare (vars|syms)_of* functions.
9691         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
9692
9693 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
9694
9695         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
9696
9697         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
9698         GCCs.
9699
9700         * emacs.c (main_1): Call postgres initialization code.
9701
9702         * postgresql.h: New file.  PostgreSQL RDBMS support.
9703         * postgresql.c: New file.
9704
9705 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9706
9707         * redisplay-output.c (redisplay_output_display_block): Disable
9708         redundant code.
9709
9710 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9711
9712         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
9713         (Fcanna_henkan_next): Ditto.
9714         (Fcanna_bunsetu_henkou): Ditto.
9715         (Fcanna_henkan_kakutei): Ditto.
9716         (Fcanna_henkan_end): Ditto.
9717         (Fcanna_henkan_quit): Ditto.
9718         (Fcanna_henkan_next): Set retun value correctly.
9719         (c2mu): Use unsigned char instead of signed char.
9720
9721 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9722
9723         * emacs.c (main_1): Always call syms_of_gui.
9724         * inline.c: include gui.h
9725
9726 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9727
9728         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
9729         converted to Lisp_Object.
9730         (Qtop_bottom): New variable.
9731         (syms_of_redisplay): Initialize it.
9732         * redisplay.h (Vvisible_bell): Ditto.
9733         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
9734         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
9735         only flash top and bottom.
9736
9737 2000-03-08  Andy Piper  <andy@xemacs.org>
9738
9739         * buffer.c (Frename_buffer): record new buffer name the right way.
9740
9741 2000-03-08  Andy Piper  <andy@xemacs.org>
9742
9743         * glyphs.c (update_subwindow): increase hash depth so that widget
9744         items get picked up properly.
9745
9746         * redisplay-output.c (compare_runes): increase hash depth so that
9747         widget items get picked up properly.
9748
9749 2000-03-08  Andy Piper  <andy@xemacs.org>
9750
9751         * gutter.c (output_gutter): add some debug.
9752
9753         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
9754         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
9755         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
9756
9757         * redisplay-output.c (compare_runes): use display_hash to
9758         determine if glyphs really are not the same.
9759
9760         * glyphs.c (update_subwindow): check display_hash to see if
9761         anything really needs to be updated. If not then do
9762         nothing. Record the display_hash after updating.
9763         (image_instance_equal): compare the image_instance face also.
9764
9765 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
9766
9767         * redisplay.h: Fix comment style.
9768
9769 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9770
9771         * consle-msw.h (struct mswindows_frame):
9772         Added new member paint_pending to indicate whether a WM_PAINT
9773         magic event has been queued for this frame.
9774
9775         * event-msw.c (mswindows_drain_windows_queue):
9776         Don't queue a WM_PAINT magic event if one is already queued.
9777         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
9778
9779         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
9780
9781 2000-03-07  Didier Verna  <didier@xemacs.org>
9782
9783         * dired.c: #include `regex.h' after `sysfile.h'.
9784
9785 2000-03-06  Martin Buchholz  <martin@xemacs.org>
9786
9787         * sound.c (init_nas_sound): Fix compiler warning.
9788
9789         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
9790         (FREE_STRUCT_P):
9791         (MARK_STRUCT_AS_FREE):
9792         (MARK_STRUCT_AS_NOT_FREE):
9793         Make `gcc -fstrict-aliasing' work properly.
9794
9795 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9796
9797         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
9798         (mswindows_delete_device): Call CoUnnitialize().
9799
9800         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
9801
9802 2000-02-25    <CraigL@DyCon.com>
9803
9804         * process-nt.c: MinGW now has <shellapi.h>, but still needs
9805         <errno.h>.
9806
9807         * sysdep.c: This extern declaration for environ prevents MinGW
9808         from finding the variable in CRTDLL.DLL.
9809
9810         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
9811         windows headers.
9812         (SHGFI_EXETYPE): ..
9813         (WM_MOUSEWHEEL): ..
9814         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
9815         definitions.
9816         (MMRESULT): Removed, now defined in cygwin's windows headers.
9817         (TIMECAPS): ..
9818         (uid_t,gid_t,pid_t,ssize_t): ..
9819         (_timeb): Removed, MinGW defines both _timeb and timeb.
9820         (HAVE_H_ERRNO): Added.
9821         (HAVE_TZNAME): Added, configure is not detecting this.
9822
9823 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
9824
9825         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
9826         * syntax.c (syntax_match): Use it.
9827
9828         * cmds.c: Import auto-fill-chars from FSF Emacs.
9829         (Vauto_fill_chars): New variables.
9830         (internal_self_insert): Check Vauto_fill_chars.
9831         (vars_of_cmds):
9832         Declare auto-fill-chars as a Lisp variable and initialize it.
9833
9834 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9835
9836         * fileio.c (Fmake_symbolic_link):
9837         (Ffile_symlink_p):
9838         Run handlers even if local machine doesn't have symlinks.
9839
9840 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9841
9842         * event-msw.c (mswindows_drain_windows_queue):
9843         Don't generate paint magic events for non-XEmacs frames.
9844
9845 2000-03-05  Andy Piper  <andy@xemacs.org>
9846
9847         * redisplay.c (redisplay_frame): generate_displayable_area and
9848         friends assumes that we are not in GC, we therefore have to make
9849         sure that this doesn't happen.
9850
9851         * gutter.c (calculate_gutter_size): generate_displayable_area
9852         assumes that we are not in GC, we therefore have to make sure that
9853         this doesn't happen.
9854
9855 2000-03-05  Martin Buchholz  <martin@xemacs.org>
9856
9857         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
9858
9859 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9860
9861         * redisplay.c (regenerate_window): Make sure we set a sane value
9862         for end_pos even if we jump out of the loop.
9863         (regenerate_window): Answer Ben's question :-).
9864         (start_end_of_last_line): Add may_error argument.
9865         (start_of_last_line):
9866         (end_of_last_line): Pass may_error = 0.
9867         (end_of_last_line_may_error): New function.
9868         (pixel_to_glyph_translation): Use it, so we don't crash in
9869         event_to_glyph.
9870
9871 2000-03-04  Andy Piper  <andy@xemacs.org>
9872
9873         * window.h (struct window): add gutter_extent_modiff.
9874
9875         * window.c (allocate_window): zero out gutter_extent_modiff.
9876
9877         * redisplay.h: declare sync_display_line_structs.
9878
9879         * redisplay.c (add_glyph_rune): add a better comment.
9880
9881         * redisplay-output.c (sync_display_line_structs): made non-static.
9882         (compare_runes): remove unneccesary glyph cachel access.
9883
9884         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
9885
9886         * gutter.c (output_gutter): don't output the gutter if extent
9887         changes only involve extents in buffers. use 4 sets of display
9888         lines.
9889         (gutter_extent_signal_changed_region_maybe): new function. Mark
9890         extents in gutters as changed.
9891         (update_frame_gutters): use 4 sets of display lines.
9892         (reset_gutter_display_lines): ditto.
9893         (free_frame_gutters): ditto.
9894         (redraw_exposed_gutter): force output of gutters.
9895
9896         * frame.h (struct frame): add 4 sets of gutter display lines.
9897
9898         * extents.c: (extent_changed_for_redisplay): signal changes to
9899         extents in strings in the gutter as well as extents in buffers.
9900
9901 2000-03-02  Andy Piper  <andy@xemacs.org>
9902
9903         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
9904
9905         * frame.c (Fmake_frame): make sure the gutters get initialized
9906         after the frame is visible.
9907         (set_frame_selected_window): re-arrange compilation macros a
9908         little.
9909         (change_frame_size_1): mark gutters changed.
9910
9911         * device.c (Fset_device_class): mark gutters changed.
9912
9913 2000-03-01  Andy Piper  <andy@xemacs.org>
9914
9915         * window.c (window_top_frame_gutter_height): deleted.
9916         (window_bottom_frame_gutter_height): ditto.
9917         (window_left_frame_gutter_height): ditto.
9918         (window_right_frame_gutter_height): ditto.
9919         (window_top_gutter_height): don't use them.
9920         (window_bottom_gutter_height): ditto.
9921         (window_left_gutter_width): ditto.
9922         (window_right_gutter_width): ditto.
9923         (Fsplit_window): ditto.
9924         (Fwindow_pixel_edges): don't use border dimensions here.
9925
9926         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
9927         (update_scrollbar_instance): ditto.
9928
9929         * redisplay.c (generate_modeline): don't take gutters into account.
9930         (generate_modeline): ditto.
9931         (redisplay_frame): small gutter display optimization.
9932
9933         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
9934
9935         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
9936         gutters into account.
9937
9938         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
9939         for window position and type.
9940
9941         * gutter.c (get_gutter_coords): fix for frame gutters.
9942         (update_frame_gutters): update frame geometry if the gutters have
9943         changed.
9944         (init_frame_gutters): record current gutter geometries.
9945
9946         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
9947         var.
9948         (mswindows_widget_instantiate): ditto.
9949
9950         * frame.h (struct frame): add current_gutter_bounds.
9951
9952         * frame.c (change_frame_size_1): position window and minibuffer
9953         appropriately taking into account the frame gutters.
9954
9955         * frame-x.c: (x_initialize_frame_size): take into account the
9956         frame gutters.
9957
9958 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
9959
9960         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
9961
9962 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
9963
9964         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
9965
9966 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
9967
9968         * file-coding.c (reset_decoding_stream): Clear previous
9969         detection state when autodetect.
9970
9971 2000-02-29  Didier Verna  <didier@xemacs.org>
9972
9973         * extents.c (set_extent_glyph_1): don't require extents to be
9974         attached.
9975
9976 2000-02-27  Andy Piper  <andy@xemacs.org>
9977
9978         * gutter.c (Fset_default_gutter_position): don't default left and
9979         right gutter visibility to t.
9980         (Fset_default_gutter_position): run
9981         default-gutter-position-changed-hook.
9982         (syms_of_gutter): add default-gutter-position-changed-hook.
9983
9984 2000-02-26  Andy Piper  <andy@xemacs.org>
9985
9986         * specifier.c (Fmake_specifier): add gutter references.
9987
9988         * gutter.h (RAW_WINDOW_GUTTER): new macro.
9989
9990         * lisp.h: declare Fvalid_plist_p.
9991
9992         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
9993         as changed.
9994         (default_gutter_visible_p_changed_in_window): invalidate gutter as
9995         well as its visibility so that it gets reconstructed.
9996         (construct_window_gutter_spec): new function. Construct a string
9997         to be displayed in the gutter from a plist of strings. Take care
9998         to only use elements that are declared as visible.
9999         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10000         WINDOW_GUTTER.
10001         (gutter_validate): allow plists of strings in the specifier.
10002         (gutter_specs_changed): construct the real_gutter from the gutter
10003         specs using construct_window_gutter_spec.
10004         (gutter_visible_validate): gutter-visible is a new specifier type.
10005         (Fgutter_visible_specifier_p): new function for the new specifier.
10006         (syms_of_gutter): declare gutter-visible and
10007         Fgutter_visible_specifier_p.
10008         (specifier_type_create_gutter): intitalize new gutter-visible
10009         specifier.
10010         (reinit_specifier_type_create_gutter): ditto.
10011         (specifier_vars_of_gutter): use new specifier type for gutter
10012         visibility.
10013         (init_frame_gutters): construct real_gutter correctly.
10014         (Fgutter_specifier_p): beef up documentation.
10015         (Fgutter_size_specifier_p): ditto.
10016
10017         * winslots.h: add real_gutter slots.
10018
10019 2000-02-25  Andy Piper  <andy@xemacs.org>
10020
10021         * device-msw.c: Be kind to older cygwin versions. From Raymond
10022         Toy <toy@rtp.ericsson.se>.
10023
10024         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10025         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10026
10027 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10028
10029         * elhash.c (MARK_OBJ): Practice macro hygiene.
10030
10031 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10032
10033         * miscplay.c: s/__inline__/inline/g;
10034         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10035         (get_device_compdc): INLINE ==> static inline
10036         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10037         find -name '*.h' | \
10038         xargs global-replace \
10039         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10040
10041 2000-02-25  Andy Piper  <andy@xemacs.org>
10042
10043         * window.c (window_top_frame_gutter_height): new function.
10044         (window_top_window_gutter_height): ditto.
10045         (window_top_gutter_height): use them.
10046         (window_bottom_frame_gutter_height): new function.
10047         (window_bottom_window_gutter_height): ditto.
10048         (window_bottom_gutter_height): use them.
10049         (window_left_window_gutter_width): new function.
10050         (window_left_frame_gutter_width): ditto.
10051         (window_left_gutter_width): use them.
10052         (window_right_window_gutter_width): new function.
10053         (window_right_frame_gutter_width): ditto.
10054         (window_right_gutter_width): use them.
10055         (window_pixel_height): new function. calulate window pixel height
10056         with frame gutter involvement.
10057         (Fsplit_window): calculate new sizes taking frame gutters into
10058         account.
10059         (window_char_height_to_pixel_height): don't include frame gutters.
10060         (window_char_height): use window_pixel_height.
10061         (window_pixheight): rename from window_pixel_height.
10062         (change_window_height): use it.
10063         (window_pixel_height_to_char_height): don't include frame gutters.
10064         (window_char_width_to_pixel_width): ditto.
10065
10066 2000-02-25  Andy Piper  <andy@xemacs.org>
10067
10068         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10069         if it is.
10070
10071 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10072
10073         * alloc.c (staticpro):
10074         (staticpro_nodump):
10075         (dumpstruct):
10076         (dumpopaque):
10077         (pdump_wire):
10078         (pdump_wire_list):
10079         (compact_string_chars):
10080         (pdump_dump_wired):
10081         Convert:  if (foo) abort();  ==>  assert (! foo);
10082
10083         * eldap.c (Fldap_search_basic):
10084         (Fldap_add):
10085         (Fldap_modify):
10086         (Fldap_delete):
10087         Fix compiler warnings, and possible crashes if (random) return
10088         value were to be used.
10089
10090 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10091
10092         * device-msw.c: Workaround ResetDC failure.
10093
10094         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10095         applying a devmode.
10096
10097         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10098         (mswindows_text_width): Do not start printer page.
10099
10100         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10101
10102         * glyphs-msw.c: Added image methods to msprinter console and
10103         msprinter-specific image instantiation.
10104
10105 2000-02-20  Mike Alexander  <mta@arbortext.com>
10106
10107         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10108         to avoid crashes when selection-sets-clipboard is on
10109         (mswindows_own_selection): ditto
10110
10111 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10112
10113         * glyphs-msw.c:
10114         * redisplay-msw.c (get_frame_dc):
10115         (get_frame_compdc):
10116         * console-msw.h:
10117         * device-msw.c (mswindows_init_device):
10118         (mswindows_delete_device):
10119         (msprinter_init_device):
10120         (msprinter_delete_device):
10121         * frame-msw.c (mswindows_init_frame_1):
10122         (mswindows_delete_frame):
10123         (msprinter_init_frame_3):
10124         (msprinter_delete_frame): Move compatible DC to device object from
10125         frame object, for both mswindows and msprinter. Only one at a time
10126         is needed, it is a real waste to have one per frame!
10127
10128 2000-02-23  Andy Piper  <andy@xemacs.org>
10129
10130         * glyphs.c: add dynamic width and height elements.
10131         (image_instance_equal): ditto.
10132
10133         * glyphs-widget.c (widget_query_geometry): calculate width and
10134         height dynamically if required.
10135         (initialize_widget_image_instance): initialize dynamic dimensions.
10136         (widget_instantiate): pick-up dynamic dimensions.
10137
10138         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10139         dynamic determination. Add appropriate macros.
10140
10141         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10142         dimensions safe.
10143         (WINDOW_GUTTER_SIZE): ditto.
10144         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10145
10146         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10147         inline.
10148         (get_frame_dc): ditto.
10149
10150         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10151         here.
10152
10153 2000-02-23  Martin Buchholz <martin@xemacs.org>
10154
10155         * XEmacs 21.2.31 is released.
10156
10157 2000-02-22  Ben Wing <ben@xemacs.org>
10158
10159         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10160
10161 2000-02-22  Andy Piper  <andy@xemacs.org>
10162
10163         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10164
10165 2000-02-21  Mike Sperber <mike@xemacs.org>
10166
10167         * .dbxrc:
10168         * .gdbinit:
10169         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10170         variables.
10171
10172 2000-02-21  Mike Sperber <mike@xemacs.org>
10173
10174         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10175
10176 2000-02-21  Martin Buchholz <martin@xemacs.org>
10177
10178         * XEmacs 21.2.30 is released.
10179
10180 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10181
10182         Performance hacking.
10183         * *.c (syms_of_*):
10184         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10185         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10186         * emacs.c (main_1):
10187         * lisp.h (DEFUN):
10188         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10189         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10190         * symeval.h (DEFVAR_SYMVAL_FWD):
10191         * symbols.c (guts_of_unbound_marker):
10192         Make all c_readonly objects also lisp_readonly and marked for life.
10193         * lrecord.h (struct lrecord_implementation):
10194         Document flags better.
10195         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10196         * lrecord.h (DECLARE_LRECORD):
10197         * lrecord.h (XSETRECORD):
10198         * lrecord.h (RECORDP):
10199         * lrecord.h (RECORD_TYPEP):
10200         * lrecord.h (RECORD_MARKER): New.
10201         * lrecord.h (error_check_*):
10202         * lrecord.h (CONCHECK_NONRECORD):
10203         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10204         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10205         * lrecord.h (set_lheader_implementation):
10206         * lrecord.h (enum lrecord_type): New.
10207         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10208         * alloc.c (disksave_object_finalization_1):
10209         * alloc.c (mark_object):
10210         * alloc.c (lrecord_type_index):
10211         * alloc.c (tick_lcrecord_stats):
10212         * alloc.c (Fgarbage_collect):
10213         * alloc.c (init_alloc_once_early):
10214         * alloc.c (pdump_load):
10215         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10216         * alloc.c (lrecord_type_index): Delete.
10217         Make lisp object type indexes be constant.
10218           Makes (byte-compile) 5% faster.
10219         Put all marker functions into their own array.
10220           Makes (garbage-collect) 5% faster.
10221         Optimize SYMBOL_VALUE_MAGIC_P.
10222           Makes (byte-compile) 2-3% faster.
10223         * config.h.in (gc_checking_assert): New.
10224         * alloc.c: Use gc_checking_assert().
10225         * .dbxrc: Make compatible with new object type implementation.
10226         * .gdbinit: Make compatible with new object type implementation.
10227         * alloc.c: Delete all symbols defined only for debugging, such as
10228         Lisp_Type_Vector and lrecord_charset.
10229
10230 2000-02-21  Andy Piper  <andy@xemacs.org>
10231
10232         * gui-msw.c (Fmswindows_shell_execute): fix file location
10233         problems.
10234
10235         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10236         unshowing so that set_window_buffer doesn't undo
10237         kill_buffer_hook's hard work.
10238
10239         * glyphs-widget.c (tab_control_query_geometry): don't count the
10240         first item when calculating geometry.
10241
10242         * glyphs.c (map_subwindow): remove redundant code.
10243         (update_frame_subwindows): be more circumspect about when to
10244         update subwindows.
10245
10246         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10247         when items haven't changed. Update faces if faces have changed as
10248         well as just the widget face.
10249         (x_tab_control_update): Update faces if faces have changed as well
10250         as just the widget face.
10251
10252 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10253
10254         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10255         registration.
10256         (build_syscolor_string): Use mswindows_color_to_string to try to
10257         get a named color.
10258         (mswindows_device_system_metrics): Reverse the foreground and
10259         background colors so that they match the documentation.
10260
10261         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10262         they match the default Windows palette.
10263         (mswindows_color_to_string): New function.
10264
10265 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10266
10267         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10268
10269 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10270
10271         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10272         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10273
10274         * symbols.c (init_symbols_once_early): Removed obsolete
10275         DATA_SEG_BITS related kludge.
10276         (defvar_magic): Ditto.
10277
10278         * malloc.c: Removed obsolete DATA_SEG_BITS
10279         * ralloc.c: Ditto.
10280         * mem-limits.h: Ditto.
10281
10282         * Makefile.in.in: Removed obsolete HAVE_SHM
10283         * emacs.c: Ditto.
10284
10285 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10286
10287         *  device-msw.c (mswindows_delete_device): Free DDE string
10288         handles.
10289
10290 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10291
10292         * keymap.c (get_keyelt):
10293         * unexnt.c (unexec):
10294         * vm-limit.c (memory_warnings):
10295         * ntheap.c (recreate_heap):
10296         * ntheap.h (UNINIT_PTR):
10297         * select-msw.c (Fmswindows_get_clipboard):
10298         (Fmswindows_set_clipboard):
10299         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10300         * objects-msw.c:
10301         * menubar-msw.c (displayable_menu_item):
10302         * glyphs-msw.c:
10303         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10304         * sysdep.c (sys_subshell):
10305         * process-nt.c (nt_create_process):
10306         * nt.c (normalize_filename):
10307         (dostounix_filename):
10308         (unixtodos_filename):
10309         * ntproc.c (win32_executable_type):
10310         * ntplay.c (play_sound_data_1):
10311         (play_sound_file):
10312         * editfns.c (get_home_directory):
10313         * event-msw.c (struct winsock_stream):
10314         (mswindows_dde_callback):
10315         * device-msw.c (msprinter_init_device):
10316         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10317
10318         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10319         mswindows_clear_toolbar were swapped!
10320
10321         * objects-msw.c:(colormap_t):
10322         (fontmap_t):
10323         * emacs.c (struct standard_args): Fixed const jumble.
10324
10325         * glyphs-widget.c (update_widget): Fixed comparison notation.
10326
10327         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10328
10329         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10330         __declspec(noreturn) syntax.
10331
10332 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10333
10334         * eldap.c (Fldap_open):
10335         (Fldap_search_basic):
10336         (Fldap_add):
10337         (Fldap_modify):
10338         Use new coding system conversion macros.
10339
10340 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10341
10342         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10343
10344 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10345
10346         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10347         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10348
10349         * eldap.c (Qadd, Qreplace): New constant symbols
10350         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10351         interruptions by XEmacs signals
10352         Remove unnecessary calls to slow_down_interrupts and
10353         speed_up_interrupts
10354         (Fldap_search_basic): Renamed from Fldap_search_internal
10355         Added new optional parameter VERBOSE that triggers the
10356         display of progress messages
10357         Remove unnecessary calls to slow_down_interrupts and
10358         speed_up_interrupts
10359         LDAP result code analysis rewritten
10360         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10361         (syms_of_eldap): Define the new symbols and functions
10362
10363
10364 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10365
10366         * realpath.c: Determine PATH_MAX maximally portably.
10367
10368         * insdel.c (bytecount_to_charcount): Optimize.
10369         The function used to be optimized for entirely ASCII sequences.
10370         Now it is optimized for successive characters from the same
10371         charset.  This also wins big for _mostly_ ASCII sequences.
10372
10373         * fileio.c (Ffile_truename): convert return from realpath() using
10374         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10375         - Rewrite GCPROing slightly.
10376
10377         * sysdep.c (sys_open): Do filename conversion, like all other
10378         sys_* functions.  Fixes bug:
10379         (let ((file-name-coding-system 'iso-8859-2))
10380            (write-region x y latin2-name))
10381         ==> writes filename using internal encoding.
10382
10383 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10384
10385         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10386         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10387         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10388         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10389         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10390         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10391         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10392         (CONST_IF_NOT_DEBUG): Delete.
10393         * alloc.c (this_one_is_unmarkable): Delete.
10394         (mark_object): Don't check for this_one_is_unmarkable. Use the
10395         c_readonly flag instead.
10396         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10397
10398 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10399
10400         * event-msw.c (mswindows_drain_windows_queue):
10401         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10402         away redundant repaint events.
10403
10404 2000-02-17  Andy Piper  <andy@xemacs.org>
10405
10406         * redisplay.h: declare mark_redisplay_structs.
10407
10408         * redisplay.c (redisplay_window):
10409         (redisplay_frame): don't check subwindows_state_changed.
10410         (mark_redisplay): mark gutters here.
10411
10412         * glyphs.c: (instantiate_image_instantiator): always layout if we
10413         haven't done so already.
10414         (allocate_image_instance): don't mark as dirty.
10415         (update_subwindow): bind inhibit_quit.
10416
10417         * gutter.c (mark_gutters): new function.
10418
10419         * glyphs-x.c (x_update_widget): Always resize to get round a
10420         widget bug.
10421
10422         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10423         breaking absolutely everything.
10424
10425         * gutter.h: declare mark_gutters.
10426
10427 2000-02-16  Martin Buchholz <martin@xemacs.org>
10428
10429         * XEmacs 21.2.29 is released.
10430
10431 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10432
10433         * fns.c (size_bit_vector): Fix computation of the size.
10434
10435 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10436
10437         * *.[ch]: Change CONST to const globally.
10438         find -name '*.[ch]' | \
10439         xargs global-replace \
10440         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10441         - Remove vestigial references to CONST_IS_LOSING
10442
10443 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10444
10445         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10446         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10447         events instead of dispatching them directly.
10448         (mswindows_handle_paint): New function to do repainting.
10449         (mswindows_wnd_proc):
10450         (emacs_mswindows_handle_magic_event): Call above function.
10451
10452 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10453
10454         * objects-msw.c (mswindows_create_font_variant): Return the new
10455         font handle.
10456         (initialize_font_instance): Get font metrics from the underlined
10457         variant of the font to cope with the case where the underlined
10458         font has a bigger descent.
10459
10460 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10461
10462         * gui.c (gui_item_accelerator): Return the first underlined
10463         character in item name.
10464
10465 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10466
10467         * lisp.h: Added Qprinter.
10468
10469         * general.c (syms_of_general): Initialized it.
10470
10471         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10472         (get_frame_dc):
10473         (get_frame_compdc): Made inline.
10474
10475         * console.h (struct console_methods): Added eject_page method.
10476
10477         * frame.h: Added FRAME_DISPLAY_P and friends.
10478         Aligned backslahes in many macros in more readable fashion.
10479         Added page_number to struct frame, and an accessor macro
10480         for it.
10481
10482         * defice.h: Added DEVICE_DISPLAY_P and friends.
10483
10484         * device.c (Fdevice_printer_p): Used these.
10485
10486         * frame.c (allocate_frame_core): Initialize page number.
10487         (Fprint_job_page_number):
10488         (Fprint_job_eject_page): Implemented.
10489
10490         * frame-msw.c (msprinter_eject_page): Added method.
10491         (msprinter_start_page): Added.
10492
10493         * window.c (Fwindow_truncated_p): Fixed docstring.
10494         (Fwindow_last_line_visible_height): Implemented.
10495
10496 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10497
10498         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10499
10500 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10501
10502         * syntax.c (scan_words): Always advance at least one character.
10503
10504 2000-02-13  Andy Piper  <andy@xemacs.org>
10505
10506         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10507         to make sure the glyph is in the cachels.
10508
10509         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10510         global image instance flag.
10511         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10512         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10513
10514         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10515         (Fset_image_instance_property): mark layout as changed.
10516         (invalidate_glyph_geometry_maybe): mark layout as changed.
10517         (glyph_width): use new NEEDS_LAYOUT macro.
10518         (glyph_ascent): ditto.
10519         (glyph_descent): ditto.
10520         (glyph_height): ditto.
10521         (image_instance_layout): mark layout as clean after laying out.
10522         (update_subwindow): don't mark layout as clean here.
10523
10524         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10525         should no longer be needed.
10526
10527         * glyphs-x.c (x_update_widget): sanitize asserts.
10528         (x_finalize_image_instance): sanitize assignment to widgets.
10529
10530         * glyphs-widget.c (widget_instantiate): don't need to clear the
10531         layout flag here.
10532
10533 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10534
10535         * sysdep.c (getcwd): Use standard prototype.
10536         * sysdep.h (getcwd): Use standard prototype.
10537
10538         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10539         (sequence, start, end).
10540         Remove redundant type checking.
10541         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10542         view of `caller-protects') to avoid a crash where the real fix was
10543         found elsewhere.
10544
10545 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10546
10547         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10548
10549         * s/sol2.h: Remove feature macro initialization.
10550
10551         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10552         (vector_hash): New.  Code from internal_hash.
10553         * lrecord.h:
10554         Fix up allocation subsystem comments.
10555
10556         * config.h.in: Add __EXTENSIONS__ for Solaris.
10557
10558         * systime.h (EMACS_GETTIMEOFDAY): New.
10559         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10560         Remove Solaris-specific code.
10561         Use void* for the (ignored) second arg for gettimeofday().
10562
10563         * elhash.c (hash_table_hash): Implement it, finally.
10564         * elhash.c:  Use hashcode_t.
10565
10566         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10567         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10568
10569         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10570         * fns.c (size_bit_vector):
10571         * alloc.c (size_vector):
10572         (make_vector_internal):
10573         (make_bit_vector_internal):
10574         (sweep_bit_vectors_1):
10575         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10576
10577 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10578
10579         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10580         Include strings.h to avoid warnings for bzero and strcasecmp.
10581
10582 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10583
10584         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10585         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10586
10587         * fns.c (size_bit_vector): New.  Declare bit vectors as a
10588         sequence.
10589
10590 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10591
10592         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
10593         use a value field instead.
10594         (symbol_value_forward_forward): Use value field.
10595         (DEFVAR_SYMVAL_FWD): Use value field.
10596         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
10597         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
10598         (DEFVAR_CONST_INT): Ditto.
10599         (DEFVAR_BOOL): Ditto.
10600         (DEFVAR_CONST_BOOL): Ditto.
10601         (DEFVAR_INT_MAGIC): Ditto.
10602         (DEFVAR_BOOL_MAGIC): Ditto.
10603
10604         * symbols.c (guts_of_unbound_marker): Use value field.
10605         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
10606         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
10607
10608         * lisp.h: Declare dumpopaque and noninteractive1.
10609
10610         * alloc.c (dumpopaque): Added.
10611         (pdump_dump_opaquevec): Added.
10612         (pdump): Call pdump_dump_opaquevec to dump opaque data.
10613         (pdump_load): Reload opaque data.  Sync noninteractive1 with
10614         noninteractive.
10615
10616 2000-02-10  Andy Piper  <andy@xemacs.org>
10617
10618         * glyphs.c (image_instance_layout): if the size changes, mark it
10619         as such.
10620
10621         * redisplay-output.c (redisplay_output_layout): Update the
10622         subwindow here.
10623         (redisplay_output_subwindow): ditto.
10624
10625         * glyphs.c (update_subwindow): make sure we reset flags for
10626         layouts as well as everything else.
10627
10628         * glyphs-widget.c (layout_layout): don't need to set the instances
10629         dimensions here.
10630
10631 2000-02-09  Martin Buchholz  <martin@xemacs.org>
10632
10633         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
10634         not HAVE_DLOPEN, which is a lower-level thing.
10635
10636         * .cvsignore: Ignore gmon.out
10637
10638 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
10639
10640         * .cvsignore: Ignore portable dumper xemacs.dmp file
10641
10642 2000-02-09  Andy Piper  <andy@xemacs.org>
10643
10644         * redisplay-output.c (redisplay_output_layout): be more clever
10645         about when we output based on the changed flags.
10646
10647         * glyphs.h (struct image_instantiator_methods): add update_method.
10648         (struct Lisp_Image_Instance): add changed flags. Declare new
10649         macros for manipulating them.
10650
10651         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
10652         (image_instance_parent_glyph): find an image_instance's parent
10653         glyph or image_instance.
10654         (image_instance_layout): mark the size as changed.
10655         (set_image_instance_dirty_p): new function. mark an image
10656         instance, plus all of its parents, as dirty.
10657         (Fset_image_instance_property): use it.
10658         (Fglyph_animated_timeout_handler): use it.
10659         (update_subwindow): call update_widget and device methods for
10660         update_subwindow. Mark all changed flags as clean.
10661         (Fresize_subwindow): mark size as changed.
10662
10663         * glyphs-x.c (x_finalize_image_instance): try and detect gc
10664         failures.
10665         (x_update_subwindow): only resize subwindows here.
10666         (x_update_widget): new function. Update all changed properties of
10667         a widget.
10668         (x_resize_subwindow): deleted.
10669         (x_widget_set_property): deleted.
10670         (x_progress_gauge_set_property): deleted.
10671         (x_progress_gauge_update): new function. Implement recorded
10672         changes.
10673         (x_tab_control_update): ditto.
10674         (x_tab_control_set_property): deleted.
10675         (console_type_create_glyphs_x): declare new functions.
10676         (image_instantiator_format_create_glyphs_x): ditto.
10677
10678         * glyphs-widget.c (widget_set_property): mark text changed.
10679         (update_widget): new function. Update properties of a widget.
10680         (widget_instantiate): for layouts make sure we set their
10681         children's parent correctly.
10682         (tab_control_set_property): new function. Record changes that will
10683         take place under redisplay's control.
10684         (progress_gauge_set_property): ditto.
10685         (image_instantiator_progress_guage): declare new functions.
10686         (image_instantiator_tab_control): ditto.
10687
10688         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
10689         now.
10690         (mswindows_update_widget): new function. Update all properties on
10691         a widget that have changed.
10692         (mswindows_button_update): new function. Update a button's set
10693         state.
10694         (mswindows_tab_control_update): new function. Update the items in
10695         a tab.
10696         (mswindows_tab_control_set_property): deleted.
10697         (mswindows_progress_gauge_update): new function. Update the
10698         progress gauge's progress.
10699         (mswindows_widget_set_property): deleted. This is all done
10700         asynchronously now.
10701         (mswindows_progress_gauge_set_property): ditto.
10702         (console_type_create_glyphs_mswindows): declare new methods.
10703         (image_instantiator_format_create_glyphs_mswindows): ditto.
10704
10705         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
10706         (msprinter_set_frame_properties): ditto.
10707
10708         * console.h (struct console_methods): Add update_widget_method.
10709
10710 2000-02-09  Andy Piper  <andy@xemacs.org>
10711
10712         * gui-msw.c (Fmswindows_shell_execute): Make
10713         mswindows-shell-execute industrial strength.
10714
10715 2000-02-08  Martin Buchholz  <martin@xemacs.org>
10716
10717         * lrecord.h: Make macro argument `props' match member function `plist'.
10718         * fns.c (Fget):
10719         * fns.c (Fput):
10720         * fns.c (Fremprop):
10721         * fns.c (Fobject_plist):
10722         * alloc.c:
10723         * symbols.c:
10724         Object property list frobbing cleanup.
10725         - Allow any lisp object (compared with `eq'), not just symbols, as
10726           keys in object plists.
10727         - Move symbol plist frobbing into symbols.c, where it belongs.
10728         - Move string plist frobbing into alloc.c, where it belongs.
10729         - Everything's an lrecord now, so no need to test for symbolp, etc.
10730         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
10731
10732         * extents.c: Reorder code to remove declarations.
10733
10734         * frame.h (store_in_alist): Remove useless declaration.
10735
10736 2000-02-07  Martin Buchholz  <martin@xemacs.org>
10737
10738         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
10739         * config.h.in: Add HAVE_XCONVERTCASE.
10740
10741 2000-02-07  Andy Piper  <andy@xemacs.org>
10742
10743         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
10744         it breaks many things.
10745
10746 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10747
10748         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
10749         actually can start a common comment type.
10750         * src/syntax.h (SYNTAX_END_P): ditto for end.
10751
10752 2000-02-07  Martin Buchholz <martin@xemacs.org>
10753
10754         * XEmacs 21.2.28 is released.
10755
10756 2000-02-06  Martin Buchholz  <martin@xemacs.org>
10757
10758         * event-Xt.c (x_keysym_to_character): New.
10759         (maybe_define_x_key_as_self_inserting_character): New.
10760         (x_has_keysym): New.
10761         Auto-define all keys on the keyboard as self-insert-key.
10762
10763 2000-02-02  Martin Buchholz  <martin@xemacs.org>
10764
10765         * menubar.c (vars_of_menubar): A small code simplification.
10766
10767         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
10768
10769         * ExternalShell.c:
10770         * ExternalClient.c:
10771         * EmacsShell-sub.c:
10772         * EmacsManager.c:
10773         * EmacsFrame.c:
10774         Use consistent style for specifying X resources.
10775
10776         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
10777         This makes (dontusethis-set-symbol-value-handler) actually usable.
10778
10779         * lrecord.h (lrecord_decription_type):
10780         * alloc.c (pdump_register_sub):
10781         (pdump_dump_data):
10782         (pdump_reloc_one):
10783         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
10784         Comply with XEmacs coding style.
10785         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
10786         args, and XD_LISP_OBJECT_ARRAY with 3 args.
10787
10788         * keymap.c (Faccessible_keymaps):
10789         Make (accessible-keymaps map "\C-h") do the Right Thing.
10790         Make (accessible-keymaps map []) do the Right Thing.
10791         Make (accessible-keymaps map "") do the Right Thing.
10792         (check_keymap_definition_loop): New function.
10793         (keymap_store_internal): Keep luser from shooting self in foot,
10794           via (define-key ctl-x-4-map "p" global-map).
10795         Remove fullness slot from struct Lisp_Keymap, since hash tables
10796         are now reliable.
10797         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
10798
10799 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10800
10801         * redisplay.c (init_redisplay): Fix small memory leak.
10802         * elhash.h:
10803         * elhash.c (pdump_reorganize_hash_table):
10804         Rename from reorganize_hash_table. Change prototype.
10805         Reuse the original memory for hentries.  Save 100k.
10806         * alloc.c (PDUMP_READ): new macro.
10807         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
10808         * alloc.c: No need to #ifndef before #undef.
10809
10810         * print.c: Allow debug_print() to print readably by modifying
10811         debug_print_readably.  Use consistent variable names.
10812
10813         * .dbxrc: Try to get things to work even if stopped in a function
10814         without source available by explicitly specifying source files.
10815 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10816
10817         * unexnt.c (_start): Removed bogus code which caused loading heap
10818         from differrent executable file.
10819         Removed bogus assignment to _fmode, which caused inconsistencies.
10820
10821 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10822
10823         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
10824         Have spawnve encapsulation regard DONT_ENCAPSULATE.
10825         Do not preliminary `#define signal sigset'.
10826
10827         * systime.h: Do not prototype environ on windows nt and cygwin,
10828         this conflicts with system header.
10829
10830         * syssignal.h: Use correct define for WINDOWSNT
10831
10832         * sysdep.h: Do not prototype environ on windows nt, this conflicts
10833         with system header.
10834
10835         * sysdep.c (near start of file): Fixed commentary and rearranged
10836         ifdefs in readable order.
10837         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
10838         (start_of_text):
10839         (end_of_text):
10840         (end_of_data): Do not compile in if using PDUMP.
10841
10842         * symsinit.h: Prototyped vars_of_nt().
10843
10844         * ntproc.c (windows9x_p): Added, instead of os_subtype.
10845         (find_child_console): Use it.
10846         (sys_kill): Use it.
10847
10848         * ntheap.h: Do not extern os_subtype.
10849
10850         * ntheap.c (cache_system_info): Do not cache unneeded:
10851         nt_major_version, nt_minor_version and os_subtype.
10852         (recreate_heap): Do not compile in when PDUMPing.
10853
10854         * nt.c (geteuid and friends): Use the new varibale
10855         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
10856         (init_user_info): Removed the above mentioned hackery.
10857         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
10858         stat has been fixed in the C runtime.
10859         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
10860
10861         * file-coding.c (struct file_coding_dump): Do not define
10862         ucs_to_mule_table in the struct if not MULE.
10863         (struct struct lrecord_description fcd_description_1): Do not dump
10864         the above.
10865
10866         * emacs.c (main_1): Call vars_of_nt().
10867         (right before Fdump_emacs_data): Don't need lastfile if using both
10868         portabe dumper and system malloc.
10869
10870         * alloc.c (Fmemory_limit): Conditionalized out.
10871         (pdump): Use OPEN_BINARY for the portable dump file.
10872         (pdump_load): Ditto.
10873
10874 2000-02-02  Mike Alexander  <mta@arbortext.com>
10875
10876         * nt.c (convert_time): Set tm_isdst before calling mktime and
10877         avoid calling it at all if the compiler supports 64 bit integers.
10878         Also initialize utc_base_ft before using it.
10879
10880 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10881
10882         * frame.c (change_frame_size_1): Take f->internal_border_width
10883         into consideration when calculating the width of the frame.
10884
10885 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10886
10887         * window.c (frame_min_height):
10888         (frame_size_valid_p):
10889         (frame_pixsize_valid_p): Added.
10890         (check_frame_size): Generalized.
10891
10892         * window.h: Prototyped the above.
10893
10894         * lisp.h:
10895         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
10896         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
10897         Deleted Vwin32_* and Vbinary_process_* unused variables.
10898
10899         * device-msw.c (msprinter_init_device): Do not get printer font
10900         list; Added DEVMODE functions.
10901
10902         * frame-msw.c: Added lots of printer code.
10903
10904         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
10905         general.c.
10906
10907         * console-msw.h: Added more msprinter device private slots.
10908
10909 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10910
10911         * event-msw.c (key_needs_default_processing_p): Added.
10912         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
10913
10914 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10915
10916         * glyphs.c (image_instance_layout): Mark image instance as clean
10917         after layout.
10918         (glyph_dirty_p): Removed redundant function.
10919         (invalidate_glyph_geometry_maybe): Added.
10920         (update_glyph_cachel_data): Call it.
10921
10922         * glyphs.h: Prototyped it.
10923
10924         * redisplay.c (add_glyph_rune): Call it.
10925         (redisplay_window): Reset glyphs cachels when frame faces have
10926         changed, thus forcing recomputation of built-in border glyphs.
10927
10928 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10929
10930         * Makefile.in.in: Make portable dumper and purify play well together.
10931         Add imperfect, but better than nothing, support for pdump.
10932         Remove xemacs.dmp when temacs is re-generated.
10933         Don't ignore errors when dumping xemacs.
10934
10935         * symbols.c (maybe_call_magic_handler): Remove one magic number.
10936
10937 2000-01-28  Andy Piper  <andy@xemacs.org>
10938
10939         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
10940         (setup_normal_frame): ditto.
10941         (setup_frame_without_minibuffer): ditto.
10942         (setup_minibuffer_frame): ditto.
10943         (delete_frame_internal): ditto.
10944         (Fmake_frame_invisible): ditto.
10945         (Ficonify_frame): ditto.
10946
10947         * window.h: change Fset_window_buffer signature.
10948
10949         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
10950         (Fset_window_buffer): allow recording of buffer if the window is
10951         the selected window.
10952         (window_loop): Use new Fset_window signature.
10953
10954 2000-01-23  Daniel Pittman  <daniel@danann.net>
10955
10956         * config.h.in: Added template for `HAVE_ATHENA_3D'
10957
10958 2000-01-29  Andy Piper  <andy@xemacs.org>
10959
10960         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
10961
10962         * gutter.c (output_gutter): Don't output if the window isn't live.
10963
10964 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10965
10966         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
10967         of 01/12/00: Moved SetFocus back here where it belongs.
10968
10969 2000-01-23  Andy Piper  <andy@xemacs.org>
10970
10971         * s/cygwin32.h: declare printer things.
10972
10973 2000-01-26  Andy Piper  <andy@xemacs.org>
10974
10975         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
10976         Alexander.
10977
10978 2000-01-24  Andy Piper  <andy@xemacs.org>
10979
10980         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
10981         (mswindows_button_instantiate): Make sure glyph is a pixmap.
10982
10983         * glyphs-widget.c (widget_instantiate): Avoid shadows.
10984
10985         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
10986
10987         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
10988
10989         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
10990         (mswindows_output_display_block): Avoid local shadows.
10991
10992         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
10993         (mswindows_enqueue_mouse_button_event): ditto.
10994         (mswindows_handle_gui_wm_command): remove declaration.
10995
10996         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
10997         warnings.
10998
10999         * console-msw.h: Avoid shadows.
11000         (mswindows_get_toolbar_button_text):
11001         (emacs_mswindows_create_stream_pair):
11002         (emacs_mswindows_delete_stream_pair):
11003         (mswindows_handle_toolbar_wm_command): declare.
11004
11005         * device-msw.c (build_syscolor_string): Avoid shadows.
11006
11007 2000-01-23  Andy Piper  <andy@xemacs.org>
11008
11009         * glyphs-widget.c (widget_instantiate): reverse the items for
11010         layouts so that children are in the expected order.
11011
11012 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11013
11014         * ralloc.c: safe_bcopy ==> memmove
11015         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11016         * s/msdos.h: Remove BCOPY macros.
11017         * insdel.c (gap_right): Remove BCOPY conditional code.
11018         * insdel.c (gap_left): Remove BCOPY conditional code.
11019         XEmacs demands a working ANSI C compiler - hence memmove.
11020
11021         * regex.c (regex_compile): Remove accidental use of trigraphs.
11022
11023 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11024
11025         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11026         event timestamp.
11027
11028 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11029
11030         * event-msw.c (mswindows_drain_windows_queue): Added the
11031         parameter.
11032         (mswindows_need_event): Commented the call to
11033         mswindows_drain_windows_queue().
11034         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11035         only.
11036
11037         * console-msw.h: Moved a few function prototypes here from
11038         event-msw.c.
11039
11040         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11041         parameter from unsigned short to unsigned long.
11042         (Fmswindows_shell_execute): Added return value.
11043
11044 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11045
11046         * sysdep.c (init_system_name):
11047           process-unix.c (unix_canonicalized_host_name):
11048         Don't call freeaddrinfo() if getaddrinfo() fails.
11049
11050         * process-unix.c (unix_open_unix_network_stream):
11051         Moved the code to get a port # into address loop.
11052
11053 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11054
11055         * buffer.c (reinit_vars_of_buffer):
11056         The right place to initialize conversion_in_dynarr and
11057         conversion_out_dynarr.
11058
11059         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11060
11061         * process-unix.c (unix_canonicalize_host_name): Muleize.
11062         (unix_open_network_stream): Muleize.
11063
11064         * buffer.h: Fix up prototypes for ralloc.c functions.
11065
11066 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11067         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11068         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11069                 instead of gethostbyname()
11070         * process-unix.c: In unix_canonicalize_host_name() and
11071                 unix_open_network_stream(), add code to use getaddrinfo()
11072                 instead of gethostbyname().
11073
11074 2000-01-27  Daniel Pittman <daniel@danann.net>
11075
11076         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11077         libs when built with flat Athena.
11078
11079 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11080
11081         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11082         Use coding standards for function prototypes.
11083
11084 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11085
11086         * dialog-msw.c (push_lisp_string_as_unicode):
11087         * doc.c (unparesseuxify_doc_string):
11088         * dired.c (Fuser_name_completion_1):
11089         * dired.c (Fuser_name_all_completions):
11090         * dired.c (free_user_cache):
11091         * dired.c (user_name_completion):
11092         * console-x.c (get_display_arg_connection):
11093         * minibuf.c (clear_echo_area_internal):
11094         * minibuf.c (echo_area_append):
11095         * eldap.c (Fldap_open):
11096         * eldap.c (Fldap_search_internal):
11097         * frame-x.c (x_set_frame_text_value):
11098         * frame-x.c (x_set_frame_properties):
11099         * frame-x.c (x_create_widgets):
11100         * redisplay-tty.c (term_get_fkeys_1):
11101         * objects-x.c (x_parse_nearest_color):
11102         * objects-x.c (x_valid_color_name_p):
11103         * objects-x.c (x_initialize_font_instance):
11104         * objects-x.c (x_list_fonts):
11105         * objects-x.c (x_find_charset_font):
11106         * tooltalk.c (Fadd_tooltalk_message_arg):
11107         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11108         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11109         * process-unix.c (unix_create_process):
11110         * ntproc.c (sys_spawnve):
11111         * sound.c (Fplay_sound_file):
11112         * sound.c (Fplay_sound):
11113         * buffer.c (init_initial_directory):
11114         * buffer.c (init_buffer):
11115         * editfns.c (init_editfns):
11116         * editfns.c (Ftemp_directory):
11117         * editfns.c (Fuser_full_name):
11118         * editfns.c (uncache_home_directory):
11119         * editfns.c (get_home_directory):
11120         * editfns.c (Fuser_home_directory):
11121         * editfns.c (Fformat_time_string):
11122         * editfns.c (Fcurrent_time_string):
11123         * gui-x.c (button_item_to_widget_value):
11124         * database.c (Fopen_database):
11125         * event-Xt.c (x_to_emacs_keysym):
11126         * event-Xt.c (x_event_to_emacs_event):
11127         * event-Xt.c (describe_event_window):
11128         * event-msw.c (mswindows_wnd_proc):
11129         * glyphs-eimage.c (jpeg_instantiate):
11130         * glyphs-eimage.c (gif_instantiate):
11131         * glyphs-eimage.c (png_instantiate):
11132         * glyphs-eimage.c (tiff_instantiate):
11133         * glyphs-x.c (xbm_instantiate_1):
11134         * glyphs-x.c (x_xbm_instantiate):
11135         * glyphs-x.c (x_xface_instantiate):
11136         * glyphs-x.c (autodetect_instantiate):
11137         * glyphs-x.c (cursor_font_instantiate):
11138         * glyphs-x.c (x_widget_instantiate):
11139         * glyphs-x.c (x_widget_set_property):
11140         * glyphs-x.c (x_widget_property):
11141         * glyphs-x.c (BUILD_GLYPH_INST):
11142         * print.c (write_string_to_stdio_stream):
11143         * print.c (output_string):
11144         * print.c (Falternate_debugging_output):
11145         * print.c (Fexternal_debugging_output):
11146         * glyphs-msw.c (extract_xpm_color_names):
11147         * glyphs-msw.c (mswindows_xpm_instantiate):
11148         * glyphs-msw.c (bmp_instantiate):
11149         * glyphs-msw.c (resource_name_to_resource):
11150         * glyphs-msw.c (mswindows_resource_instantiate):
11151         * glyphs-msw.c (xbm_instantiate_1):
11152         * glyphs-msw.c (mswindows_xbm_instantiate):
11153         * glyphs-msw.c (mswindows_xface_instantiate):
11154         * glyphs-msw.c (mswindows_widget_instantiate):
11155         * glyphs-msw.c (add_tree_item):
11156         * glyphs-msw.c (add_tab_item):
11157         * glyphs-msw.c (mswindows_combo_box_instantiate):
11158         * glyphs-msw.c (mswindows_widget_property):
11159         * glyphs-msw.c (mswindows_combo_box_property):
11160         * glyphs-msw.c (mswindows_widget_set_property):
11161         * console.c (stuff_buffered_input):
11162         * objects-msw.c (mswindows_initialize_color_instance):
11163         * objects-msw.c (mswindows_valid_color_name_p):
11164         * objects-msw.c (mswindows_list_fonts):
11165         * objects-msw.c (mswindows_font_instance_truename):
11166         * bytecode.c (optimize_compiled_function):
11167         * select-x.c (symbol_to_x_atom):
11168         * select-x.c (x_atom_to_symbol):
11169         * select-x.c (hack_motif_clipboard_selection):
11170         * select-x.c (selection_data_to_lisp_data):
11171         * select-x.c (lisp_data_to_selection_data):
11172         * select-x.c (Fx_get_cutbuffer_internal):
11173         * select-x.c (Fx_store_cutbuffer_internal):
11174         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11175         * buffer.h (TO_INTERNAL_FORMAT): New function.
11176         * emacs.c (make_arg_list_1):
11177         * emacs.c (make_argc_argv):
11178         * emacs.c (main_1):
11179         * emacs.c (Fdump_emacs):
11180         * emacs.c (split_string_by_emchar_1):
11181         * file-coding.h:
11182         * lisp.h:
11183         * lstream.h:
11184         * symsinit.h:
11185         * device-x.c (x_init_device):
11186         * device-x.c (Fx_valid_keysym_name_p):
11187         * device-x.c (Fx_get_font_path):
11188         * device-x.c (Fx_set_font_path):
11189         * glyphs.c (bitmap_to_lisp_data):
11190         * glyphs.c (pixmap_to_lisp_data):
11191         * alloc.c (make_ext_string): Use coding system arguments.  Update
11192         all callers.
11193         * alloc.c (build_string):
11194         * callproc.c (child_setup):
11195         * callproc.c (init_callproc):
11196         * fileio.c (lisp_strerror):
11197         * fileio.c (directory_file_name):
11198         * fileio.c (Fexpand_file_name):
11199         * fileio.c (Ffile_truename):
11200         * fileio.c (Fsysnetunam):
11201         * fileio.c (Fdo_auto_save):
11202         * sysdep.c (sys_readdir):
11203         * tests.c: New file.  Allow adding C tests.
11204         Replace GET_* macros with a more comprehensible and flexible
11205         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11206         Modify all calls.
11207         Any coding system can be used to do format conversion.
11208         Eliminate enum external_data_format.
11209         Eliminate convert_to_external_format.
11210         Eliminate convert_to_internal_format.
11211         Make sure file-name, keyboard, terminal, and ctext are always
11212         defined as coding systems or aliases.  Make
11213         file-name-coding-system, terminal-coding-system, and
11214         keyboard-coding-system magical variables that are equivalent to
11215         defining the corresponding coding system aliases.
11216
11217         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11218         * file-coding.c (Fcoding_system_alias_p): New function.
11219         * file-coding.c (Fcoding_system_aliasee): New function.
11220         * file-coding.c (append_suffix_to_symbol): New function.
11221         * file-coding.c (dangling_coding_system_alias_p): New function.
11222         * file-coding.c (Ffind_coding_system):
11223         * file-coding.c (Fcopy_coding_system):
11224         * file-coding.c (encode_coding_no_conversion):
11225         * file-coding.c (syms_of_file_coding):
11226         * file-coding.c (vars_of_file_coding):
11227         Rewrite coding system alias code.
11228         Allow nested aliases, like symbolic links.
11229         Allow redefinition of coding system aliases.
11230         Prevent existence of dangling coding system aliases.
11231
11232         * dired.c (Fuser_name_completion_1):
11233         * dired.c (Fuser_name_all_completions):
11234         A crash would happen if user did QUIT in the middle of building
11235         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11236
11237         * lisp.h:
11238         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11239
11240         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11241         an unsigned char *.  Update all callers.
11242
11243 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11244
11245         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11246
11247 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11248
11249         * elhash.c (hentry_description): Use more portable definition.
11250         (resize_hash_table): Initialize new hentries using
11251         xnew_array_and_zero, thereby simplifying the code.
11252
11253         * mule-charset.c (make_charset): Make sure entire object is
11254         initialized, to avoid Purify warnings.
11255
11256         * alloc.c (resize_string): Fix unlikely crash with big strings.
11257
11258 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11259
11260         * realpath.c (xrealpath):
11261         Don't call getwd().
11262
11263 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11264
11265         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11266
11267 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11268
11269         * unexelfsgi.c (unexec): Change the way we decide which segment
11270         should be extended.
11271
11272         Assumption that .bss section should be outside the PT_LOADable
11273         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11274         it's present) is inside the 'data' segment. This would fail the
11275         test which was used to find a segment to grow and cover new
11276         heap. Instead of this assumption, I created another one - on IRIX
11277         the segment to grow should start below .bss and it's address
11278         should extent above the end of .bss. Once this segment is
11279         identified, it's grown to accommodate the new heap and new
11280         zero-length .bss section is added at the end of .data2.
11281
11282 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11283
11284         * eval.c (Feval): Wrong number of arguments should use original
11285         function, not the indirect_function version of it.
11286
11287 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11288
11289         * glyphs-x.c (x_button_instantiate): Don't add image if
11290         it is not a pixmap.
11291         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11292         is relative.
11293
11294 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11295
11296         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11297         declaration.
11298         (DEFVAR_INT_MAGIC): Ditto.
11299         (DEFVAR_BOOL_MAGIC): Ditto.
11300         * glyphs.h: Reindent backslash.
11301
11302 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11303
11304         * glyphs-widget.c (layout_query_geometry):
11305         (layout_layout): Use correct types for gheight, gwidth.
11306
11307 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11308
11309         * EmacsManager.c (QueryGeometry): Purified.
11310
11311 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11312
11313         * alloc.c (make_float): Make sure entire object is initialized, to
11314         avoid Purify warnings.
11315         (pdump_register_sub): Remove useless assignment.
11316         (pdump): Use xmalloc, not malloc.
11317         (pdump_load): Use xmalloc, not malloc.
11318
11319 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11320
11321         * callproc.c:
11322         * dired-msw.c:
11323         * fileio.c:
11324         * process-nt.c:
11325         * redisplay-msw.c:
11326         * sysdep.c: Removed redundant #include <windows.h>
11327
11328 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11329
11330         * frame.c (delete_frame_internal): Do not delete device when its
11331         implementation so declares.
11332         (delete_frame_internal): Set device selected frame to nil when
11333         last frame goes away.
11334
11335         * device-msw.c (msprinter_device_system_metrics): Implemented.
11336         (mswindows_device_system_metrics): Added 'device-dpi property.
11337
11338         * device.c: (Fdevice_printer_p): Added.
11339         Added 'offset-workspace device metric.
11340
11341         * console.h (device_metrics): Declared DM_offset_workspace.
11342
11343 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11344
11345         * fileio.c (Ffile_truename): Remove pointless and confusing
11346         initialization of elen.
11347
11348         * glyphs-widget.c: Compiler warning fixes.
11349
11350 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11351
11352         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11353         instead of a Lisp_Object as argument to make it consistent with
11354         the other LIVE_P macros.
11355         (CHECK_LIVE_PROCESS): New macro.
11356
11357         * process.c: Declare Qprocess_live_p.
11358         (Fprocess_live_p): New function.
11359         (create_process): Use PROCESS_LIVE_P.
11360         (read_process_output): Ditto.
11361         (set_process_filter): Ditto.
11362         (Fdelete_process): Ditto.
11363         (kill_buffer_processes): Ditto
11364         (process_send_signal): Use CHECK_LIVE_PROCESS.
11365         (Fprocess_input_coding_system): Check whether process is still
11366         alive (fix PR#1061).
11367         (Fprocess_output_coding_system): Ditto.
11368         (Fprocess_coding_system): Ditto.
11369         (Fset_process_input_coding_system): Ditto.
11370         (Fset_process_output_coding_system): Ditto.
11371
11372 2000-01-23  Andy Piper  <andy@xemacs.org>
11373
11374         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11375         layout and widget.
11376
11377         * glyphs.c (mark_image_instance): take into account changed
11378         image_instance format.
11379         (image_instance_equal): ditto.
11380         (image_instance_hash): ditto.
11381
11382         * glyphs-widget.c (widget_instantiate): Incorporate layout
11383         instantiation here. Delay layout of the layout until later.
11384         (layout_instantiate): deleted.
11385         (layout_query_geometry): new function. get the geometry of a
11386         layout.
11387         (layout_layout): layout a layout dynamically.
11388         (image_instantiator_widget): New function - splitting up
11389         image_instantiator_format_create_glyphs_widget for netwinder
11390         compilation.
11391         (image_instantiator_buttons):
11392         (image_instantiator_edit_fields):
11393         (image_instantiator_combo_box):
11394         (image_instantiator_scrollbar):
11395         (image_instantiator_progress_guage):
11396         (image_instantiator_tree_view):
11397         (image_instantiator_tab_control):
11398         (image_instantiator_labels):
11399         (image_instantiator_layout): ditto.
11400         (image_instantiator_format_create_glyphs_widget): Call preceding
11401         functions.
11402
11403 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11404
11405         * process.c (Fset_process_coding_system):
11406         * device-x.c (Fx_keysym_hash_table):
11407         Docstring fixes.
11408
11409         * lstream.c (Lstream_write): Return documented value, not 0.
11410
11411         * fileio.c (directory_file_name):
11412         (Fsubstitute_in_file_name):
11413         (Fsubstitute_insert_file_contents_internal):
11414         (Fwrite_region_internal):
11415         * emacs.c:
11416         * sysdep.c:
11417         * getloadavg.c:
11418         * systty.h:
11419         Remove vestigial APOLLO-conditional code.
11420
11421 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11422
11423         * getpagesize.h: Add guard macros.
11424         * libsst.h: Add guard macros.
11425         * libst.h: Add guard macros.
11426         * line-number.h: Add guard macros.
11427         * ndir.h: Add guard macros.
11428         * sysfloat.h: Add guard macros.
11429         * sysfile.h: Add guard macros.
11430         * sysproc.h: Add guard macros.
11431         * syswait.h: Add guard macros.
11432         * xintrinsic.h: Add guard macros.
11433         * xintrinsicp.h: Add guard macros.
11434         * xmmanager.h: Add guard macros.
11435         * xmmanagerp.h: Add guard macros.
11436         * xmprimitive.h: Add guard macros.
11437         * xmu.h: Add guard macros.
11438         * gpmevent.h: Add copyright statement. Add guard macros.
11439         * miscplay.h: Add guard macros.
11440         * *.h: Use consistent C-standards-approved guard macro names.
11441
11442         * opaque.c (make_opaque): Switch parameter order.
11443         * opaque.h (make_opaque): Switch parameter order.
11444         Update all callers.
11445         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11446
11447         * config.h.in (type_checking_assert): Added.
11448         (bufpos_checking_assert): Added.
11449
11450 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11451
11452         * alloc.c: Harmless pdump changes.
11453         - Use countof().
11454         - spell alignment correctly.
11455         * sysdep.c: Use countof()
11456
11457 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11458
11459         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11460         initially_selected_for_input() console method, default to 0.
11461         (semi_canonicalize_console_connection): Try to delegate to
11462         canonicalize_console_connection if no such console method.
11463         (canonicalize_console_connection): Vice versa.
11464         (print_console): Do not print nil connection.
11465
11466         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11467         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11468         (XDEVIMPF_FRAMELESS_OK): Added.
11469         (CONSOLE_INHERITS_METHOD): Added.
11470
11471         * console-msw.c (mswindows_canonicalize_console_connection):
11472         Added.
11473         (mswindows_canonicalize_device_connection): Added.
11474
11475         * console-msw.h (struct msprinter_device): Added this struct and
11476         accessor macros.
11477         (mswindows_device): Made fontlist a lisp object.
11478
11479         * device.c (semi_canonicalize_device_connection):  Try to delegate
11480         to canonicalize_device_connection if no such console method.
11481         (canonicalize_device_connection): Vice versa.
11482         (print_device): Do not print nil connection.
11483
11484         * device-msw.c (mswindows_init_device): Call InitCommonControls
11485         when have widgets.
11486         (mswindows_delete_device): Removed fontlist deallocation.
11487         (mswindows_mark_device): Added.
11488
11489         * events.c (event_equal): Added abort() at unreached code.
11490         (event_hash): Ditto.
11491
11492         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11493         fallback tags of Windows devices.
11494
11495         * general.c (syms_of_general): Initialized Qmsprinter.
11496
11497         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11498         of fallback tags of Windows devices.
11499
11500         * lisp.h: Declared Qmsprinter.
11501
11502         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11503         of strings.
11504         (mswindows_list_fonts): Ditto.
11505         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11506         that it can be used by both mswindows and msprinter devices.
11507         (initialize_font_instance): Added.
11508         (mswindows_initialize_font_instance): Use it.
11509         (msprinter_initialize_font_instance): Added.
11510
11511         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11512         and implementation flags check.
11513         (redisplay_without_hooks): Changed the call to the above.
11514         (Fredraw_device): Ditto.
11515         (Fredisplay_device): Ditto.
11516
11517         * redisplay-msw.c (get_frame_dc): Implemented.
11518         (get_frame_compdc): Implemented.
11519         (many functions): Use the two functions above to get device
11520         contexts, ether for a window or a printer.
11521
11522 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11523
11524         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11525         initialization here.
11526         (init_symbols_once_early): Call it.
11527         * emacs.c (main_1): Call it.
11528         * symsinit.h: Declare it.
11529
11530 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11531
11532         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11533         Lisp_Object.
11534         (pdump_backtrace): Ditto.
11535         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11536         (pdump_get_entry): Abort if trying to register a null pointer.
11537         (pdump_dump_data): Cleanup types when relocating.
11538         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11539         (pdump_dump_rtables): Remove bad casts.
11540         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11541         Lisp_Object instead of a EMACS_INT for the hashtable
11542         reorganization.
11543
11544 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11545
11546         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11547
11548         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11549
11550         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11551
11552         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11553
11554 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11555
11556         * faces.h (FACE_STRIKETHRU_P): Added.
11557
11558         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11559         of font variants.
11560
11561         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11562         (mswindows_set_dc_font): New function, aware of font variants,
11563         separated from mswindows_update_dc.
11564
11565         * objects-msw.h (struct mswindows_font_instance_data): Added
11566         definition.
11567
11568         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11569         cached fonts and the data structure.
11570         (mswindows_initialize_font_instance): Added creation of font data
11571         structure.
11572         (mswindows_print_font_instance): Print at least something.
11573         (mswindows_create_font_variant): Implemented.
11574         (mswindows_get_hfont): Implemented.
11575
11576 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11577
11578         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11579         prototyping problem with msvc.
11580
11581         * emacs.c (main_1): added syms_of_gui_mswindows() call
11582
11583         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11584         syms_of_gui_mswindows() function
11585
11586         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11587
11588 2000-01-18  Martin Buchholz <martin@xemacs.org>
11589
11590         * XEmacs 21.2.27 is released.
11591
11592 2000-01-18  Martin Buchholz  <martin@xemacs.org>
11593
11594         * glyphs-eimage.c (struct tiff_error_struct):
11595         (tiff_error_func):
11596         (tiff_warning_func):
11597         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
11598
11599         * unexmips.c:
11600         * unexhp9k3.c:
11601         * unexfreebsd.c:
11602         * unexec.c: Remove vestigial Lucid C code.
11603         * unexalpha.c:
11604         * unexaix.c:
11605         * termcap.c:
11606         * libsst.c: Ansify.
11607         Remove declarations of errno and strerror().
11608
11609         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
11610
11611         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
11612
11613 2000-01-16  Martin Buchholz  <martin@xemacs.org>
11614
11615         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
11616         Optimize.
11617
11618 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11619
11620         * md5.c:
11621         * file-coding.c:
11622         * file-coding.h:
11623         Change enum eol_type to eol_type_t.
11624
11625 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11626
11627         * gui.c (get_gui_callback): Check cons before accessing car.
11628
11629 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11630
11631         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
11632         (XSETSPECIFIER_TYPE): Ditto.
11633
11634 2000-01-17  Didier Verna  <didier@xemacs.org>
11635
11636         * redisplay.c (generate_fstring_runes): compute string size in
11637         characters, not bytes.
11638
11639 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11640
11641         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
11642
11643 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
11644
11645         * print.c (print_error_message): Call print_prepare().
11646
11647 2000-01-14  Martin Buchholz  <martin@xemacs.org>
11648
11649         * .dbxrc: Renamed from dbxrc.
11650
11651         * events.c (event_to_character):
11652         Use `assert (foo)' instead of `if (!foo) abort()'
11653
11654         * .gdbinit (xtype): Add documentation.
11655         * .gdbinit (check-temacs): New function.
11656         * .gdbinit (check-xemacs): New function.
11657         * dbxrc (check-xemacs): New function.
11658         * dbxrc (check-xemacs): New function.
11659
11660 2000-01-14  Andy Piper  <andy@xemacs.org>
11661
11662         * glyphs-widget.c (widget_query_geometry): Make sure that we
11663         calculate default dimensions correctly.
11664
11665 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11666
11667         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
11668
11669         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
11670         pdump_wire'd variable.
11671
11672         * emacs.c: (main_1): Conditionalized calls to
11673         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
11674
11675 2000-01-13  Martin Buchholz  <martin@xemacs.org>
11676
11677         * window.c (Fset_window_configuration):
11678         * sysdep.c (_start):
11679         * input-method-motif.c (res):
11680         * event-Xt.c (Xt_process_to_emacs_event):
11681         Simple compiler warning fixes.
11682
11683         * bytecode.c (funcall_compiled_function): Use the original
11684         function symbol on the backtrace list in preference to the
11685         compiled_function object in error messages.
11686
11687 2000-01-13  Andy Piper  <andy@xemacs.org>
11688
11689         * glyphs-x.c (update_widget_face): Make sure we update the widget
11690         background as well as foreground.
11691
11692 2000-01-13  Andy Piper  <andy@xemacs.org>
11693
11694         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
11695         fields to subwindow.
11696         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
11697         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
11698         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11699         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11700
11701         * glyphs-widget.c (check_valid_tab_orientation): new function.
11702         (initialize_widget_image_instance): zero orientation and
11703         justification.
11704         (widget_instantiate): pick up orientation.
11705         (tab_control_query_geometry): return appropriate values for
11706         vertical tabs.
11707
11708         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
11709         appropriate creation flags for left, right and bottom tabs.
11710
11711         * s/cygwin32.h: add tab definitions.
11712
11713 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11714
11715         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
11716         frame upon hiding a subwindow.
11717         (mswindows_button_instantiate): Changed the push button style to
11718         BS_PUSHBUTTON.
11719         (mswindows_button_instantiate): Removed button BS_NOTIFY
11720         style.
11721         (mswindows_button_instantiate): Removed redundant check for
11722         a disabled gui item.
11723         (mswindows_button_instantiate): Made use of WS_TABSTOP
11724         consistent: "operable" controls (edit, button, tree, scroll) have
11725         this style, "display-only" ones (static, progress gauge) do
11726         not. This style is currently ignored by XEmacs though. Also,
11727         removed the WS_EX_CONTROLPARENT style - it is not for children,
11728         it is for their parents!
11729         (mswindows_edit_field_instantiate): Ditto.
11730         (mswindows_progress_gauge_instantiate): Ditto.
11731         (mswindows_tree_view_instantiate): Ditto.
11732         (mswindows_tab_control_instantiate): Ditto.
11733         (mswindows_scrollbar_instantiate): Ditto.
11734         (mswindows_combo_box_instantiate): Ditto.
11735         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
11736         style to the "clip" window.
11737         (mswindows_button_instantiate): Removed compilation warning by
11738         equally typing terms of the ?: operator.
11739
11740 2000-01-12  Didier Verna  <didier@xemacs.org>
11741
11742         * redisplay.c (generate_fstring_runes): new parameter holding the
11743         last modeline-format extent.
11744         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
11745         extent, fill the glyph block with it.
11746         (generate_fstring_runes): handle these parameters.
11747         (generate_formatted_string_db): ditto.
11748
11749         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
11750         glyphs'extents in the modeline.
11751
11752 1999-01-11  Mike Woolley  <mike@bulsara.com>
11753
11754         * ntheap.c: Reduced the reserved heap space from 1Gb down to
11755         256Mb, as a workaround for the non-starting problem many people
11756         have experienced.
11757
11758 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11759
11760         * console-tty.c (Fset_console_tty_output_coding_system):
11761         Force redrawing tty frame.
11762
11763 2000-01-10  Didier Verna  <didier@xemacs.org>
11764
11765         * redisplay.c (generate_fstring_runes): fix size computation bug.
11766
11767 2000-01-09  William M. Perry <wmperry@aventail.com>
11768
11769         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
11770
11771 2000-01-09  Andy Piper  <andy@xemacs.org>
11772
11773         * glyphs-msw.c: index -> i to avoid shadows.
11774         (xbm_create_bitmap_from_data): make static.
11775         (check_valid_string_or_int): deleted.
11776         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
11777
11778         * glyphs-x.c (x_update_subwindow): remove unused args.
11779
11780         * glyphs.c (glyph_image_instance): return the thing. Don't set the
11781         back pointer - this is done in allocate_image_instance.
11782         (query_string_font): return Qnil to make the compiler happy.
11783         (unmap_subwindow): set to ~0 to make the compiler happy.
11784         (glyph_query_geometry): comment out until used.
11785         (glyph_layout): ditto.
11786
11787 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11788
11789         * insdel.c (signal_after_change): Remove extraneous unbind_to().