2f294b2e83bc368486e19480da1a722db17c11ed
[chise/xemacs-chise.git-] / src / ChangeLog
1 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
4         (Qideograph_cbeta): New variable.
5         (encode_builtin_char_1): Comment out special code for
6         coded-charset `mojikyo' and `japanese-jef-china3'.
7         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
8         (complex_vars_of_mule_charset): Add new coded-charset
9         `ideograph-cbeta'.
10
11         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
12         (MIN_CHAR_CBETA): New macro.
13         (MAX_CHAR_CBETA): New macro.
14
15 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
16
17         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
18         (LEADING_BYTE_JEF_CHINA3): New macro.
19         (MIN_CHAR_JEF_CHINA3): New macro.
20         (MAX_CHAR_JEF_CHINA3): Likewise.
21         (DECODE_CHAR): Fixed.
22
23 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
24
25         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
26         (Qjapanese_jef_china3): New variable.
27         (encode_builtin_char_1): Support `japanese-jef-china3'.
28         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
29         (complex_vars_of_mule_charset): Add new coded-charset
30         `japanese-jef-china3'.
31
32 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
33
34         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
35         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
36         94^4, 96^3, 96^4, 128^n and 256^n set.
37         (put_char_table): Use `XCHARSET_CELL_RANGE'.
38         (map_char_table): Likewise.
39
40 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
41
42         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
43         UTF-2000.
44
45 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
46
47         * chartab.h (get_char_id_table): New inline function.
48
49         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
50         function.
51
52 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
53
54         * chartab.h (decode_char_table_range): New prototype in XEmacs
55         UTF-2000.
56         (put_char_id_table): New inline function in XEmacs UTF-2000.
57
58         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
59         function.
60         (decode_char_table_range): Delete static declaration in XEmacs
61         UTF-2000.
62
63 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
64
65         * chartab.c (put_char_id_table): Use `put_char_table'.
66
67 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
68
69         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
70         (map_over_uint16_byte_table): Likewise.
71         (map_over_byte_table): Likewise.
72         (map_char_table): Modify for `map_over_uint8_byte_table',
73         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
74         UTF-2000.
75
76 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
77
78         * chartab.c (struct map_char_table_for_charset_arg): New
79         structure.
80         (map_char_table_for_charset_fun): New function.
81         (map_char_table): Use `map_char_table' for encoding_table of
82         `range->charset'.
83
84 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
85
86         * chartab.c (map_char_table): Check a character is found in
87         range->charset instead of non default value is defined in
88         char-table when range is CHARTAB_RANGE_ROW.
89
90 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
91
92         * chartab.c (map_char_id_table): Deleted.
93         (Fmap_char_attribute): Use `map_char_table' instead of
94         `map_char_id_table'.
95
96 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
97
98         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
99         UTF-2000.
100         (update_syntax_table): Deleted in XEmacs UTF-2000.
101
102         * syntax.c (find_defun_start): Use `syntax_table' instead of
103         `mirror_syntax_table' in XEmacs UTF-2000.
104         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
105         UTF-2000.
106         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
107         XEmacs UTF-2000.
108         (Fmatching_paren): Likewise.
109         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
110         in XEmacs UTF-2000.
111         (find_start_of_comment): Likewise.
112         (find_end_of_comment): Likewise.
113         (Fforward_comment): Likewise.
114         (scan_lists): Likewise.
115         (char_quoted): Likewise.
116         (Fbackward_prefix_chars): Likewise.
117         (scan_sexps_forward): Likewise.
118         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
119         (update_syntax_table): Likewise.
120
121         * search.c (skip_chars): Use `syntax_table' instead of
122         `mirror_syntax_table' in XEmacs UTF-2000.
123         (wordify): Likewise.
124         (Freplace_match): Likewise.
125
126         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
127         `mirror_syntax_table' in XEmacs UTF-2000.
128         (WORDCHAR_P_UNSAFE): Likewise.
129         (re_match_2_internal): Likewise.
130
131         * font-lock.c (find_context): Use `buf->syntax_table' instead of
132         `buf->mirror_syntax_table' in XEmacs UTF-2000.
133
134         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
135         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
136
137         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
138         XEmacs UTF-2000.
139
140         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
141         UTF-2000.
142         (print_char_table): Print `default_value' in XEmacs UTF-2000.
143         (char_table_description): Delete `mirror_table' in XEmacs
144         UTF-2000.
145         (fill_char_table): Don't call `update_syntax_table' in XEmacs
146         UTF-2000.
147         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
148         (Fcopy_char_table): Likewise.
149         (put_char_table): Don't call `update_syntax_table' in XEmacs
150         UTF-2000.
151
152         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
153         `buf->mirror_syntax_table' in XEmacs UTF-2000.
154         (casify_region_internal): Likewise.
155
156         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
157
158         * buffer.c (common_init_complex_vars_of_buffer): Don't use
159         `mirror_syntax_table' in XEmacs UTF-2000.
160
161         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
162         `buf->mirror_syntax_table' in XEmacs UTF-2000.
163         (Fexpand_abbrev): Likewise.
164
165 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
166
167         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
168
169 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
170
171         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
172         (map_over_uint16_byte_table): Likewise.
173         (map_over_byte_table): Likewise.
174         (get_char_id_table): Refer `cit->default_value'.
175         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
176         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
177         of character-id ranges.
178         (mark_char_table): Mark `ct->default_value'.
179         (char_table_description): Add `default_value'.
180         (fill_char_table): Use `default_value'.
181         (decode_char_table_range): Decode `nil' as
182         `CHARTAB_RANGE_DEFAULT'.
183         (get_char_id_table): Refer `cit->default_value'.
184         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
185         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
186         temporary hack; check value of char-table is bound or not.
187         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
188
189         * chartab.h (struct Lisp_Char_Table): Add new member
190         `default_value' in XEmacs UTF-2000.
191         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
192         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
193         UTF-2000.
194
195 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
196
197         * chartab.h (Lisp_Char_ID_Table): Deleted.
198
199         * chartab.c (char_table_description): Fix typo.
200         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
201         `Lisp_Char_ID_Table'.
202
203 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
204
205         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
206         `CHAR_ID_TABLE_P'.
207
208         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
209         `CHAR_ID_TABLE_P'.
210
211         * chartab.h (XCHAR_ID_TABLE): Deleted.
212         (XSETCHAR_ID_TABLE): Deleted.
213         (CHAR_ID_TABLE_P): Deleted.
214
215         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
216         `CHAR_ID_TABLE_P'.
217         (Fget_composite_char): Likewise.
218         (put_char_table): Likewise.
219         (add_char_attribute_alist_mapper): Fixed.
220         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
221         `CHAR_ID_TABLE_P'.
222         (Fget_char_attribute): Likewise.
223         (Fget_char_attribute): Likewise.
224         (Fmap_char_attribute): Likewise.
225
226         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
227         `CHAR_ID_TABLE_P'.
228         (encode_char_1): Likewise.
229
230 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
231
232         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
233         `XCHAR_ID_TABLE'.
234
235         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
236         instead of `XCHAR_ID_TABLE'.
237         (remove_char_ccs): Likewise.
238
239         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
240         `XCHAR_ID_TABLE'.
241         (Fget_composite_char): Likewise.
242         (Fchar_variants): Likewise.
243         (put_char_table): Likewise.
244         (add_char_attribute_alist_mapper): Likewise.
245         (Fchar_attribute_alist): Likewise.
246         (Fget_char_attribute): Likewise.
247         (Fput_char_attribute): Likewise.
248         (Fmap_char_attribute): Likewise.
249         (Fmap_char_attribute): Likewise.
250
251         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
252         `XCHAR_ID_TABLE'.
253         (encode_char_1): Likewise.
254
255 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
256
257         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
258         `Lisp_Char_ID_Table'.
259         (mark_char_id_table): Deleted.
260         (print_char_id_table): Likewise.
261         (char_id_table_equal): Likewise.
262         (char_id_table_hash): Likewise.
263         (char_id_table_description): Likewise.
264         (char_id_table): Likewise.
265         (make_char_id_table): Use `Fmake_char_table' and
266         `fill_char_table'.
267         (get_char_id_table): Use `Lisp_Char_Table' instead of
268         `Lisp_Char_ID_Table'.
269         (put_char_id_table): Likewise.
270         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
271         `XCHAR_ID_TABLE'.
272         (Fremove_char_attribute): Likewise.
273         (syms_of_chartab): Don't define type `char-id-table'.
274
275         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
276         (char_id_table): Likewise.
277         (GC_CHAR_ID_TABLE_P): Likewise.
278         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
279         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
280         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
281         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
282         (get_char_id_table): Use `Lisp_Char_Table' instead of
283         `Lisp_Char_ID_Table'.
284         (put_char_id_table_0): Likewise.
285         (put_char_id_table): Likewise.
286
287 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
288
289         * chartab.h: Lisp_Byte_Table related codes are moved from
290         chartab.h.
291
292         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
293
294 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
295
296         * chartab.h: Don't include "chartab.h".
297         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
298         (Lisp_Char_ID_Table): Likewise.
299         (char_id_table): Likewise.
300         (XCHAR_ID_TABLE): Likewise.
301         (XSETCHAR_ID_TABLE): Likewise.
302         (CHAR_ID_TABLE_P): Likewise.
303         (GC_CHAR_ID_TABLE_P): Likewise.
304         (get_char_id_table): Likewise.
305
306         * char-ucs.h: Include "chartab.h".
307         (struct Lisp_Char_ID_Table): Moved to chartab.h.
308         (Lisp_Char_ID_Table): Likewise.
309         (char_id_table): Likewise.
310         (XCHAR_ID_TABLE): Likewise.
311         (XSETCHAR_ID_TABLE): Likewise.
312         (CHAR_ID_TABLE_P): Likewise.
313         (GC_CHAR_ID_TABLE_P): Likewise.
314         (get_char_id_table): Likewise.
315
316 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
317
318         * chartab.c (copy_uint8_byte_table): New function.
319         (copy_uint16_byte_table): New function.
320         (copy_byte_table): New function.
321         (map_over_uint8_byte_table): Modify to avoid huge numbers of
322         characters to call.
323         (map_over_uint16_byte_table): Likewise.
324         (map_over_byte_table): Likewise.
325         (get_byte_table): Move prototype to chartab.h.
326         (put_byte_table): Likewise.
327         (put_char_id_table_0): Moved to chartab.h.
328         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
329         (char_table_entry_equal): Likewise.
330         (char_table_entry_hash): Likewise.
331         (char_table_entry_description): Likewise.
332         (char_table_entry): Likewise.
333         (make_char_table_entry): Likewise.
334         (copy_char_table_entry): Likewise.
335         (get_non_ascii_char_table_value): Likewise.
336         (map_over_charset_ascii): Likewise.
337         (map_over_charset_control_1): Likewise.
338         (map_over_charset_row): Likewise.
339         (map_over_other_charset): Likewise.
340         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
341         (print_char_table): Likewise.
342         (char_table_equal): Likewise.
343         (char_table_hash): Likewise.
344         (char_table_description): Likewise.
345         (fill_char_table): Likewise.
346         (Fcopy_char_table): Likewise.
347         (get_char_table): Likewise.
348         (Fget_range_char_table): Likewise.
349         (put_char_table): Likewise.
350         (map_char_table): Likewise.
351         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
352         UTF-2000.
353
354 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
355
356         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
357         `Vauto_fill_chars' in XEmacs UTF-2000.
358
359         * chartab.h (get_byte_table): New prototype [moved from
360         chartab.c].
361         (put_byte_table): Likewise [moved from chartab.c].
362         (put_char_id_table_0): New inline function [moved from chartab.c].
363         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
364         (Lisp_Char_Table_Entry): Likewise.
365         (char_table_entry): Likewise.
366         (XCHAR_TABLE_ENTRY): Likewise.
367         (XSETCHAR_TABLE_ENTRY): Likewise.
368         (CHAR_TABLE_ENTRYP): Likewise.
369         (CHECK_CHAR_TABLE_ENTRY): Likewise.
370         (NUM_ASCII_CHARS): Likewise.
371         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
372         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
373
374 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
375
376         * chartab.c (get_char_id_table): Change interface.
377         (put_char_id_table_0): New function.
378         (put_char_id_table): Change interface; new implementation.
379         (Fget_composite_char): Modify for interface change of
380         `get_char_id_table'.
381         (Fchar_variants): Likewise.
382         (add_char_attribute_alist_mapper): Likewise.
383         (Fchar_attribute_alist): Likewise.
384         (Fget_char_attribute): Likewise.
385         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
386         as same as character as the first argument like `put-char-table';
387         modify for interface change of `put_char_id_table'.
388         (Fremove_char_attribute): Modify for interface change of
389         `put_char_id_table'.
390
391 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
392
393         * text-coding.c: Sync up with XEmacs 21.2.41.
394         (COMPOSE_ADD_CHAR): Modify for interface change of
395         `get_char_id_table'.
396
397         * mule-charset.c (put_char_ccs_code_point): Modify for interface
398         change of `put_char_id_table'.
399         (remove_char_ccs): Likewise.
400
401         * chartab.h (put_char_id_table): Change interface.
402
403         * char-ucs.h (get_char_id_table): Change interface.
404         (charset_code_point): Modify for interface change of
405         `get_char_id_table'.
406         (encode_char_1): Likewise.
407
408 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
409
410         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
411         argument `ccs'.
412         (map_over_uint16_byte_table): Likewise.
413         (map_over_byte_table): Likewise.
414         (map_char_id_table): Add new argument `range' like
415         `map_char_table'.
416         (Fmap_char_attribute): Add new argument `range' like
417         `Fmap_char_table'.
418
419 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
420
421         * chartab.c (map_over_uint8_byte_table): Change interface of
422         mapping function to use struct chartab_range instead of Emchar.
423         (map_over_uint16_byte_table): Likewise.
424         (map_over_byte_table): Likewise.
425         (map_char_id_table): Likewise.
426         (struct slow_map_char_id_table_arg): Deleted.
427         (slow_map_char_id_table_fun): Deleted.
428         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
429         function `slow_map_char_table_fun' instead of struct
430         `slow_map_char_id_table_arg' and function
431         `slow_map_char_id_table_fun'.
432
433 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
434
435         * mule-charset.c: Move char-it-table related codes to chartab.c.
436         (Vutf_2000_version): Moved to chartab.c.
437         (Fdefine_char): Likewise.
438         (Ffind_char): Likewise.
439         (syms_of_mule_charset): Move types `uint8-byte-table',
440         `uint16-byte-table', `byte-table' and `char-id-table' to
441         chartab.c; move functions `char_attribute_list,
442         `find_char_attribute_table, `char_attribute_alist,
443         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
444         `map_char_attribute, `define_char, `find_char, `char_variants and
445         `get_composite_char to chartab.c; move symbols `=>ucs',
446         `->decomposition', `compat', `isolated', `initial', `medial',
447         `final', `vertical', `noBreak', `fraction', `super', `sub',
448         `circle', `square', `wide', `narrow', `small' and `font' to
449         chartab.c.
450         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
451         setting codes for `Vcharacter_composition_table' and
452         `Vcharacter_variant_table' to chartab.c.
453         (complex_vars_of_mule_charset): Move setting code for
454         `Vchar_attribute_hash_table' to chartab.c.
455
456         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
457         (make_char_id_table): New prototype.
458         (put_char_id_table): Likewise.
459         (Fget_char_attribute): Likewise.
460
461         * chartab.c: Move char-id-table related code from mule-charset.c.
462         (Vutf_2000_version): Moved from mule-charset.c.
463
464         * char-ucs.h (Qucs): New external variable.
465         (put_char_ccs_code_point): New prototype.
466         (remove_char_ccs): Likewise.
467
468 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
469
470         * mule-charset.c (Vcharset_ucs_jis): New variable.
471         (Qucs_jis): Likewise.
472         (syms_of_mule_charset): Add new symbol `ucs-jis'.
473         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
474
475         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
476
477 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
478
479         * mule-charset.c (map_over_uint8_byte_table): New function.
480         (map_over_uint16_byte_table): Likewise.
481         (map_over_byte_table): Likewise.
482         (map_char_id_table): Likewise.
483         (slow_map_char_id_table_fun): Likewise.
484         (Fmap_char_attribute): Likewise.
485         (syms_of_mule_charset): Add new function `map-char-attribute'.
486
487 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
488
489         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
490         (syms_of_mule_charset): Add new function `find-char'.
491
492 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
493
494         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
495         XEmacs UTF-2000.
496         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
497         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
498         XEmacs UTF-2000.
499         (complex_vars_of_mule_charset): Add new coded-charset
500         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
501         `ideograph-gt-pj-*'.
502
503         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
504
505 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
506
507         * mule-charset.c (encode_builtin_char_1): Purge codes about
508         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
509         {MIN|MAX}_CHAR_HEBREW.
510         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
511         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
512
513         * char-ucs.h (MIN_CHAR_GREEK): Purged.
514         (MAX_CHAR_GREEK): Purged.
515         (MIN_CHAR_CYRILLIC): Purged.
516         (MAX_CHAR_CYRILLIC): Purged.
517         (MIN_CHAR_HEBREW): Commented out.
518         (MAX_CHAR_HEBREW): Likewise.
519
520 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
521
522         * mule-charset.c (Qto_ucs): New variable.
523         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
524         (Fdefine_char): Likewise.
525         (syms_of_mule_charset): Add new symbol `=>ucs'.
526
527 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
528
529         * mule-charset.c (Fdecode_char): Fixed.
530
531 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
532
533         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
534         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
535         "tcvn5712-1".
536
537 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
538
539         * mule-charset.c (Vcharset_ucs_big5): New variable.
540         (Qucs_big5): Likewise.
541         (syms_of_mule_charset): Add new symbol `ucs-big5'.
542         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
543
544         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
545
546 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
547
548         * mule-charset.c (decode_builtin_char): Check Big5 code range
549         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
550
551 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
552
553         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
554         (Qchinese_gb12345): Likewise.
555         (Fdecode_builtin_char): Fixed.
556         (syms_of_mule_charset): Add `chinese-gb12345'.
557         (complex_vars_of_mule_charset): Add coded-charset
558         `chinese-gb12345'.
559
560         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
561         (LEADING_BYTE_CHINESE_GB12345): New macro.
562
563 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
564
565         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
566         and `latin-viscii-upper' for `latin-viscii'.
567
568 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
569
570         * mule-charset.c (Fdecode_builtin_char): Comment out
571         regularization code for ISO-IR GR representation.
572
573 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
574
575         * mule-charset.c (decode_builtin_char): New function; renamed from
576         `make_builtin_char'; return -1 instead of signal.
577         (Fdecode_builtin_char): Use `decode_builtin_char'.
578
579         * char-ucs.h (decode_builtin_char): New prototype; renamed from
580         `make_builtin_char'.
581         (DECODE_CHAR): Use `decode_builtin_char' instead of
582         `make_builtin_char'; use mapping table of `chinese-big5' for
583         `chinese-big5-{1,2}'.
584
585 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
586
587         * text-coding.c (char_encode_big5): New function.
588         (char_finish_big5): Likewise.
589         (reset_encoding_stream): Use `char_encode_big5' and
590         `char_finish_big5' for CODESYS_BIG5.
591         (mule_encode): Don't use `encode_coding_big5'.
592         (encode_coding_big5): Deleted.
593
594 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
595
596         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
597         0x81- in XEmacs UTF-2000.
598         (detect_coding_big5): Likewise.
599
600 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
601
602         * mule-charset.c (Fdefine_char): Don't use a CCS property to
603         generate character-id if the CCS property does not have
604         corresponding predefined character.
605         (make_builtin_char): Return -1 if corresponding predefined
606         character is not found.
607         (Fdecode_char): Return nil if corresponding character is not
608         found.
609         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
610         don't map to builtin ucs space.
611
612 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
613
614         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
615         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
616
617 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
618
619         * mule-charset.c (Vcharset_ideograph_gt): New variable.
620         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
621         (Qideograph_gt): Likewise.
622         (Qideograph_gt_pj_{1..11}): Likewise.
623         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
624         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
625         `ideograph-gt-pj-11'.
626         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
627         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
628         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
629
630         * char-ucs.h (LEADING_BYTE_GT): New macro.
631         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
632         (MIN_CHAR_GT): Likewise.
633         (MAX_CHAR_GT): Likewise.
634
635 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
636
637         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
638         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
639
640         * doprnt.c (unsigned_int_converters): Add `c'.
641         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
642
643         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
644         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
645         `MIN_CHAR_MOJIKYO'.
646         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
647         (MAX_CHAR_MOJIKYO_0): New macro.
648         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
649
650 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
651
652         * mule-charset.c (Fdefine_char): Delete cemented out code.
653         (encode_builtin_char_1): Modify for new allocation of builtin
654         Mojikyo characters.
655
656         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
657
658 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
659
660         * mule-charset.c (Vcharset_ucs_cns): New variable.
661         (Qucs_cns): New variable.
662         (syms_of_mule_charset): Add new symbol `ucs-cns'.
663         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
664
665 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
666
667         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
668
669 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
670
671         * search.c (search_buffer): Make `charset_base_code' as
672         character-id >> 6 to eliminate the corresponding last byte in
673         UTF-8 representation [I'm not sure it is right thing].
674         (boyer_moore): Likewise.
675
676 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
677
678         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
679         representation in MULE.
680
681 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
682
683         * text-coding.c (Fmake_coding_system): Use
684         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
685         `EXTERNAL_PROPERTY_LIST_LOOP'.
686
687 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
688
689         * text-coding.c (decode_output_utf8_partial_char): New function.
690         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
691
692 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
693
694         * text-coding.c (decode_coding_utf8): Output original byte
695         sequence if it is broken; change order of conditions.
696
697         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
698         of conditions.
699
700         * mb-multibyte.h (BYTE_ASCII_P):
701         Use bit ops for char-signedness safety.
702         (BYTE_C0_P): Use bit ops for char-signedness safety.
703         (BYTE_C1_P): Use bit ops for char-signedness safety.
704
705         * character.h: (XCHAR_OR_CHAR_INT):
706         Always use inline function.
707         Remove redundant type checking assert() - XINT will abort quite
708         nicely.
709
710 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
711
712         * text-coding.c: (Fencode_shift_jis_char):
713         (Fencode_big5_char):
714         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
715         Replace 0 with '\0' when working with bytes.
716         Replace initial "(" with "\(" in docstrings.
717
718         (Fmake_coding_system):
719         When type is ccl and value is vector, register it with a proper
720         symbol.  And checks whether the given ccl program is valid.
721         (mule_decode): When calling ccl_driver, if src indicates
722         NULL pointer, set an empty string instead.
723         (mule_encode): Likewise.
724
725         (detect_eol_type):
726         (detect_coding_sjis):
727         (decode_coding_sjis):
728         (detect_coding_big5):
729         (decode_coding_big5):
730         (detect_coding_ucs4):
731         (decode_coding_ucs4):
732         (detect_coding_utf8):
733         (decode_coding_utf8):
734         (detect_coding_iso2022):
735         (decode_coding_iso2022):
736         (decode_coding_no_conversion):
737         (mule_decode):
738         Make all detecting and decoding functions take an Extbyte * arg.
739         (text_encode_generic):
740         (encode_coding_big5):
741         (encode_coding_no_conversion):
742         (mule_encode):
743         Make all encoding functions take a Bufbyte * arg.
744         Use size_t instead of unsigned int for memory sizes.
745         Only cast to unsigned char whenever dereferencing Extbyte *.
746
747         (struct lrecord_description fcd_description_1): Use countof.
748         (complex_vars_of_file_coding):
749         Use countof instead of sizeof.
750         Use CHECK_NATNUM instead of CHECK_INT.
751
752 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
753
754         * mule-charset.c (Fget_char_attribute): Add new optional argument
755         `default-value'.
756         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
757         (remove_char_ccs): Likewise.
758
759 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
760
761         * text-coding.c (char_encode_shift_jis): New implementation in
762         UTF-2000.
763         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
764         ...)'.
765
766         * mule-charset.c (Vcharset_chinese_big5): New variable in
767         UTF-2000.
768         (Qchinese_big5): New variable in UTF-2000.
769         (BIG5_SAME_ROW): New macro in UTF-2000.
770         (make_builtin_char): Use builtin characters of
771         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
772         characters of `Vcharset_chinese_big5'.
773         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
774         (complex_vars_of_mule_charset): Add new coded-charset
775         `chinese-big5' in UTF-2000.
776
777         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
778         (Vcharset_chinese_big5): New external variable declaration.
779         (Vcharset_japanese_jisx0208_1990): Likewise.
780
781 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
782
783         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
784         function.
785         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
786
787 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
788
789         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
790         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
791         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
792         `mojikyo-pj-*'.
793
794 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
795
796         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
797
798 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
799
800         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
801         to 0.17.
802
803 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
804
805         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
806         for `CHARSET_BY_ATTRIBUTES'.
807         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
808         `CHARSET_BY_ATTRIBUTES'.
809
810         * text-coding.c (struct decoding_stream): Rename member `CH' to
811         `CPOS'.
812         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
813         (decode_coding_sjis): Likewise.
814         (decode_coding_big5): Likewise.
815         (decode_coding_ucs4): Likewise.
816         (decode_coding_utf8): Likewise.
817         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
818         `CHARSET_BY_ATTRIBUTES'.
819         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
820         `str->counter'; decode 3, 4 bytes sets.
821         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
822         sets.
823         (decode_coding_no_conversion): Use `str->cpos' instead of
824         `str->ch'.
825
826         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
827         (Qmojikyo_2022_1): New variable.
828         (make_charset): Don't use `CHARSET_TYPE_*'.
829         (range_charset_code_point): Support coded-charset
830         `mojikyo-2022-1'.
831         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
832         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
833         `CHARSET_BY_ATTRIBUTES'.
834         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
835         `CHARSET_BY_ATTRIBUTES'.
836         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
837         (complex_vars_of_mule_charset): Add new coded-charset
838         `mojikyo-2022-1'.
839
840         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
841         interface; changed to inline function.
842
843         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
844         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
845         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
846         (CHARSET_TYPE_94): Deleted.
847         (CHARSET_TYPE_94X94): Deleted.
848         (CHARSET_TYPE_96): Deleted.
849         (CHARSET_TYPE_96X96): Deleted.
850         (CHARSET_TYPE_128): Deleted.
851         (CHARSET_TYPE_128X128): Deleted.
852         (CHARSET_TYPE_256): Deleted.
853         (CHARSET_TYPE_256X256): Deleted.
854         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
855         to inline function.
856         (DECODE_MOJIKYO_2022): New inline function.
857         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
858         `Vcharset_mojikyo_2022_1'.
859
860 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
863         instead of `EQ'.
864         (put_byte_table): Likewise.
865         (char_id_table_equal): Use `get_byte_table' [new implementation].
866
867 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
868
869         * mule-charset.c: Include <limits.h> in UTF-2000.
870         (BT_UINT8_MIN): New macro in UTF-2000.
871         (BT_UINT8_MAX): New macro in UTF-2000.
872         (BT_UINT8_t): New macro in UTF-2000.
873         (BT_UINT8_nil): New macro in UTF-2000.
874         (BT_UINT8_unbound): New macro in UTF-2000.
875         (INT_UINT8_P): New inline function in UTF-2000.
876         (UINT8_VALUE_P): New inline function in UTF-2000.
877         (UINT8_ENCODE): New inline function in UTF-2000.
878         (UINT8_DECODE): New inline function in UTF-2000.
879         (mark_uint8_byte_table): New function in UTF-2000.
880         (print_uint8_byte_table): New function in UTF-2000.
881         (uint8_byte_table_equal): New function in UTF-2000.
882         (uint8_byte_table_hash): New function in UTF-2000.
883         (make_uint8_byte_table): New function in UTF-2000.
884         (uint8_byte_table_same_value_p): New function in UTF-2000.
885         (BT_UINT16_MIN): New macro in UTF-2000.
886         (BT_UINT16_MAX): New macro in UTF-2000.
887         (BT_UINT16_t): New macro in UTF-2000.
888         (BT_UINT16_nil): New macro in UTF-2000.
889         (BT_UINT16_unbound): New macro in UTF-2000.
890         (INT_UINT16_P): New inline function in UTF-2000.
891         (UINT16_VALUE_P): New inline function in UTF-2000.
892         (UINT16_ENCODE): New inline function in UTF-2000.
893         (UINT16_DECODE): New inline function in UTF-2000.
894         (UINT8_TO_UINT16): New inline function in UTF-2000.
895         (mark_uint16_byte_table): New function in UTF-2000.
896         (print_uint16_byte_table): New function in UTF-2000.
897         (uint16_byte_table_equal): New function in UTF-2000.
898         (uint16_byte_table_hash): New function in UTF-2000.
899         (make_uint16_byte_table): New function in UTF-2000.
900         (uint16_byte_table_same_value_p): New function in UTF-2000.
901         (print_byte_table): New function in UTF-2000.
902         (byte-table): Use `print_byte_table' as printer.
903         (make_byte_table): Delete second argument `older'.
904         (byte_table_same_value_p): New function in UTF-2000.
905         (copy_byte_table): Deleted.
906         (get_byte_table): New function in UTF-2000.
907         (put_byte_table): New function in UTF-2000.
908         (print_char_id_table): New function in UTF-2000.
909         (char-id-table): Use `print_char_id_table' as printer.
910         (make_char_id_table): Delete second argument `older'.
911         (get_char_id_table): Use `get_byte_table [new implementation].
912         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
913         implementation].
914         (Ffind_char_attribute_table): New function in UTF-2000.
915         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
916         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
917         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
918         (syms_of_mule_charset): Add new function
919         `find-char-attribute-table' in UTF-2000.
920
921         * lrecord.h (enum lrecord_type): Add
922         `lrecord_type_uint16_byte_table' and
923         `lrecord_type_uint8_byte_table'.
924
925         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
926         (Lisp_Uint8_Byte_Table): New type.
927         (XUINT8_BYTE_TABLE): New macro.
928         (XSETUINT8_BYTE_TABLE): New macro.
929         (UINT8_BYTE_TABLE_P): New macro.
930         (GC_UINT8_BYTE_TABLE_P): New macro.
931         (struct Lisp_Uint16_Byte_Table): New structure.
932         (Lisp_Uint16_Byte_Table): New type.
933         (XUINT16_BYTE_TABLE): New macro.
934         (XSETUINT16_BYTE_TABLE): New macro.
935         (UINT16_BYTE_TABLE_P): New macro.
936         (GC_UINT16_BYTE_TABLE_P): New macro.
937
938 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
939
940         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
941         (Vcharacter_ideographic_strokes_table): Deleted.
942         (Vcharacter_total_strokes_table): Deleted.
943         (Vcharacter_morohashi_daikanwa_table): Deleted.
944         (Vcharacter_decomposition_table): Deleted.
945         (Qname): Deleted because it is duplicated.
946         (Qideographic_radical): Deleted.
947         (Qideographic_strokes): Deleted.
948         (Qtotal_strokes): Deleted.
949         (Qmorohashi_daikanwa): Deleted.
950         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
951         `ideographic-radical', `ideographic-strokes', `total-strokes',
952         `morohashi-daikanwa' and `->decomposition'.
953         (Fget_char_attribute): Likewise.
954         (Fput_char_attribute): Likewise; use `make-vector' instead of
955         `make_older_vector' for `->decomposition' value.
956         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
957         `ideograph-daikanwa'.
958         (syms_of_mule_charset): Delete builtin symbols `name',
959         `ideographic-radical', `ideographic-strokes', `total-strokes' and
960         `morohashi-daikanwa'.
961         (vars_of_mule_charset): Don't setup
962         `Vcharacter_ideographic_radical_table',
963         `Vcharacter_ideographic_strokes_table',
964         `Vcharacter_total_strokes_table',
965         `Vcharacter_morohashi_daikanwa_table' and
966         `Vcharacter_decomposition_table'.
967
968 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
969
970         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
971         `make_older_vector', `make_vector_newer_1' and
972         `make_vector_newer'.
973
974         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
975         `make_older_vector' and `make_vector_newer'.
976
977         * config.h.in (HAVE_GGC): New macro.
978
979 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
980
981         * mule-charset.c (struct char_attribute_list_closure): New
982         structure in UTF-2000.
983         (add_char_attribute_to_list_mapper): New function in UTF-2000.
984         (Fchar_attribute_list): Likewise.
985         (Fset_charset_mapping_table): Use `make_vector_newer'.
986         (Fdecode_builtin_char): New function in UTF-2000.
987         (syms_of_mule_charset): Add new function `char-attribute-list' and
988         `decode-builtin-char' in UTF-2000.
989
990         * lisp.h (make_vector_newer): New prototype.
991
992         * alloc.c (make_vector_newer_1): New function.
993         (make_vector_newer): New function.
994
995 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
996
997         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
998         50100)'.
999
1000 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1001
1002         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1003         (Vcharacter_attribute_table): Deleted.
1004         (Vcharacter_name_table): Deleted.
1005         (put_char_attribute): Deleted.
1006         (remove_char_attribute): Deleted.
1007         (struct char_attribute_alist_closure): New structure.
1008         (add_char_attribute_alist_mapper): New function.
1009         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1010         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1011         (Fget_char_attribute): Likewise.
1012         (Fput_char_attribute): Likewise.
1013         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1014         of `remove_char_attribute'.
1015         (Fdefine_char): Return character.
1016         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1017         and `Vcharacter_name_table'.
1018         (complex_vars_of_mule_charset): Likewise
1019         `Vchar_attribute_hash_table'.
1020
1021 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1022
1023         * character.h (CHARC_CHARSET): New macro.
1024         (CHARC_CHARSET_ID): New macro.
1025         (CHARC_CODE_POINT): New macro.
1026         (CHARC_COLUMNS): New macro.
1027         (CHARC_TO_CHAR): New inline function.
1028         (CHARC_EQ): New inline function.
1029         (CHARC_ASCII_EQ): New inline function.
1030         (CHARC_IS_SPACE): New inline function.
1031         (ASCII_TO_CHARC): New inline function.
1032
1033         * char-ucs.h (encode_char_2): Deleted.
1034         (ENCODE_CHAR): Use `encode_char_1' again.
1035         (breakup_char_1): Likewise.
1036         (CHAR_TO_CHARC): New inline function.
1037
1038         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1039
1040 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1041
1042         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1043         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1044         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1045         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1046         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1047         `CHARC_IS_SPACE'.
1048         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1049
1050         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1051         `CHARC_CODE_POINT'.
1052         (x_output_display_block): Use `CHARC_CHARSET' and
1053         `CHARC_ASCII_EQ'.
1054
1055         * redisplay-tty.c (tty_output_display_block): Use
1056         `CHARC_ASCII_EQ'.
1057         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1058
1059         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1060
1061         * insdel.c (find_charsets_in_charc_string): Use
1062         `CHARC_CHARSET_ID'.
1063         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1064         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1065         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1066         (convert_charc_string_into_malloced_string): Likewise.
1067
1068 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1069
1070         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1071         instead of <Emchar_dynarr *> for buf; use
1072         `convert_bufbyte_string_into_charc_dynarr' instead of
1073         `convert_bufbyte_string_into_emchar_dynarr'; use
1074         `find_charsets_in_charc_string' instead of
1075         `find_charsets_in_emchar_string'.
1076
1077         * redisplay.h:
1078         - Include "character.h".
1079         (struct rune): New member `cglyph'; delete member `chr'.
1080
1081         * redisplay.c (redisplay_text_width_charc_string): New function;
1082         delete `redisplay_text_width_emchar_string'.
1083         (rtw_charc_dynarr): New variable; renamed from
1084         `rtw_emchar_dynarr'.
1085         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1086         `rtw_emchar_dynarr'; use
1087         `convert_bufbyte_string_into_charc_dynarr' instead of
1088         `convert_bufbyte_string_into_emchar_dynarr'; use
1089         `redisplay_text_width_charc_string' instead of
1090         `redisplay_text_width_emchar_string'.
1091         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1092         instead of `rtw_emchar_dynarr'; use
1093         `convert_bufbyte_string_into_charc_dynarr' instead of
1094         `convert_bufbyte_string_into_emchar_dynarr'.
1095         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1096         `redisplay_text_width_charc_string' instead of
1097         `redisplay_text_width_emchar_string'.
1098         (create_text_block): Modify for <struct rune> change.
1099         (generate_formatted_string_db): Likewise.
1100         (create_string_text_block): Likewise.
1101         (pixel_to_glyph_translation): Likewise.
1102
1103         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1104         instead of <const Emchar *>.
1105         (x_text_width): Likewise.
1106         (x_output_display_block): Use <Charc_dynarr *> instead
1107         <Emchar_dynarr *>; modify for <structure rune> change.
1108         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1109         *>.
1110
1111         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1112         <const Emchar *>; use `charc_string_displayed_columns' instead of
1113         `emchar_string_displayed_columns'.
1114         (tty_output_display_block): Use <Charc_dynarr *> instead of
1115         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1116         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1117         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1118         `tty_output_emchar_dynarr_dynarr'.
1119         (tty_output_charc_dynarr): New function; delete
1120         `tty_output_charc_dynarr'.
1121
1122         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1123         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1124         <Emchar_dynarr *> for buf; use
1125         `convert_bufbyte_string_into_charc_dynarr' instead of
1126         `convert_bufbyte_string_into_emchar_dynarr'.
1127
1128         * frame.c (title_string_charc_dynarr): New variable; renamed from
1129         `title_string_emchar_dynarr'.
1130         (generate_title_string): Use `title_string_charc_dynarr' instead
1131         of `title_string_emchar_dynarr'; use
1132         `convert_charc_string_into_malloced_string' instead of
1133         `convert_emchar_string_into_malloced_string'.
1134         (init_frame): Use `title_string_charc_dynarr' instead of
1135         `title_string_emchar_dynarr'.
1136
1137         * console.h:
1138         - Include "character.h".
1139         (struct console_methods): Use <const Charc *> instead of <const
1140         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1141         <Emchar_dynarr *> in output_string_method.
1142
1143         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1144         <Emchar_dynarr *>.
1145
1146         * console-stream.c (stream_text_width): Use <const Charc *>
1147         instead of <const Emchar *>.
1148
1149         * character.h (Charc_dynarr): New type.
1150
1151         * char-ucs.h (structure Charc): New structure; define new type
1152         `Charc'.
1153
1154         * char-lb.h (DECODE_CHAR): New inline function.
1155         (encode_char_1): New inline function.
1156         (ENCODE_CHAR): New macro.
1157         (structure Charc): New structure; define new type `Charc'.
1158
1159         * char-1byte.h (Vcharset_control_1): New macro.
1160         (Vcharset_latin_iso8859_1): New macro.
1161         (DECODE_CHAR): New inline function.
1162         (encode_char_1): New inline function.
1163         (ENCODE_CHAR): New macro.
1164         (structure Charc): New structure; define new type `Charc'.
1165
1166         * insdel.c (find_charsets_in_charc_string): New function; delete
1167         `find_charsets_in_emchar_string'.
1168         (charc_string_displayed_columns): New function; delete
1169         `emchar_string_displayed_columns'.
1170         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1171         `convert_bufbyte_string_into_emchar_dynarr'.
1172         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1173         `convert_charc_string_into_bufbyte_dynarr'.
1174         (convert_charc_string_into_malloced_string): New function; delete
1175         `convert_charc_string_into_malloced_string'.
1176
1177         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1178         `find_charsets_in_emchar_string'.
1179         (charc_string_displayed_columns): New prototype; delete
1180         `emchar_string_displayed_columns'.
1181         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1182         `convert_charc_string_into_bufbyte_dynarr'.
1183         (convert_charc_string_into_malloced_string): New prototype; delete
1184         `convert_charc_string_into_malloced_string'.
1185
1186 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1187
1188         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1189
1190 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1191
1192         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1193
1194         * char-ucs.h: Use <short> for <Charset_ID>.
1195
1196         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1197         <Charset_ID>.
1198
1199 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1200
1201         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1202         to 0.16.
1203
1204 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1205
1206         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1207         variable.
1208         (Qmorohashi_daikanwa): New variable.
1209         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1210         for `morohashi-daikanwa' attribute.
1211         (Fget_char_attribute): Likewise.
1212         (Fput_char_attribute): Likewise.
1213         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1214         has the same value of `ideograph-daikanwa'.
1215         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1216         (vars_of_mule_charset): Setup
1217         `Vcharacter_morohashi_daikanwa_table'.
1218
1219 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1220
1221         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1222         attributes.
1223         (add_charset_to_list_mapper): Add `key' instead of
1224         `XCHARSET_NAME (value)' to return aliases.
1225
1226 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1227
1228         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1229         variable.
1230         (Vcharacter_ideographic_strokes_table): New variable.
1231         (Qideographic_radical): New variable.
1232         (Qideographic_strokes): New variable.
1233         (Fchar_attribute_alist): Use
1234         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1235         attribute; use `Vcharacter_ideographic_strokes_table' for
1236         `ideographic-strokes' attribute.
1237         (Fget_char_attribute): Likewise.
1238         (Fput_char_attribute): Likewise.
1239         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1240         `ideographic-strokes'.
1241         (vars_of_mule_charset): Setup
1242         `Vcharacter_ideographic_radical_table' and
1243         `Vcharacter_ideographic_strokes_table'.
1244
1245 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1246
1247         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1248         (Qtotal_strokes): New variable.
1249         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1250         `total-strokes' attribute.
1251         (Fget_char_attribute): Likewise.
1252         (Fput_char_attribute): Likewise.
1253         (syms_of_mule_charset): Add new symbol `total-strokes'.
1254         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1255
1256 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1257
1258         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1259         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1260         are found.
1261         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1262         `->decomposition' attribute.
1263         (Fput_char_attribute): Likewise.
1264         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1265
1266 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1267
1268         * mule-charset.c (decoding_table_check_elements): New function.
1269         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1270
1271 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1272
1273         * mule-charset.c (Fset_charset_mapping_table): Use
1274         `put_char_ccs_code_point'.
1275
1276 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1277
1278         * mule-charset.c (decoding_table_put_char): New inline function.
1279         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1280
1281 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1282
1283         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1284         (XCHARSET_BYTE_SIZE): New macro.
1285         (decoding_table_remove_char): New inline function.
1286         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1287         `decoding_table_remove_char'.
1288         (remove_char_ccs): Use `decoding_table_remove_char'.
1289         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1290
1291 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1292
1293         * mule-charset.c (Vcharacter_name_table): New variable.
1294         (Qname): New variable.
1295         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1296         attribute.
1297         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1298         `Vcharacter_name_table' for `name' attribute.
1299         (Fremove_char_attribute): Use function `remove_char_ccs'.
1300         (put_char_ccs_code_point): New function.
1301         (remove_char_ccs): New function.
1302         (syms_of_mule_charset): Add new symbol `name'.
1303         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1304
1305 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1306
1307         * mule-charset.c (make_byte_table): Add new argument `older'.
1308         (make_char_id_table): Likewise.
1309         (copy_char_id_table): Comment out because it is not used.
1310         (put_char_id_table): Modify for `make_byte_table'.
1311         (Fput_char_attribute): Make encoding_table as older object;
1312         inherit older bit of `Vcharacter_composition_table'.
1313         (mark_charset): Don't mark `cs->encoding_table'.
1314         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1315         normal object; make `Vcharacter_composition_table' as an older
1316         object; delete staticpro for `Vcharacter_composition_table'; make
1317         `Vcharacter_variant_table' as a normal object.
1318
1319         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1320         (mark_object): Don't check older object in UTF-2000.
1321
1322         * lrecord.h (struct lrecord_header): Add new member `older' in
1323         UTF-2000.
1324         (set_lheader_implementation): Setup `SLI_header->older' in
1325         UTF-2000.
1326         (set_lheader_older_implementation): New macro in UTF-2000.
1327         (OLDER_RECORD_P): New macro in UTF-2000.
1328         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1329         (alloc_older_lcrecord): New prototype in UTF-2000.
1330         (alloc_older_lcrecord_type): New macro in UTF-2000.
1331
1332 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1333
1334         * mule-charset.c (byte_table_description): Use
1335         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1336         (char_id_table_description): Delete bogus `, 1'.
1337         (Fget_char_attribute): Refer encoding_table of each coded-charset
1338         to get value of coded-charset attribute of a character.
1339         (Fput_char_attribute): Use `make_older_vector' instead of
1340         `make_vector'; use encoding_table of each coded-charset to store
1341         value of coded-charset attribute of a character.
1342         (Fremove_char_attribute): Use encoding_table of each coded-charset
1343         to store value of coded-charset attribute of a character.
1344         (mark_charset): Mark `cs->encoding_table'; don't mark
1345         `cs->decoding_table'.
1346         (charset_description): Add description of new member
1347         `encoding_table'.
1348         (make_charset): Initialize `encoding_table'.
1349
1350         * char-ucs.h (struct Lisp_Charset): Add new member
1351         `encoding_table'.
1352         (CHARSET_ENCODING_TABLE): New macro.
1353         (XCHARSET_ENCODING_TABLE): New macro.
1354         (charset_code_point): New implementation.
1355         (encode_char_1): Likewise.
1356
1357         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1358         (disksave_object_finalization_1): Call finalizers of
1359         `all_older_lcrecords' in UTF-2000.
1360         (make_older_vector): New function in UTF-2000.
1361         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1362         UTF-2000.
1363
1364         * lisp.h (make_older_vector): New prototype in UTF-2000.
1365
1366 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1367
1368         * lrecord.h (enum lrecord_type): Rename
1369         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1370
1371         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1372         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1373         `get_char_code_table'.
1374
1375         * mule-charset.c (mark_char_id_table): Renamed from
1376         `mark_char_code_table'.
1377         (char_id_table_equal): Renamed from `char_code_table_equal'.
1378         (char_id_table_hash): Renamed from `char_code_table_hash'.
1379         (make_char_id_table): Renamed from `make_char_code_table'.
1380         (copy_char_id_table): Renamed from `copy_char_code_table'.
1381         (get_char_id_table): Renamed from `get_char_code_table'.
1382         (put_char_id_table): Renamed from `put_char_code_table'.
1383         (to_char_id): Renamed from `to_char_code'.
1384
1385         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1386         `Lisp_Char_Code_Table'.
1387         (char_id_table): Renamed from `char_code_table'.
1388         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1389         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1390         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1391         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1392         (get_char_id_table): Renamed from `get_char_code_table'.
1393
1394 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1395
1396         * lrecord.h (enum lrecord_type): Rename
1397         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1398
1399         * mule-charset.c (mark_byte_table): Renamed from
1400         `mark_char_byte_table'.
1401         (byte_table_equal): Renamed from `char_byte_table_equal'.
1402         (byte_table_hash): Renamed from `byte_table_hash'.
1403         (make_byte_table): Renamed from `make_byte_table'.
1404         (copy_byte_table): Renamed from `copy_char_byte_table'.
1405
1406         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1407         `Lisp_Char_Byte_Table'.
1408         (byte_table): Renamed from `char_byte_table'.
1409         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1410         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1411         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1412         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1413
1414 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1415
1416         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1417         (dfc_convert_to_internal_format): Likewise.
1418         
1419         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1420         * text-coding.c (Fcoding_system_alias_p): New function.
1421         * text-coding.c (Fcoding_system_aliasee): New function.
1422         * text-coding.c (append_suffix_to_symbol): New function.
1423         * text-coding.c (dangling_coding_system_alias_p): New function.
1424         * text-coding.c (Ffind_coding_system):
1425         * text-coding.c (Fcopy_coding_system):
1426         * text-coding.c (encode_coding_no_conversion):
1427         * text-coding.c (syms_of_file_coding):
1428         * text-coding.c (vars_of_file_coding):
1429         Rewrite coding system alias code.
1430         Allow nested aliases, like symbolic links.
1431         Allow redefinition of coding system aliases.
1432         Prevent existence of dangling coding system aliases.
1433         Eliminate convert_to_external_format.
1434         Eliminate convert_to_internal_format.
1435         
1436         * text-coding.c: Change enum eol_type to eol_type_t.
1437
1438 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1439
1440         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1441         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1442
1443         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1444         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1445
1446 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1447
1448         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1449         `ideograph-daikanwa'.
1450
1451         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1452         (Vcharset_ucs_bmp): Likewise.
1453         (Vcharset_mojikyo): Add new extern variable definition.
1454         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1455         (Vcharset_latin_iso8859_3): Likewise.
1456         (Vcharset_latin_iso8859_4): Likewise.
1457         (Vcharset_latin_iso8859_9): Likewise.
1458         (Vcharset_latin_viscii_lower): Likewise.
1459         (Vcharset_latin_viscii_upper): Likewise.
1460         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1461         `mojikyo' code-point is used to decode.
1462         (encode_char_2): New function [to convert `mojikyo' code-point to
1463         Mojikyo font encoding].
1464         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1465         (breakup_char_1): Likewise.
1466         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1467
1468 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1469
1470         * text-coding.c (Fmake_coding_system): Add document about
1471         `disable-composition' property.
1472
1473 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1474
1475         * text-coding.c (Qdisable_composition): New variable; delete
1476         `Qcomposite'.
1477         (Fmake_coding_system): Add new property `disable-composite';
1478         delete property `composite'.
1479         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1480         instead of `!CODING_SYSTEM_COMPOSITE'.
1481         (syms_of_file_coding): Add new symbol `disable-composition';
1482         delete symbol `composite'.
1483
1484         * file-coding.h (struct Lisp_Coding_System): Add
1485         `disable_composition'; delete `enable_composition'.
1486         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1487         `CODING_SYSTEM_COMPOSITE'.
1488         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1489         `XCODING_SYSTEM_COMPOSITE'.
1490
1491 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1492
1493         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1494         to 0.15.
1495
1496 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1497
1498         * text-coding.c (Qcomposite): New variable.
1499         (Fmake_coding_system): Add new property `composite'.
1500         (struct decoding_stream): Add `combined_char_count',
1501         `combined_chars' and `combining_table' in UTF-2000.
1502         (COMPOSE_FLUSH_CHARS): New macro.
1503         (COMPOSE_ADD_CHAR): New macro.
1504         (reset_decoding_stream): Reset `str->combined_char_count' and
1505         `str->combining_table' in UTF-2000.
1506         (decode_coding_iso2022): Modify for character-decomposition.
1507         (syms_of_file_coding): Add new symbol `composite'.
1508
1509 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1510
1511         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1512         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1513         of `Vcharacter_composition_table' if `->decomposition' property
1514         has only 1 element.
1515         (Qlatin_tcvn5712): New variable.
1516         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1517         (complex_vars_of_mule_charset): Add new coded-charset
1518         `latin-tcvn5712'.
1519
1520         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1521
1522 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1523
1524         * file-coding.h (struct Lisp_Coding_System): Add
1525         `enable_composition'.
1526         (CODING_SYSTEM_COMPOSITE): New macro.
1527         (XCODING_SYSTEM_COMPOSITE): New macro.
1528
1529 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1530
1531         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1532
1533 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1534
1535         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1536         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1537
1538 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1539
1540         * mule-charset.c (Vcharset_mojikyo): New variable.
1541         (Fdefine_char): Don't use coded-charset which does not have
1542         non-builtin character range to allocate character-id.
1543         (Qmojikyo): New variable.
1544         (syms_of_mule_charset): Add new symbol `mojikyo'.
1545         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1546
1547         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1548         (LEADING_BYTE_MOJIKYO): New macro.
1549         (MIN_CHAR_MOJIKYO): New macro.
1550         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1551         (MAX_CHAR_MOJIKYO): New macro.
1552
1553 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1554
1555         * mule-charset.c (remove_char_attribute): Fixed.
1556
1557 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1558
1559         * mule-charset.c (remove_char_attribute): New function.
1560         (Fremove_char_attribute): New function.
1561         (encode_builtin_char_1): Comment out builtin-support for
1562         greek-iso8859-7 and cyrillic-iso8859-5.
1563         (Fdecode_char): Check `code' is an integer.
1564         (syms_of_mule_charset): Add `remove-char-attribute'.
1565         (MIN_CHAR_GREEK): Deleted.
1566         (MAX_CHAR_GREEK): Likewise.
1567         (MIN_CHAR_CYRILLIC): Likewise.
1568         (MAX_CHAR_CYRILLIC): Likewise.
1569         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1570         MAX_CHAR_GREEK for `greek-iso8859-7'.
1571
1572         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1573         (MAX_CHAR_GREEK): Likewise.
1574         (MIN_CHAR_CYRILLIC): Likewise.
1575         (MAX_CHAR_CYRILLIC): Likewise.
1576
1577 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1578
1579         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1580         format is used without `ucs' property.
1581         (Fdecode_char): Fix problem with GR representation.
1582         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1583         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1584
1585 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1586
1587         * mule-charset.c (make_builtin_char): New function.
1588         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1589         (Fset_charset_mapping_table): Modify for new representation of
1590         code-point.
1591         (Fdecode_char): New function.
1592         (syms_of_mule_charset): Add new builtin function `decode-char' in
1593         UTF-2000.
1594
1595         * char-ucs.h (make_builtin_char): New prototype.
1596         (DECODE_CHAR): New inline function.
1597         (MAKE_CHAR): Use `DECODE_CHAR'.
1598
1599 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1600
1601         * text-coding.c (parse_charset_conversion_specs): Use
1602         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1603         `XCHARSET_TYPE'.
1604         (iso2022_designate): Likewise.
1605
1606         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1607         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1608
1609         * mule-charset.c (Vcharset_ucs): New variable.
1610         (print_charset): Change design; use `CHARSET_CHARS' and
1611         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1612         (make_charset): Change signature to specify `chars' and
1613         `dimension' instead of `type'.
1614         (range_charset_code_point): Modify for 256^n-set.
1615         (encode_builtin_char_1): Encode as `ucs' in default.
1616         (Fmake_charset): Modify for `make_charset'.
1617         (Fmake_reverse_direction_charset): Likewise.
1618         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1619         UTF-2000.
1620         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1621         for `make_charset'.
1622
1623         * char-ucs.h (Vcharset_ucs): New variable.
1624         (LEADING_BYTE_UCS): New macro.
1625         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1626         and `chars' to `unsigned short' from `unsigned int'.
1627         (CHARSET_TYPE): Deleted.
1628         (XCHARSET_TYPE): Deleted.
1629
1630 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1631
1632         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1633
1634         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1635         (ENCODE_CHAR): New macro.
1636
1637 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1638
1639         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1640         to 0.14 (Kawachi-Katakami).
1641
1642 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1643
1644         * text-coding.c (char_encode_shift_jis): Modify for
1645         `charset_code_point'.
1646         (char_encode_iso2022): Likewise.
1647
1648         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1649         (integer) instead of list of <Lisp_Object>s (integers) as the
1650         format of code-point of a coded-charset.
1651         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1652         (encode_builtin_char_1): New function; delete
1653         `split_builtin_char'.
1654         (charset_code_point): Return <int> instead of <Lisp_Object>.
1655         (Fsplit_char): Don't use `SPLIT_CHAR'.
1656
1657         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1658         prototype for `split_builtin_char'.
1659         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1660         (charset_code_point): Likewise.
1661         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1662         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1663
1664 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1665
1666         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1667         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1668
1669 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1670
1671         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1672
1673         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1674         (MAX_CHAR_OBS_94x94): Deleted.
1675
1676 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1677
1678         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1679
1680         * char-ucs.h (MAX_CHAR_BMP): New macro.
1681
1682 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1683
1684         * text-coding.c: Sync with r21-2-24.
1685
1686 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1687
1688         * file-coding.c: Modify for UTF-2000.
1689
1690 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1691
1692         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1693         to 0.13 (Takaida).
1694
1695 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1696
1697         * mule-charset.c (split_builtin_char): Delete builtin support for
1698         `katakana-jisx0201'.
1699         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1700         BMP area in builtin representation.
1701
1702         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1703         `Vcharset_katakana_jisx0201'.
1704
1705 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1706
1707         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1708         (Qisolated): New variable.
1709         (Qinitial): New variable.
1710         (Qmedial): New variable.
1711         (Qfinal): New variable.
1712         (Qvertical): New variable.
1713         (Qsmall): New variable.
1714         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1715         `Qvertical' and `Qsmall'.
1716         (Qmojikyo_pj_[1 .. 21]): New variable.
1717         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1718         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1719         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1720         .. 21]'.
1721
1722 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1723
1724         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1725         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1726         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1727
1728 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1729
1730         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1731         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1732         BMP.
1733         (Qjapanese_jisx0208_1990): New variable.
1734         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1735         (complex_vars_of_mule_charset): Add new coded-charset
1736         `japanese-jisx0208-1990'.
1737
1738         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1739         (MIN_CHAR_JIS_X0208_1990): New macro.
1740         (MAX_CHAR_JIS_X0208_1990): New macro.
1741
1742 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1743
1744         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1745         coded-charset is not found.
1746
1747 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1748
1749         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1750         (Fdefine_char): Use `Fmake_char'.
1751
1752 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1753
1754         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1755         (Vcharset_hiragana_jisx0208): Deleted.
1756         (Vcharset_katakana_jisx0208): Deleted.
1757         (Qideograph_daikanwa): New variable.
1758         (Qhiragana_jisx0208): Deleted.
1759         (Qkatakana_jisx0208): Deleted.
1760         (split_builtin_char): Split `ideograph-daikanwa'.
1761         (Fsplit_char): New implementation for UTF-2000.
1762         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1763         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1764         (complex_vars_of_mule_charset): Add new coded-charset
1765         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1766         `katakana-jisx0208'.
1767
1768         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1769         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1770         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1771         (MIN_CHAR_DAIKANWA): New macro.
1772         (MAX_CHAR_DAIKANWA): New macro.
1773
1774 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1775
1776         * data.c (Fstring_to_number): Don't recognize floating point if
1777         base is not 10.
1778
1779 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1780
1781         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1782
1783 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1784
1785         * mule-charset.c (Qsquare): New variable.
1786         (to_char_code): Add `Qsquare'.
1787         (syms_of_mule_charset): Add new symbol `square'.
1788
1789 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1790
1791         * mule-charset.c (Qcircle): New variable.
1792         (to_char_code): Add `Qcircle'.
1793         (syms_of_mule_charset): Add new symbol `circle'.
1794
1795 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1796
1797         * mule-charset.c (Qfont): New variable.
1798         (to_char_code): Add `Qfont'.
1799         (syms_of_mule_charset): Add new symbol `font'.
1800
1801 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1802
1803         * mule-charset.c (Qsub): New variable.
1804         (to_char_code): Add `Qsub'.
1805         (syms_of_mule_charset): Add new symbol `sub'.
1806
1807 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1808
1809         * mule-charset.c (Fput_char_attribute): Convert each element of
1810         VALUE to GL position if ATTRIBUTE is a GR-set,
1811
1812 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1813
1814         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
1815         coded-charset is a GR-set.
1816
1817 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1818
1819         * mule-charset.c (Fput_char_attribute): Check each element of
1820         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
1821
1822 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1823
1824         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
1825         UTF-2000.
1826         (Qethiopic_ucs): New variable in UTF-2000.
1827         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
1828         (complex_vars_of_mule_charset): Add new coded-charset
1829         `ethiopic-ucs' in UTF-2000.
1830
1831         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
1832         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1833         9)'.
1834         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
1835         10)'.
1836         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
1837
1838 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
1839
1840         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
1841         `ascii'.
1842
1843 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1844
1845         * mule-charset.c (Vcharacter_variant_table): New variable.
1846         (Q_ucs): New variable.
1847         (Fchar_variants): New function.
1848         (Fput_char_attribute): Register `->ucs' value to
1849         `Vcharacter_variant_table'.
1850         (syms_of_mule_charset): Add new function `char-variants' and new
1851         symbol `->ucs'.
1852         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
1853
1854 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1855
1856         * mule-charset.c (get_char_code_table): Allow negative character
1857         code.
1858         (put_char_code_table): Likewise.
1859         (Vcharacter_composition_table): New variable.
1860         (Q_decomposition): New variable.
1861         (Qwide): New variable.
1862         (Qnarrow): New variable.
1863         (Qcompat): New variable.
1864         (QnoBreak): New variable.
1865         (Qsuper): New variable.
1866         (Qfraction): New variable.
1867         (to_char_code): New function.
1868         (Fget_composite_char): New function.
1869         (Fput_char_attribute): Register `->decomposition' value to
1870         `Vcharacter_composition_table'.
1871         (syms_of_mule_charset): Add new function `get-composite-char', new
1872         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
1873         `super' and `fraction'.
1874         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
1875
1876 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1877
1878         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
1879         character; copy the return value.
1880
1881 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1882
1883         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
1884
1885         * mule-charset.c (range_charset_code_point): Must use make_int.
1886         (split_builtin_char): New function.
1887
1888 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
1889
1890         * mule-charset.c (char_byte_table): Change name from
1891         "char-code-table" to "char-byte-table".
1892         (mark_char_code_table): New function.
1893         (char_code_table_equal): New function.
1894         (char_code_table_hash): New function.
1895         (char_code_table_description): New constant.
1896         (char_code_table): New type.
1897         (make_char_code_table): New function.
1898         (copy_char_code_table): New function.
1899         (get_char_code_table): Modify for `char_code_table' type.
1900         (put_char_code_table): Likewise.
1901         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
1902         (Kashiwara).
1903
1904         * char-ucs.h (char_code_table): New type.
1905         (XCHAR_CODE_TABLE): New macro.
1906         (XSETCHAR_CODE_TABLE): New macro.
1907         (CHAR_CODE_TABLE_P): New macro.
1908         (GC_CHAR_CODE_TABLE_P): New macro.
1909         (struct Lisp_Char_Code_Table): New structure.
1910
1911 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1912
1913         * mule-charset.c (Fmake_charset): Setup byte_offset for
1914         {94|96}^n-set.
1915
1916 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1917
1918         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
1919         character.
1920
1921 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1922
1923         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
1924         is found.
1925
1926 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
1927
1928         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
1929         charset, it is regarded as a charset.
1930         (put_char_attribute): New function in UTF-2000.
1931         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
1932         charset, mapping-table of the charset is modified.
1933         (Fdefine_char): New function in UTF-2000.
1934         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
1935         `Fput_char_attribute'.
1936         (syms_of_mule_charset): Add new function `define-char' and new
1937         symbol `ucs' in UTF-2000.
1938         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
1939
1940 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1941
1942         * mule-charset.c (Fcharset_name): Define `byte_offset' in
1943         non-UTF-2000 configuration.
1944
1945 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1946
1947         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
1948         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
1949
1950         * mule-charset.c (mark_charset): `cs->encoding_table' has been
1951         deleted.
1952         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
1953         (Fset_charset_mapping_table): Likewise.
1954
1955         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
1956         (CHARSET_ENCODING_TABLE): Delete.
1957         (XCHARSET_ENCODING_TABLE): Delete.
1958         (charset_code_point): New interface.
1959
1960 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
1961
1962         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
1963         instead of `charset_get_byte1' and `charset_get_byte2'.
1964
1965         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
1966         (charset_get_byte2): Deleted.
1967
1968 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1969
1970         * char-ucs.h (SPLIT_CHAR): New inline function.
1971         (breakup_char_1): Use `SPLIT_CHAR'.
1972
1973         * mule-charset.c (range_charset_code_point): New function.
1974         (charset_code_point): New function.
1975
1976         * char-ucs.h (range_charset_code_point): New interface.
1977         (breakup_char_1): Use `range_charset_code_point'.
1978
1979 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1980
1981         * mule-charset.c (Fmake_charset): Delete unused local variable
1982         `code_offset'.
1983
1984         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
1985         (breakup_char_1): Find a charset and code-point in
1986         `Vcharacter_attribute_table'.
1987
1988 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
1989
1990         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1991         to 0.10 (Yao).
1992
1993 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
1994
1995         * mule-charset.c (Vcharacter_attribute_table): New variable.
1996         (Fchar_attribute_alist): New function.
1997         (Fget_char_attribute): New function.
1998         (Fput_char_attribute): New function.
1999         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2000         too.
2001         (syms_of_mule_charset): Add new function `char-attribute-alist',
2002         `get-char-attribute' and `put-char-attribute'.
2003         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2004
2005 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2006
2007         * mule-charset.c (Fmake_charset): Just use
2008         `get_unallocated_leading_byte'.
2009
2010         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2011         sets; don't use final-byte based number for private sets.
2012
2013 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2014
2015         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2016         integer.
2017
2018 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2019
2020         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2021         to 0.9.
2022
2023 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2024
2025         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2026         of `CHAR_LEADING_BYTE' in UTF-2000.
2027
2028         * insdel.c (find_charsets_in_bufbyte_string): Use
2029         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2030         (find_charsets_in_emchar_string): Likewise.
2031
2032         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2033         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2034
2035         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2036         (CHAR_CHARSET_ID): New macro.
2037
2038 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2039
2040         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2041         charset-id - MIN_LEADING_BYTE.
2042         (put_char_table): Likewise.
2043
2044 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2045
2046         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2047         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2048         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2049         (CHARSET_ID_OFFSET): New macro.
2050         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2051         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2052         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2053         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2054         4).
2055         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2056         5).
2057         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2058         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2059         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2060         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2061         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2062
2063 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2064
2065         * mule-charset.c (next_allocated_leading_byte): New variable in
2066         UTF-2000.
2067         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2068         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2069         (get_unallocated_leading_byte): Simply use
2070         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2071         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2072         UTF-2000.
2073
2074         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2075         (MAX_LEADING_BYTE_PRIVATE): New macro.
2076         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2077         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2078
2079 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2080
2081         * mule-charset.c (Fmake_charset): Allocate final-byte based
2082         charset-id for 94-set, 96-set and 94x94-set.
2083
2084 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2085
2086         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2087         ambiguous `else'.
2088         (Fmake_charset): Likewise.
2089         (complex_vars_of_mule_charset): Modify the font registry of
2090         `ucs-bmp' not to match `Ethiopic-Unicode'.
2091
2092 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2093
2094         * mule-charset.c (complex_vars_of_mule_charset): Add font
2095         registory of `ucs-bmp'.
2096
2097 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2098
2099         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2100         coded-charsets in `default-coded-charset-priority-list' when
2101         breaking up a character.
2102
2103         * mule-charset.c (Vcharset_latin_viscii): New variable.
2104         (Qlatin_viscii): New variable.
2105         (make_charset): Don't use `decoding_table'.
2106         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2107         byte_offset.
2108         (Fset_charset_mapping_table): New implementation.
2109         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2110         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2111         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2112         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2113         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2114         charset `latin_viscii'.
2115
2116         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2117         (CHARSET_TYPE_94X94): Change to 1 from 2.
2118         (CHARSET_TYPE_96): Change to 2 from 1.
2119         (CHARSET_TYPE_128): New macro.
2120         (CHARSET_TYPE_128X128): Change to 5 from 4.
2121         (CHARSET_TYPE_256): New macro.
2122         (CHARSET_TYPE_256X256): Change to 7 from 5.
2123         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2124
2125 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2126
2127         * text-coding.c (char_encode_shift_jis): Refer
2128         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2129         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2130
2131         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2132         (char_byte_table_equal): New function in UTF-2000.
2133         (char_byte_table_hash): New function in UTF-2000.
2134         (char_byte_table_description): New constant in UTF-2000.
2135         (char_byte_table): New type in UTF-2000.
2136         (make_char_byte_table): New function in UTF-2000.
2137         (copy_char_byte_table): New function in UTF-2000.
2138         (make_char_code_table): New macro in UTF-2000.
2139         (get_char_code_table): New function in UTF-2000.
2140         (put_char_code_table): New function in UTF-2000.
2141         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2142         (charset_description): Add setting in UTF-2000.
2143         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2144         `CHARSET_TO_BYTE1_TABLE(cs)'.
2145         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2146         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2147         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2148         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2149         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2150         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2151         `CHARSET_TO_BYTE2_TABLE(cs)'.
2152
2153         * char-ucs.h (char_byte_table): New type.
2154         (XCHAR_BYTE_TABLE): New macro.
2155         (XSETCHAR_BYTE_TABLE): New macro.
2156         (CHAR_BYTE_TABLE_P): New macro.
2157         (GC_CHAR_BYTE_TABLE_P): New macro.
2158         (struct Lisp_Char_Byte_Table): New structure.
2159         (get_char_code_table): New interface.
2160         (Emchar_to_byte_table): Deleted.
2161         (get_byte_from_character_table): Deleted.
2162         (struct Lisp_Charset): Add `encoding_table'; delete
2163         `to_byte1_table' and `to_byte2_table'.
2164         (CHARSET_ENCODING_TABLE): New macro.
2165         (CHARSET_TO_BYTE1_TABLE): Deleted.
2166         (CHARSET_TO_BYTE2_TABLE): Deleted.
2167         (XCHARSET_ENCODING_TABLE): New macro.
2168         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2169         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2170
2171 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2172
2173         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2174         `vietnamese-viscii-*'.
2175
2176 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2177
2178         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2179         (Qvietnamese_viscii_upper): New variable.
2180         (Fdefine_charset_alias): New function.
2181         (syms_of_mule_charset): Add new function `define-charset-alias'.
2182         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2183         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2184         `latin-viscii-*'.
2185
2186 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2187
2188         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2189         (MAX_CHAR_OBS_94x94): New macro.
2190         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2191         for 94x94 sets.
2192
2193         * mule-charset.c (put_byte_from_character_table): Change unit size
2194         from 128 to 256.
2195         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2196         not defined.
2197         (Fmake_reverse_direction_charset): Modify dummy argument of
2198         `make_charset' for non-UTF-2000 environment.
2199
2200 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2201
2202         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2203
2204         * mule-charset.c (destroy_byte_from_character_table): New macro.
2205         (latin_jisx0201_to_ucs): Deleted.
2206         (latin_iso8859_2_to_ucs): Deleted.
2207         (latin_iso8859_3_to_ucs): Deleted.
2208         (latin_iso8859_4_to_ucs): Deleted.
2209         (latin_iso8859_9_to_ucs): Deleted.
2210         (latin_viscii_lower_to_ucs): Deleted.
2211         (latin_viscii_upper_to_ucs): Deleted.
2212         (mark_charset): Mark `cs->decoding_table'.
2213         (Fcharset_mapping_table): Fix DOC-string.
2214         (Fset_charset_mapping_table): New function.
2215         (syms_of_mule_charset): Add nwe function
2216         `set-charset-mapping-table'.
2217         (complex_vars_of_mule_charset): Don't setup and use
2218         `latin_*_to_ucs'.
2219
2220 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2221
2222         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2223         charset.
2224
2225 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2226
2227         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2228         (Vcharset_katakana_jisx0208): New variable.
2229         (Qhiragana_jisx0208): New variable.
2230         (Qkatakana_jisx0208): New variable.
2231         (make_charset): Add new argument `byte_offset'.
2232         (charset_get_byte1): Modify for new coded-charset definition; use
2233         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2234         `XCHARSET_BYTE_OFFSET'.
2235         (Fmake_charset): Modify for `make_charset'.
2236         (Fmake_reverse_direction_charset): Likewise.
2237         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2238         `katakana-jisx0208'.
2239         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2240         `.'  in font registry of charset `katakana-jisx0201',
2241         `latin-jisx0201', `vietnamese-viscii-lower' and
2242         `vietnamese-viscii-upper'; modify DOC-string of charset
2243         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2244         registry of charset `japanese-jisx0208' not to use font for JIS
2245         X0208:1990; add new charset `hiragana-jisx0208' and
2246         `katakana-jisx0208'.
2247
2248         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2249         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2250         (struct Lisp_Charset): Add `byte_offset'.
2251         (CHARSET_BYTE_OFFSET): New macro.
2252         (XCHARSET_UCS_MIN): New macro.
2253         (XCHARSET_UCS_MAX): New macro.
2254         (XCHARSET_CODE_OFFSET): New macro.
2255         (XCHARSET_BYTE_OFFSET): New macro.
2256         (MIN_CHAR_HIRAGANA): New macro.
2257         (MAX_CHAR_HIRAGANA): New macro.
2258         (MIN_CHAR_KATAKANA): New macro.
2259         (MAX_CHAR_KATAKANA): New macro.
2260         (MAKE_CHAR): Modify for new coded-charset definition; use
2261         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2262         `XCHARSET_BYTE_OFFSET'.
2263
2264 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2265
2266         * mule-charset.c (CHAR96): Deleted.
2267         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2268         <Lisp_Object>.
2269         (latin_iso8859_2_to_ucs): Likewise.
2270         (latin_iso8859_3_to_ucs): Likewise.
2271         (latin_iso8859_4_to_ucs): Likewise.
2272         (latin_iso8859_9_to_ucs): Likewise.
2273         (latin_viscii_lower_to_ucs): Likewise.
2274         (latin_viscii_upper_to_ucs): Likewise.
2275         (latin_tcvn5712_to_ucs): Commented out.
2276         (make_charset): Change type of argument `decoding_table' from
2277         <Emchar*> to <Lisp_Object> [vector of characters].
2278         (Fmake_charset): Modify for `make_charset'.
2279         (Fmake_reverse_direction_charset): Likewise.
2280         (Fcharset_mapping_table): New function in UTF-2000.
2281         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2282         UTF-2000.
2283         (complex_vars_of_mule_charset): Modify for type change of
2284         `*_to_ucs'; modify for `make_charset'.
2285
2286         * char-ucs.h (struct Lisp_Charset): Change type of
2287         `decoding_table' from <Emchar*> to <Lisp_Object>.
2288         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2289
2290 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2291
2292         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2293         error with non-UTF-2000-Mule.
2294
2295 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2296
2297         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2298         in lisp again].
2299         (Vcharset_chinese_cns11643_4): Likewise.
2300         (Vcharset_chinese_cns11643_5): Likewise.
2301         (Vcharset_chinese_cns11643_6): Likewise.
2302         (Vcharset_chinese_cns11643_7): Likewise.
2303         (Qchinese_cns11643_3): Likewise.
2304         (Qchinese_cns11643_4): Likewise.
2305         (Qchinese_cns11643_5): Likewise.
2306         (Qchinese_cns11643_6): Likewise.
2307         (Qchinese_cns11643_7): Likewise.
2308         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2309         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2310         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2311         (complex_vars_of_mule_charset): Likewise.
2312
2313 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2314
2315         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2316         96-set.
2317         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2318         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2319
2320 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2321
2322         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2323         0xFF60.
2324         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2325         (breakup_char_1): Likewise.
2326
2327         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2328         one of them includes the specified character.
2329
2330 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2331
2332         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2333
2334 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2335
2336         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2337
2338 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2339
2340         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2341         definition for non-UTF-2000 Mule.
2342         (latin_iso8859_3_to_ucs): Likewise.
2343         (latin_iso8859_4_to_ucs): Likewise.
2344         (latin_iso8859_9_to_ucs): Likewise.
2345         (latin_jisx0201_to_ucs): Likewise.
2346         (MIN_CHAR_THAI): Likewise.
2347         (MAX_CHAR_THAI): Likewise.
2348         (MIN_CHAR_GREEK): Likewise.
2349         (MAX_CHAR_GREEK): Likewise.
2350         (MIN_CHAR_HEBREW): Likewise.
2351         (MAX_CHAR_HEBREW): Likewise.
2352         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2353         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2354         (MIN_CHAR_CYRILLIC): Likewise.
2355         (MAX_CHAR_CYRILLIC): Likewise.
2356
2357 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2358
2359         * char-ucs.h (breakup_char_1): Use
2360         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2361         thai-tis620 and katakana-jisx0201 area.
2362
2363 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2364
2365         * char-ucs.h (breakup_char_1): Use
2366         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2367         area.
2368
2369         * text-coding.c (reset_encoding_stream): Fixed.
2370         (char_encode_ucs4): Delete `& 255'.
2371
2372         * char-ucs.h (breakup_char_1): Use
2373         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2374
2375 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2376
2377         * file-coding.c (Fmake_coding_system): Don't set up
2378         `codesys->fixed.size'.
2379         (encode_coding_no_conversion): Don't refer
2380         `str->codesys->fixed.size'.
2381
2382 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2383
2384         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2385         (latin_a_char_to_byte1): Deleted.
2386         (latin_a_char_to_byte2): Deleted.
2387
2388 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2389
2390         * mule-charset.c (make_charset): Add new argument `ucs_min',
2391         `ucs_max' and `code_offset'.
2392         (charset_get_byte1): New implementation [delete specific charset
2393         depended implementations].
2394         (Fmake_charset): Modify for `make_charset'.
2395         (Fmake_reverse_direction_charset): Likewise.
2396         (complex_vars_of_mule_charset): Likewise.
2397
2398         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2399         `code_offset'.
2400         (CHARSET_UCS_MIN): New macro.
2401         (CHARSET_UCS_MAX): New macro.
2402         (CHARSET_CODE_OFFSET): New macro.
2403         (MAKE_CHAR): Delete charset depended definitions [except
2404         katakana-jisx0201].
2405
2406 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2407
2408         * char-ucs.h (breakup_char_1): Use
2409         `Vdefault_coded_charset_priority_list' for C0-Controls,
2410         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2411
2412 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2413
2414         * char-ucs.h (charset_get_byte1): New function.
2415         (XCHARSET_GET_BYTE1): Deleted.
2416         (charset_get_byte2): New function.
2417         (XCHARSET_GET_BYTE2): Deleted.
2418         (Vdefault_coded_charset_priority_list): New external variable.
2419         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2420         `Vdefault_preferred_coded_charset_list'.
2421
2422         * mule-charset.c (charset_get_byte1): New function.
2423         (charset_get_byte2): New function.
2424         (Vdefault_coded_charset_priority_list): New variable.
2425         (vars_of_mule_charset): Add new variable
2426         `default-coded-charset-priority-list'.
2427
2428 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2429
2430         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2431         (XCHARSET_GET_BYTE2): New inline function.
2432         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2433         `XCHARSET_GET_BYTE2'.
2434
2435 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2436
2437         * mule-charset.c (make_charset): Initialize
2438         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2439         NULL if table is not defined.
2440
2441 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2442
2443         * text-coding.c (char_encode_shift_jis): Use
2444         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2445         `ucs_to_latin_jisx0201'.
2446
2447         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2448         (ucs_to_latin_iso8859_2): Deleted.
2449         (ucs_to_latin_iso8859_3): Deleted.
2450         (ucs_to_latin_iso8859_4): Deleted.
2451         (ucs_to_latin_iso8859_9): Deleted.
2452         (ucs_to_latin_viscii_lower): Deleted.
2453         (ucs_to_latin_viscii_upper): Deleted.
2454         (ucs_to_latin_tcvn5712): Deleted.
2455         (make_charset): Add new argument `decoding_table'; set up
2456         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2457         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2458         `decoding_table' is defined in UTF-2000.
2459         (Fmake_charset): Modify for `make_charset'.
2460         (Fmake_reverse_direction_charset): Likewise.
2461         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2462         and `GENERATE_96_SET'.
2463
2464         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2465         (ucs_to_latin_jisx0201): Deleted.
2466         (latin_iso8859_2_to_ucs): Deleted.
2467         (ucs_to_latin_iso8859_2): Deleted.
2468         (latin_iso8859_3_to_ucs): Deleted.
2469         (ucs_to_latin_iso8859_3): Deleted.
2470         (latin_iso8859_4_to_ucs): Deleted.
2471         (ucs_to_latin_iso8859_4): Deleted.
2472         (latin_iso8859_9_to_ucs): Deleted.
2473         (ucs_to_latin_iso8859_9): Deleted.
2474         (latin_viscii_lower_to_ucs): Deleted.
2475         (ucs_to_latin_viscii_lower): Deleted.
2476         (latin_viscii_upper_to_ucs): Deleted.
2477         (ucs_to_latin_viscii_upper): Deleted.
2478         (struct Lisp_Charset): Renamed `encoding_table' to
2479         `to_byte1_table'; add `to_byte2_table'.
2480         (CHARSET_DECODING_TABLE): New macro.
2481         (CHARSET_TO_BYTE1_TABLE): New macro.
2482         (CHARSET_TO_BYTE2_TABLE): New macro.
2483         (XCHARSET_DECODING_TABLE): New macro.
2484         (XCHARSET_TO_BYTE1_TABLE): New macro.
2485         (XCHARSET_TO_BYTE2_TABLE): New macro.
2486         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2487         tables.
2488         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2489         don't use `ucs_to_*' tables.
2490
2491 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2492
2493         * text-coding.c (Fmake_coding_system): Don't set up
2494         `codesys->fixed.size'.
2495         (encode_coding_no_conversion): Use `if' instead of `switch'.
2496
2497         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2498
2499 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2500
2501         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2502         (Fmake_charset): Modify for `make_charset'.
2503         (Fmake_reverse_direction_charset): Likewise.
2504         (complex_vars_of_mule_charset): Likewise.
2505
2506 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2507
2508         * text-coding.c (char_encode_shift_jis): Use table
2509         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2510
2511 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2512
2513         * text-coding.c (text_encode_generic): Use `if' instead of
2514         `switch'.
2515         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2516         decode JIS-Latin.
2517
2518 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2519
2520         * text-coding.c (encode_coding_sjis): Deleted.
2521         (char_encode_shift_jis): New function.
2522         (char_finish_shift_jis): New function.
2523         (reset_encoding_stream): Set up `encode_char' and `finish' for
2524         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2525         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2526         (char_encode_utf8): Treat `eol_type'.
2527
2528 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2529
2530         * file-coding.c (decode_coding_iso2022): Use
2531         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2532
2533 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2534
2535         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2536         to 0.7 (Hirano).
2537
2538 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2539
2540         * char-lb.h (CHAR_COLUMNS): New macro.
2541
2542 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2543
2544         * text-coding.c (char_encode_ucs4): New function.
2545         (char_finish_ucs4): New function.
2546         (encode_coding_ucs4): Deleted.
2547         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2548         (text_encode_generic): Delete local variable `charset' and `half'.
2549         (ucs_to_mule_table): Deleted.
2550         (mule_to_ucs_table): Deleted.
2551         (Fset_ucs_char): Deleted.
2552         (ucs_to_char): Deleted.
2553         (Fucs_char): Deleted.
2554         (Fset_char_ucs): Deleted.
2555         (Fchar_ucs): Deleted.
2556         (decode_ucs4): Deleted.
2557         (mule_char_to_ucs4): Deleted.
2558         (encode_ucs4): Deleted.
2559         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2560         (decode_coding_utf8): Likewise.
2561         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2562         (char_encode_iso2022): Fixed.
2563         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2564         `Fset_char_ucs' and `Fchar_ucs'.
2565         (complex_vars_of_file_coding): Don't initialize
2566         `ucs_to_mule_table'.
2567
2568         * objects-tty.c (tty_initialize_font_instance): Don't use
2569         `XCHARSET_COLUMNS'.
2570
2571         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2572         UTF-2000.
2573
2574         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2575         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2576
2577         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2578         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2579         (emchar_string_displayed_columns): Likewise.
2580
2581         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2582         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2583         (string_column_at_point): Likewise.
2584         (Fmove_to_column): Likewise.
2585
2586         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2587         `encoding_table' and `decoding_table'.
2588         (CHARSET_REP_BYTES): Deleted.
2589         (XCHARSET_REP_BYTES): Deleted.
2590         (XCHARSET_COLUMNS): Deleted.
2591         (CHAR_COLUMNS): New macro.
2592         (lookup_composite_char): Deleted unconditionally.
2593         (composite_char_string): Likewise.
2594
2595 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2596
2597         * char-ucs.h (Emchar_to_byte_table): New type.
2598         (get_byte_from_character_table): New function interface.
2599         (Vcharset_latin_jisx0201): New variable.
2600         (latin_jisx0201_to_ucs): New variable.
2601         (ucs_to_latin_jisx0201): New variable.
2602         (Vcharset_latin_iso8859_2): New variable.
2603         (latin_iso8859_2_to_ucs): New variable.
2604         (ucs_to_latin_iso8859_2): New variable.
2605         (Vcharset_latin_iso8859_3): New variable.
2606         (latin_iso8859_3_to_ucs): New variable.
2607         (ucs_to_latin_iso8859_3): New variable.
2608         (Vcharset_latin_iso8859_4): New variable.
2609         (latin_iso8859_4_to_ucs): New variable.
2610         (ucs_to_latin_iso8859_4): New variable.
2611         (Vcharset_latin_iso8859_9): New variable.
2612         (latin_iso8859_9_to_ucs): New variable.
2613         (ucs_to_latin_iso8859_9): New variable.
2614         (Vcharset_latin_viscii_lower): New variable.
2615         (latin_viscii_lower_to_ucs): New variable.
2616         (ucs_to_latin_viscii_lower): New variable.
2617         (Vcharset_latin_viscii_upper): New variable.
2618         (latin_viscii_upper_to_ucs): New variable.
2619         (ucs_to_latin_viscii_upper): New variable.
2620         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2621         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2622         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2623         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2624         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2625         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2626         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2627         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2628         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2629         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2630
2631         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2632         (Vcharset_latin_viscii_upper): New variable.
2633         (make_byte_from_character_table): New function.
2634         (put_byte_from_character_table): New function.
2635         (get_byte_from_character_table): New function.
2636         (CHAR96): New macro.
2637         (ucs_to_latin_jisx0201): New variable.
2638         (latin_jisx0201_to_ucs): New variable.
2639         (ucs_to_latin_iso8859_2): New variable.
2640         (latin_iso8859_2_to_ucs): New variable.
2641         (ucs_to_latin_iso8859_3): New variable.
2642         (latin_iso8859_3_to_ucs): New variable.
2643         (ucs_to_latin_iso8859_4): New variable.
2644         (latin_iso8859_4_to_ucs): New variable.
2645         (ucs_to_latin_iso8859_9): New variable.
2646         (latin_iso8859_9_to_ucs): New variable.
2647         (ucs_to_latin_viscii_lower): New variable.
2648         (latin_viscii_lower_to_ucs): New variable.
2649         (ucs_to_latin_viscii_upper): New variable.
2650         (latin_viscii_upper_to_ucs): New variable.
2651         (ucs_to_latin_tcvn5712): New variable.
2652         (latin_tcvn5712_to_ucs): New variable.
2653         (Qlatin_viscii_lower): New variable.
2654         (Qlatin_viscii_upper): New variable.
2655         (syms_of_mule_charset): Set up new symbol
2656         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2657         (complex_vars_of_mule_charset): Set up new charset
2658         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2659         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2660         `ucs_to_<CHARSET>' tables.
2661
2662 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2663
2664         * text-coding.c: New file.
2665
2666 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2667
2668         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2669
2670         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2671         (MAKE_CHAR): Modify for `ucs-bmp'.
2672         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2673         non-MULE characters of BMP.
2674
2675 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2676
2677         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2678         to 0.6.
2679
2680 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2681
2682         * lstream.h:
2683         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2684         - Include character.h for `CHAR_ASCII_P'.
2685
2686         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2687
2688         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2689         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2690
2691         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2692         (BYTE_C0_P): Likewise.
2693         (BYTE_C1_P): Likewise.
2694         (Lstream_get_emchar_1): Likewise.
2695         (Lstream_fput_emchar): Likewise.
2696         (Lstream_funget_emchar): Likewise.
2697         (copy_internal_to_external): Likewise.
2698         (copy_external_to_internal): Likewise.
2699
2700         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2701         (BYTE_C0_P): Likewise.
2702         (BYTE_C1_P): Likewise.
2703         (Lstream_get_emchar_1): Likewise.
2704         (Lstream_fput_emchar): Likewise.
2705         (Lstream_funget_emchar): Likewise.
2706         (copy_internal_to_external): Likewise.
2707         (copy_external_to_internal): Likewise.
2708
2709         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2710         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2711
2712         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2713         (BYTE_ASCII_P): Moved to mb-1byte.h.
2714
2715 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2716
2717         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2718
2719         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2720         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2721         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2722         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2723         (VALIDATE_CHARPTR_FORWARD): Likewise.
2724         (simple_charptr_emchar): Moved to mb-multibyte.h.
2725         (simple_set_charptr_emchar): Likewise.
2726         (simple_charptr_copy_char): Likewise.
2727         (non_ascii_charptr_emchar): Likewise.
2728         (non_ascii_set_charptr_emchar): Likewise.
2729         (non_ascii_charptr_copy_char): Likewise.
2730         (charptr_emchar): Moved to mb-*byte.h.
2731         (set_charptr_emchar): Likewise.
2732         (charptr_copy_char): Likewise.
2733
2734         * mb-1byte.h, mb-multibyte.h: New files.
2735
2736 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2737
2738         * mb-utf-8.h (MULTIBYTE): New macro.
2739         (MAX_EMCHAR_LEN): Moved from buffer.h.
2740         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2741
2742         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2743
2744         * mb-lb.h, multibyte.h: New files.
2745
2746         * char-1byte.h (Charset_ID): Moved from buffer.h.
2747         (MIN_LEADING_BYTE): Likewise.
2748         (LEADING_BYTE_ASCII): Likewise.
2749         (NUM_LEADING_BYTES): Likewise.
2750         (CHARSETP): Likewise.
2751         (CHARSET_BY_LEADING_BYTE): Likewise.
2752         (XCHARSET_LEADING_BYTE): Likewise.
2753         (XCHARSET_GRAPHIC): Likewise.
2754         (XCHARSET_COLUMNS): Likewise.
2755         (XCHARSET_DIMENSION): Likewise.
2756         (CHAR_CHARSET): Likewise.
2757         (CHAR_LEADING_BYTE): Likewise.
2758         (BREAKUP_CHAR): Likewise.
2759         (Vcharset_ascii): Likewise.
2760
2761         * buffer.h: Include multibyte.h unconditionally.
2762         (VALID_CHARPTR_P): Moved to multibyte.h.
2763         (ASSERT_VALID_CHARPTR): Likewise.
2764         (REAL_INC_CHARPTR): Likewise.
2765         (REAL_INC_CHARBYTIND): Likewise.
2766         (REAL_DEC_CHARPTR): Likewise.
2767         (INC_CHARPTR): Likewise.
2768         (INC_CHARBYTIND): Likewise.
2769         (DEC_CHARPTR): Likewise.
2770         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2771         (VALIDATE_CHARPTR_FORWARD): Likewise.
2772         (charptr_n_addr): Likewise.
2773         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2774         (simple_charptr_emchar): Moved to multibyte.h.
2775         (simple_set_charptr_emchar): Likewise.
2776         (simple_charptr_copy_char): Likewise.
2777         (non_ascii_charptr_emchar): Likewise.
2778         (non_ascii_set_charptr_emchar): Likewise.
2779         (non_ascii_charptr_copy_char): Likewise.
2780         (charptr_emchar): Likewise.
2781         (set_charptr_emchar): Likewise.
2782         (charptr_copy_char): Likewise.
2783         (charptr_emchar_n): Likewise.
2784         (Charset_ID): Moved to char-1byte.h.
2785         (Vcharset_ascii): Likewise.
2786         (CHAR_CHARSET): Likewise.
2787         (CHAR_LEADING_BYTE): Likewise.
2788         (LEADING_BYTE_ASCII): Likewise.
2789         (NUM_LEADING_BYTES): Likewise.
2790         (MIN_LEADING_BYTE): Likewise.
2791         (CHARSETP): Likewise.
2792         (CHARSET_BY_LEADING_BYTE): Likewise.
2793         (XCHARSET_LEADING_BYTE): Likewise.
2794         (XCHARSET_GRAPHIC): Likewise.
2795         (XCHARSET_COLUMNS): Likewise.
2796         (XCHARSET_DIMENSION): Likewise.
2797         (BREAKUP_CHAR): Likewise.
2798
2799 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2800
2801         * character.h: Add document about interface for characters.
2802
2803         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
2804         (MAKE_CHAR): Delete comment about
2805         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
2806         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
2807         (BREAKUP_CHAR): Modify name of arguments.
2808         (CHAR_CHARSET): Modify name of argument.
2809
2810         * buffer.h: Delete document about Emchar accessors.
2811
2812 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2813
2814         * character.h (CHAR_INTP): Moved from buffer.h
2815         (CHAR_OR_CHAR_INTP): Likewise.
2816         (XCHAR_OR_CHAR_INT): Likewise.
2817         (CHECK_CHAR_COERCE_INT): Likewise.
2818
2819         * buffer.h (CHAR_INTP): Moved to character.h
2820         (CHAR_OR_CHAR_INTP): Likewise.
2821         (XCHAR_OR_CHAR_INT): Likewise.
2822         (CHECK_CHAR_COERCE_INT): Likewise.
2823
2824 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2825
2826         * character.h:
2827         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
2828         - Include char-1byte.h, char-lb.h or char-ucs.h.
2829
2830         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
2831
2832         * buffer.h: Include character unconditionally.
2833         (valid_char_p): Moved to char-*.h.
2834         (non_ascii_valid_char_p): Moved to char-lb.h.
2835
2836         * char-1byte.h, char-lb.h, char-ucs.h: New files.
2837
2838 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2839
2840         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
2841         in UTF-2000 because it is not ported yet and not to use
2842         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
2843         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
2844         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
2845
2846         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
2847         (CHAR_ASCII_P): Moved from character.h.
2848
2849         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
2850         (CHAR_ASCII_P): Likewise.
2851         (CHAR_FIELD1_MASK): Deleted.
2852         (CHAR_FIELD2_MASK): Deleted.
2853         (CHAR_FIELD3_MASK): Deleted.
2854         (MAX_CHAR_BASIC_LATIN): New macro.
2855         (CHAR_FIELD1): Deleted.
2856         (CHAR_FIELD2_INTERNAL): Deleted.
2857         (CHAR_FIELD3_INTERNAL): Deleted.
2858         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
2859         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
2860         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
2861         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
2862         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
2863         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
2864         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
2865         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
2866         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
2867         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
2868         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
2869         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
2870         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
2871         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
2872         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
2873         (MIN_CHAR_COMPOSITION): Deleted.
2874         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
2875         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
2876
2877 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
2878
2879         * buffer.h: Include mb-utf-8.h in UTF-2000.
2880
2881         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
2882
2883         * mb-utf-8.h: New file.
2884
2885 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
2886
2887         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
2888         instead of `int'.
2889
2890         * mule-charset.h, buffer.h (Charset_ID): New type.
2891
2892 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2893
2894         * mule-canna.c (c2mu): Use `MAKE_CHAR',
2895         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
2896         instead of `MULE_CHAR_PRIVATE_OFFSET',
2897         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
2898         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
2899         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
2900
2901         * character.h (Vcharset_japanese_jisx0212): New variable
2902         definition.
2903
2904 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
2905
2906         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
2907         (charset_by_attributes): Delete array about direction.
2908         (latin_a_char_to_charset): New variable in UTF-2000.
2909         (latin_a_char_to_byte1): New variable in UTF-2000.
2910         (latin_a_char_to_byte2): New variable in UTF-2000.
2911         (Qucs_bmp): New variable.
2912         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
2913         `Bufbyte'.
2914         (next_allocated_2_byte_leading_byte): Likewise.
2915         (non_ascii_set_charptr_emchar): Likewise.
2916         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
2917         `CHARSET_TYPE_256X256' in UTF-2000; modify for
2918         `charset_by_attributes'.
2919         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
2920         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
2921         and `CHARSET_BY_LEADING_BYTE'.
2922         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
2923         `utf-2000-version' to `vars_of_mule_charset'.
2924         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
2925         define `leading-code-private-11' in UTF-2000; move setting of
2926         `utf-2000-version' from `syms_of_mule_charset'.
2927         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
2928         UTF-2000.
2929
2930         * character.h (Charset_ID): New type.
2931         (LEADING_BYTE_UCS_BMP): New macro.
2932         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
2933         (CHARSET_ID_OFFSET_94): New macro.
2934         (MIN_CHARSET_ID_PRIVATE_94): New macro.
2935         (MAX_CHARSET_ID_PRIVATE_94): New macro.
2936         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
2937         final-byte.
2938         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
2939         (LEADING_BYTE_LATIN_JISX0201): Likewise.
2940         (CHARSET_ID_OFFSET_96): New macro.
2941         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
2942         CHARSET_ID_OFFSET_96 and final-byte.
2943         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
2944         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
2945         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
2946         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
2947         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
2948         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
2949         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
2950         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
2951         (LEADING_BYTE_THAI_TIS620): Likewise.
2952         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
2953         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
2954         (CHARSET_ID_OFFSET_94x94): New macro.
2955         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
2956         CHARSET_ID_OFFSET_94x94 and final-byte.
2957         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
2958         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
2959         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
2960         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
2961         (LEADING_BYTE_CHINESE_GB2312): Likewise.
2962         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
2963         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
2964         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
2965         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
2966         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
2967         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
2968         (CHARSET_TYPE_128X128): New macro.
2969         (CHARSET_TYPE_256X256): New macro.
2970         (XCHARSET_PRIVATE_P): Delete unconditionally.
2971         (charset_by_attributes): Delete array about direction.
2972         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
2973         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
2974         (MIN_CHAR_94): New macro.
2975         (MAX_CHAR_94): New macro.
2976         (MIN_CHAR_96): New macro.
2977         (MAX_CHAR_96): New macro.
2978         (MIN_CHAR_94x94): New macro.
2979         (MAX_CHAR_94x94): New macro.
2980         (MIN_CHAR_96x96): New macro.
2981         (MAX_CHAR_96x96): New macro.
2982         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
2983         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
2984         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
2985         - 32)'.
2986         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
2987         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
2988         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
2989         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
2990         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
2991         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
2992         `XCHARSET_LEADING_BYTE' to make code-point.
2993         (latin_a_char_to_charset): New variable.
2994         (latin_a_char_to_byte1): New variable.
2995         (latin_a_char_to_byte2): New variable.
2996         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
2997         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
2998         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
2999
3000         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3001         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3002         (find_charsets_in_emchar_string): Likewise.
3003         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3004
3005         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3006         `int'.
3007         (decode_coding_iso2022): Likewise.
3008
3009         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3010         of `unsigned char'.
3011
3012         * redisplay.c (redisplay_text_width_emchar_string): Use
3013         `Charset_ID' instead of `unsigned char'.
3014         (redisplay_frame_text_width_string): Likewise.
3015
3016         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3017         `unsigned char'.
3018
3019         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3020         instead of `unsigned char'.
3021         (face_cachel_charset_font_metric_info): Likewise.
3022
3023         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3024         (get_non_ascii_char_table_value): Likewise.
3025         (get_char_table): Likewise.
3026         (put_char_table): Likewise.
3027         (map_over_other_charset): Likewise.
3028         (map_char_table): Likewise.
3029
3030         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3031         instead of `unsigned char'.
3032
3033 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3034
3035         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3036         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3037
3038         * mule-charset.c (leading_code_private_11): Don't define in
3039         UTF-2000.
3040
3041         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3042         in UTF-2000 because it is not ported yet and not to use
3043         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3044
3045 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3046
3047         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3048
3049 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3050
3051         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3052         in UTF-2000.
3053
3054         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3055         of unsigned char to store leading-byte.
3056
3057         * chartab.c (get_non_ascii_char_table_value): Don't use
3058         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3059
3060         * file-coding.c (encode_coding_big5): Delete bogus implementation
3061         in UTF2000.
3062
3063         * character.h (LEADING_BYTE_*): Delete definition for
3064         non-UTF-2000.
3065         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3066         (LEADING_BYTE_PREFIX_P): Deleted.
3067         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3068         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3069         (BUFBYTE_LEADING_BYTE_P): Deleted.
3070         (CHARSET_PRIVATE_P): Deleted unconditionally.
3071         (rep_bytes_by_first_byte): Deleted unconditionally.
3072         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3073         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3074         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3075         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3076         (CHAR_FIELD2): Deleted.
3077         (CHAR_FIELD3): Deleted.
3078         (MAKE_CHAR): Delete definition for non-UTF-2000.
3079         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3080         (breakup_char_1): New implementation.
3081         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3082         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3083
3084 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3085
3086         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3087         condition.
3088
3089 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3090
3091         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3092         (CHARSET_PRIVATE_P): Likewise.
3093         (XCHARSET_PRIVATE_P): Likewise.
3094         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3095
3096         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3097         UTF2000.
3098         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3099
3100 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3101
3102         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3103         (NUM_LEADING_BYTES): Changed from 128 to 256.
3104         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3105         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3106         UTF2000.
3107         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3108
3109         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3110         UTF2000.
3111         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3112         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3113         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3114         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3115         (Qchinese_cns11643_3): New variable in UTF2000.
3116         (Qchinese_cns11643_4): New variable in UTF2000.
3117         (Qchinese_cns11643_5): New variable in UTF2000.
3118         (Qchinese_cns11643_6): New variable in UTF2000.
3119         (Qchinese_cns11643_7): New variable in UTF2000.
3120         (syms_of_mule_charset): Define `chinese-cns11643-3',
3121         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3122         and `chinese-cns11643-7' in UTF2000.
3123         (vars_of_mule_charset): Initialize
3124         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3125         + 1 in UTF2000.
3126         (complex_vars_of_mule_charset): Setup charset
3127         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3128         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3129
3130 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3131
3132         * mule-charset.c: Move setting for `leading-code-private-11' from
3133         `syms_of_mule_charset' to `vars_of_mule_charset'.
3134
3135 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3136
3137         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3138         and `NUM_LEADING_BYTES' in assert.
3139
3140 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3141
3142         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3143         instead of 128.
3144         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3145         `NUM_LEADING_BYTES' instead of 128.
3146
3147 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3148
3149         * mule-charset.h (charset_by_leading_byte): Use
3150         `NUM_LEADING_BYTES' instead of 128.
3151         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3152
3153         * mule-charset.c (charset_by_leading_byte): Use
3154         `NUM_LEADING_BYTES' instead of 128.
3155         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3156
3157         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3158         128.
3159
3160 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3161
3162         * mule-charset.c (syms_of_mule_charset): Update to
3163         0.4 (Shin-Imamiya).
3164
3165 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3166
3167         * file-coding.c (encode_coding_sjis): New implementation for
3168         UTF2000.  (decode_coding_sjis): Ditto.
3169
3170 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3171
3172         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3173         Don't define in UTF2000.
3174
3175         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3176         defined.
3177
3178         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3179         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3180         MULE.
3181
3182 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3183
3184         * config.h.in (CHAR_IS_UCS4): New macro.
3185
3186         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3187         conventional MULE representation.
3188         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3189
3190         * mule-charset.h: Reverted to original.
3191
3192         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3193         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3194         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3195
3196         * character.h: New file.
3197
3198         * file-coding.c (Fmake_coding_system): Set 1 to
3199         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3200         defined.
3201         (encode_coding_no_conversion): New implementation for UTF2000.
3202
3203         * file-coding.h (struct Lisp_Coding_System): Add new member
3204         `fixed.size'.
3205
3206 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3207
3208         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3209         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3210         (encode_coding_iso2022): New implementation for UTF2000.
3211
3212 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3213
3214         * mule-canna.c (c2mu): New implementation for UTF2000.
3215         (m2c): Likewise.
3216
3217 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3218
3219         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3220
3221 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3222
3223         * file-coding.c (reset_encoding_stream): Set 0 to
3224         `str->iso2022.current_char_boundary' in UTF2000.
3225         (encode_utf8): Don't define in UTF2000.
3226         (encode_coding_utf8): New implementation for UTF-8 representation
3227         of UTF2000.
3228         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3229
3230 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3231
3232         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3233
3234         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3235         UTF2000.
3236         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3237
3238         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3239
3240         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3241         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3242         as UTF-8 in UTF2000.
3243         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3244         (non_ascii_valid_char_p): Don't define in UTF2000.
3245         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3246         (Lstream_get_emchar_1): Likewise.
3247         (utf-2000-version): New variable in UTF2000.
3248
3249         * lread.c (read_escape): Add new reader `u'.
3250
3251         * insdel.c (three_to_one_table): Don't define in UTF2000.
3252         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3253         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3254         UTF2000.
3255         (bytind_to_bufpos_func): Likewise.
3256         (buffer_mule_signal_inserted_region): Likewise.
3257         (vars_of_insdel): Don't initialize `three_to_one_table'.
3258         (init_buffer_text): Use `buf->text->mule_size' instead of
3259         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3260         UTF2000.
3261
3262         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3263         UTF-8 representation in UTF2000.
3264         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3265         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3266         (decode_coding_iso2022): Don't define local variable `lb' in
3267         UTF2000; don't use LEADING_BYTE in UTF2000; use
3268         `DECODE_ADD_UCS_CHAR' in UTF2000.
3269         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3270
3271         * config.h.in (UTF2000): New macro.
3272
3273         * buffer.h (struct buffer_text): Add new member `mule_size' and
3274         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3275         (valid_char_p): Return always 1 in UTF2000.
3276         (MAX_EMCHAR_LEN): 6 in UTF2000.
3277         (three_to_one_table): Don't define in UTF2000.
3278         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3279         UTF2000.
3280         (real_bytind_to_bufpos): Likewise.
3281
3282         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3283
3284 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3285
3286         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3287         representation change.
3288         (Vutf_2000_version): New variable.
3289         (leading_code_private_11): New variable.
3290         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3291         `leading-code-private-11'.
3292
3293         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3294         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3295         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3296         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3297         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3298         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3299         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3300         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3301         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3302         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3303         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3304         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3305         (MIN_CHAR_GREEK): New macro.
3306         (MAX_CHAR_GREEK): New macro.
3307         (MIN_CHAR_CYRILLIC): New macro.
3308         (MAX_CHAR_CYRILLIC): New macro.
3309         (MIN_CHAR_HEBREW): New macro.
3310         (MAX_CHAR_HEBREW): New macro.
3311         (MIN_CHAR_THAI): New macro.
3312         (MAX_CHAR_THAI): New macro.
3313         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3314         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3315         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3316         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3317         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3318         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3319         (CHAR_FIELD2): New inline function.
3320         (CHAR_FIELD3): New inline function.
3321         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3322         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3323         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3324         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3325         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3326         (MIN_CHAR_COMPOSITION): Likewise.
3327         (CHAR_LEADING_BYTE): Modified for character representation change.
3328         (MAKE_CHAR): Likewise.
3329
3330         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3331         (Vcharset_greek_iso8859_7): Likewise.
3332         (Vcharset_cyrillic_iso8859_5): Likewise.
3333         (Vcharset_hebrew_iso8859_8): Likewise.
3334         (Vcharset_thai_tis620): Likewise.
3335         (Vcharset_katakana_jisx0201): Likewise.
3336
3337 2001-01-17  Martin Buchholz <martin@xemacs.org>
3338
3339         * XEmacs 21.2.41 "Polyhymnia" is released.
3340
3341 2001-01-16  Didier Verna  <didier@xemacs.org>
3342
3343         * glyphs.c (image_instantiate): don't use fallbacks when
3344         instantiating a face's background pixmap by inheritance.
3345
3346 2001-01-14  Mike Sperber <mike@xemacs.org>
3347
3348         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3349         Conditionalize accordingly.
3350
3351 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3352
3353         * dumper.c (pdump_file_get): Fix a compiler warning.
3354
3355 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3356
3357         Make Purify happy when pdumping.
3358         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3359         iniitalizing all bits of new lisp object memory.
3360         * symbols.c (Fmake_local_variable): Likewise.
3361         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3362         * symbols.c (Fdefvaralias): Likewise.
3363         * mule-charset.c (vars_of_mule_charset): Likewise.
3364
3365 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3366         Add the `-nd' flag when running pre-dump operations under the debugger.
3367         * .dbxrc (run-temacs): Add `-nd'.
3368         * .dbxrc (update-elc): Likewise.
3369         * .dbxrc (dump-temacs): Likewise.
3370         * .gdbinit (run-temacs): Likewise.
3371         * .gdbinit (check-temacs): Likewise.
3372         * .gdbinit (update-elc): Likewise.
3373         * .gdbinit (dump-temacs): Likewise.
3374
3375 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3376
3377         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3378         export OBJECT_MODE=64
3379         configure --pdump --use-union-type=no
3380         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3381         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3382
3383         * miscplay.c (sndcnv8U_2mono):
3384         Avoid two uses of `++' in the same expression.
3385         Suppresses a GCC warning.
3386
3387 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3388
3389         Make sure future compilers don't miscompile alloc.c.
3390         * alloc.c:
3391         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3392         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3393
3394 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3395
3396         * dumper.c: A little post-pdump-rename comment fixup.
3397
3398 2001-01-09  Jerry James  <james@eecs.ku.edu>
3399
3400         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3401
3402 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3403
3404         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3405         script:
3406         #!/bin/sh
3407         replace_symbol () {
3408           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3409         }
3410
3411         replace_symbol pdump_wire_lists pdump_weak_object_chains
3412         replace_symbol pdump_wire_list dump_add_weak_object_chain
3413
3414         replace_symbol pdump_wires pdump_root_objects
3415         replace_symbol pdump_wire dump_add_root_object
3416
3417         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3418         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3419
3420         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3421         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3422         replace_symbol dumpstructinfo pdump_root_struct_ptr
3423         replace_symbol dumpstruct dump_add_root_struct_ptr
3424
3425         replace_symbol dumpopaque dump_add_opaque
3426         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3427         replace_symbol dumpopaqueinfos pdump_opaques
3428         replace_symbol dumpopaqueinfo pdump_opaque
3429
3430         replace_symbol nb_structdump nb_root_struct_ptrs
3431         replace_symbol nb_opaquedump nb_opaques
3432
3433         replace_symbol align_table pdump_align_table
3434         replace_symbol dump_header pdump_header
3435
3436         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3437         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3438
3439
3440 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3441
3442         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3443         optimizing bytecount_to_charcount().
3444
3445 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3446
3447         * config.h.in:
3448         (HAVE_DLFCN_H): Removed.
3449         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3450
3451 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3452
3453         Portable dumper maintainability improvements.
3454         * alloc.c (staticpro):
3455         * alloc.c (staticpro_nodump):
3456         * alloc.c (garbage_collect_1):
3457         * alloc.c (reinit_alloc_once_early):
3458         * alloc.c (init_alloc_once_early):
3459         * alloc.c: Move dumper functions to alloc.c.
3460         * dumper.c (pdump_backtrace):
3461         * dumper.c (pdump_dump_structs):
3462         * dumper.c (pdump_dump_opaques):
3463         * dumper.c (pdump_dump_rtables):
3464         * dumper.c (pdump_dump_wired):
3465         * dumper.c (pdump):
3466         * dumper.c (pdump_load_check):
3467         * dumper.c (pdump_load_finish):
3468         * dumper.c (pdump_file_unmap):
3469         * dumper.c (pdump_file_get):
3470         * dumper.c (pdump_resource_free):
3471         * dumper.c (pdump_resource_get):
3472         * dumper.c (pdump_file_free):
3473         * dumper.c (pdump_file_try):
3474         * dumper.c (pdump_load):
3475         Remove fixed size limits on staticpro(), staticpro_nodump(),
3476         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3477         Remove custom code for dumping lrecord_implementations_table - use
3478         dumpopaque instead.
3479         Remove (most of the) custom code for dumping staticpros - dump it
3480         like any other dynarr.
3481
3482         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3483         * dumper.c: Moved functions from alloc.c.
3484         * alloc.c (dumpstruct): Moved to dumper.c.
3485         * alloc.c (dumpopaque): Likewise.
3486         * alloc.c (pdump_wire): Likewise.
3487         * alloc.c (pdump_wire_list): Likewise.
3488
3489         * lisp.h (Dynarr_sizeof): New.
3490         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3491         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3492         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3493
3494         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3495         * lisp.h (dumpopaque): ditto.
3496         * lisp.h (pdump_wire): ditto.
3497         * lisp.h (pdump_wire_list): ditto.
3498
3499 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3500
3501         * make-src-depend (PrintPatternDeps):
3502         Use `sort' to make output independent of perl version.
3503
3504 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3505
3506         Port to Netbsd 1.5.
3507         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3508         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3509
3510 2001-01-03  Didier Verna  <didier@xemacs.org>
3511
3512         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3513         that `focus_frame' is alive before thinking of calling
3514         `redisplay_redraw_cursor' on it.
3515
3516 2001-01-08  Martin Buchholz <martin@xemacs.org>
3517
3518         * XEmacs 21.2.40 is released.
3519
3520 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3521
3522         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3523
3524 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3525
3526         * alloc.c (dbg_valmask): Make const.
3527         * alloc.c (dbg_typemask): Make const.
3528         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3529         * alloc.c (dbg_valbits): Make const.
3530         * alloc.c (dbg_gctypebits): Make const.
3531
3532 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3533
3534         * redisplay-x.c (x_bevel_area):
3535         redisplay.h (struct rune):
3536         Typo fixes in comments.
3537
3538 2001-01-05  Andy Piper  <andy@xemacs.org>
3539
3540         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3541         adjustment.
3542
3543         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3544
3545 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3546
3547         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3548
3549         * mule-ccl.c (stack_idx_of_map_multiple):
3550         Non const global data must not be initialized!
3551         Found by MIYASHITA Hisashi.
3552
3553 2001-01-02  Andy Piper  <andy@xemacs.org>
3554
3555         * frame.c (change_frame_size): make sure frame size is always
3556         marked as changed.
3557
3558         * glyphs.c (image_instance_layout): minor code reuse.
3559
3560         * window.c (Fcurrent_window_configuration): revert previous
3561         change.
3562
3563 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3564
3565         * glyphs.h:
3566         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3567
3568 2000-12-31  Andy Piper  <andy@xemacs.org>
3569
3570         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3571         when widget gets unmapped.
3572
3573         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3574         function. Make sure widgets losing focus don't just drop it.
3575         (handle_focus_event_1): record the widget with focus.
3576
3577 2000-12-31  Andy Piper  <andy@xemacs.org>
3578
3579         * window.c (allocate_window): use
3580         make_image_instance_cache_hash_table.
3581         (make_dummy_parent): ditto.
3582         (Fset_window_configuration): ditto.
3583
3584         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3585
3586         * glyphs.c (process_image_string_instantiator): use
3587         INSTANTIATOR_TYPE.
3588         (get_image_instantiator_governing_domain): ditto.
3589         (normalize_image_instantiator): ditto.
3590         (instantiate_image_instantiator): ditto.
3591         (make_image_instance_1): ditto.
3592         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3593         (instantiator_eq_equal): new function for use with instance hash
3594         tables.
3595         (instantiator_eq_hash): ditto.
3596         (make_image_instance_cache_hash_table): create a suitable hash
3597         table for storing image instances.
3598
3599         * elhash.h (hash_table_weakness): new internal weakness type
3600         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3601         declare new functions.
3602
3603         * elhash.c (finish_marking_weak_hash_tables): introduce yet
3604         another weakness type for glyphs.
3605         (make_standard_lisp_hash_table): new function split out from
3606         make_general_lisp_hash_table.
3607         (make_lisp_hash_table): call make_standard_lisp_hash_table.
3608         (hash_table_instantiate): ditto.
3609         (Fmake_hash_table): ditto.
3610
3611 2000-12-31  Martin Buchholz <martin@xemacs.org>
3612
3613         * XEmacs 21.2.39 is released.
3614
3615 2000-12-29  Andy Piper  <andy@xemacs.org>
3616
3617         * menubar.c (menubar_visible_p_changed): signal the frame changed.
3618
3619         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
3620         the frame has changed so that we pick up geometry changes such as
3621         menubar visibility.
3622
3623 2000-12-28  Andy Piper  <andy@xemacs.org>
3624
3625         * lastfile.c (my_ebss): make a char array so we can pad the
3626         bss. Fixes cygwin unexec.
3627
3628         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
3629
3630 2000-12-26  Andy Piper  <andy@xemacs.org>
3631
3632         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
3633         comments and try and be more precise about a non-/SIGIO world.
3634         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
3635         SIGIO.
3636
3637         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
3638         we don't normalize to zero width or height.
3639
3640 2000-12-24  Andy Piper  <andy@xemacs.org>
3641
3642         * Makefile.in.in (ldflags): add -mwindows when appropriate.
3643
3644 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
3645
3646         * s/sco5.h: SCO 5 has pty support.
3647
3648 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
3649
3650         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
3651         input-method-xlib.c contains whole contents of input-method-xfs.c,
3652         so we can use input-method-xlib.c's code for USE_XFONTSET
3653         using #ifdefs.
3654         * input-method-xfs.c: removed.
3655
3656 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
3657
3658         * file-coding.h (enum coding_category_type): reorder enumerators to
3659         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
3660         (now one greater than largest real coding_category_type enumerator).
3661         * file-coding.c (coding_category_symbol, coding_category_by_priority,
3662         coding_category_system, fcd_descriptihon_1, decode_coding_category,
3663         Fcoding_category_list, Fset_coding_priority_list,
3664         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
3665         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
3666
3667 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3668
3669         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
3670         * redisplay-output.c (redisplay_output_window): Clear top of window
3671         when face is changed.
3672         * redisplay-x.c (x_redraw_exposed_window): Call
3673         redisplay_clear_top_of_window.
3674         * redisplay.h: Publish redisplay_clear_top_of_window.
3675
3676 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
3677
3678         * buffer.c (Fkill_buffer): Map over all devices.
3679         * window.c (window_loop): Remove UNSHOW_BUFFER code.
3680         (list_windows): New function.
3681         (list_all_windows): Ditto.
3682         (Freplace_buffer_in_windows): Use them.
3683
3684 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3685
3686         * database.c (berkdb_subtype): Recognize new subtype `queue'.
3687         (Fopen_database): Use `db_create' instead of `db_open'.
3688         (syms_of_database): Initialize Qqueue.
3689
3690 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
3691
3692         * buffer.c (common_init_complex_vars_of_buffer): Initialize
3693         buffer_local_face_property.
3694         * buffer.h (struct buffer): New member buffer_local_face_property.
3695         * window.c (Fset_window_buffer):  Mark window's face as changed
3696         when buffer has buffer local face.
3697         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
3698         * objects.c (color_after_change): Set buffer_local_face_property
3699         when locale of face specifier is buffer.
3700         * objects.c (font_after_change): Ditto.
3701         * objects.c (face_boolean_after_change): Ditto.
3702         * glyphs.c (image_after_change): Ditto.
3703
3704 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3705
3706         * nt.c (mswindows_fstat): Report file permissions, volume serial
3707         number, etc. Code adapted from FSF Emacs 20.7.
3708
3709 2000-12-09  Dan Holmsand  <dan@eyebee.com>
3710
3711         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
3712         of stat when we don't have symbolic links, to make sure
3713         mswindows_stat is called on mswindows.
3714
3715 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
3716
3717         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
3718
3719 2000-12-12  Martin Buchholz  <martin@xemacs.org>
3720
3721         * doprnt.c (emacs_doprnt_1): More printing fixes.
3722         Make printing of numbers compatible with libc and FSF Emacs.
3723         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
3724         Use the system printf to do most of the hard work of formatting,
3725         instead of doprnt_1().
3726         Calculate memory to allocate for format string.
3727         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
3728         (doprnt_1): Cleaner code and documentation.
3729
3730 2000-12-01  Jerry James  <james@eecs.ukans.edu>
3731
3732         * Makefile.in.in: Use the loop variable to install headers.
3733
3734 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3735
3736         * window.c (Fsplit_window): Don't invalidate face cache.
3737
3738 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3739
3740         * minibuf.c (Fall_completions): Undo the previous change
3741         which removed checking elements start with space.
3742
3743 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3744
3745         * mule-canna.c: Didier suppression.
3746
3747 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
3748
3749         * mule-canna.c: rename static unsigned char buf[] to key_buffer
3750         (warning suppression).  Add English comment translations.
3751
3752 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3753
3754         * unexelfsgi.c (unexec): Better test for mmap failure.
3755
3756 2000-12-05  Martin Buchholz <martin@xemacs.org>
3757
3758         * XEmacs 21.2.38 is released.
3759
3760 2000-12-05  Martin Buchholz  <martin@xemacs.org>
3761
3762         * redisplay.c (bar-cursor): Make a user variable.
3763
3764         * symsinit.h: Add init_postgresql_from_environment.
3765
3766 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
3767
3768         * regex.c: Convert to clean C.
3769
3770 2000-12-05  Dan Holmsand  <dan@eyebee.com>
3771
3772         * realpath.c:
3773         Don't #include sysfile.h. Revert to duplicating PATH_MAX
3774         initialization.
3775         (sys_readlink): renamed to system_readlink to avoid conflict with
3776         the other sys_readlink.
3777
3778 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
3779
3780         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
3781
3782 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
3783
3784         * postgresql.c (init_postgresql_from_environment): new function.
3785         (vars_of_postgresql): Move code initializing Lisp variables out and
3786         into init_postgresql_from_environment.
3787         emacs.c (main_1): Call init_postgresql_from_environment if and only
3788         if running a dumped XEmacs.
3789
3790 2000-08-31  Dan Holmsand  <dan@eyebee.com>
3791
3792         * buffer.c: Make find-file-compare-truenames default to true on
3793         windows.
3794
3795         * realpath.c (win32_abs_start):
3796         (cygwin_readlink):
3797         (win32_readlink): New functions.
3798         (xrealpath): Return really real filenames on windows.
3799
3800         * fileio.c (Ffile_truename): Make file-truename work on windows.
3801
3802 2000-11-29  Didier Verna  <didier@xemacs.org>
3803
3804         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
3805         * faces.c (update_face_cachel_data): use it.
3806         * faces.c (add_face_cachel): use it. Complete background pixmap
3807         frobbing in face cache if `update_face_cachel_data' has not done so.
3808
3809 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
3810
3811         * search.c (string_match_1): Don't set last_thing_searched
3812         when search failed.
3813
3814 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
3815
3816         * buffer.c: Include casetab.h
3817         (common_init_complex_vars_of_buffer): Use new case-table object.
3818         * buffer.h: Include casetab.h
3819         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
3820         (DOWNCASE_TABLE_OF): Ditto.
3821         * bufslots.h: Remove char-tables and add case-table.
3822         * casetab.c: Include casetab.h
3823         (CASE_TABLE_P): Removed.
3824         (mark_case_table): New function.
3825         (allocate_case_table): New function.
3826         (Fcase_table_p): Use new case-table.
3827         (case_table_char): New function.
3828         (Fget_case_table): Ditto.
3829         (Fput_case_table): Ditto.
3830         (Fput_case_table_pair): Ditto.
3831         (Fcopy_case_table): Ditto.
3832         (Fcurrent_case_table): Return case-table.
3833         (Fstandard_case_table): Return case-table.
3834         (Fset_case_table): Fix doc-string.
3835         (set_case_table): Use case-table
3836         (syms_of_casetab): DEFSUBR new functions.
3837         (complex_vars_of_casetab): Set up standard case-table.
3838         * casetab.h: New file.
3839         * editfns.c: Include casetab.h
3840         (Fcompare_buffer_substrings): Use case-table.
3841         * inline.c: Include casetab.h
3842         * lisp.h: Remove bogus extern.
3843         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
3844         * search.c: Include casetab.h
3845         (TRANSLATE_ASCII): Removed.
3846         (TRANSLATE): Unconditionally translate character.
3847         (looking_at_1): Use case-table.
3848         (string_match_1): Ditto.
3849         (fast_string_match): Ditto.
3850         (search_command): Ditto.
3851         (search_buffer): Separate boyer_moore.  Check whether
3852         boyer_moore is poosible.
3853         (simple_search): New function.
3854         (boyer_moore): Separated from search_buffer. Translate char.
3855
3856 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
3857
3858         * regex.c (RE_TR_ASCII): Removed.
3859         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
3860         (PATFETCH): Call PATFETCH_RAW.
3861         (PATFETCH_RAW): Fetch Emchar.
3862         (PATUNFETCH): Decrement charptr.
3863         (GET_BUFFER_SPACE): Rename b to buf_end.
3864         (BUF_PUSH): Ditto.
3865         (BUF_PUSH_2): Ditto.
3866         (BUF_PUSH_3): Ditto.
3867         (EXTEND_BUFFER): Ditto.
3868         (SET_LIST_BIT): Ditto.
3869         (regex_compile): Ditto.  Translate non ASCII char.
3870         (compile_range): Ditto.
3871         (re_search_2): Ditto.
3872         (re_match_2_internal): Compare Emchar.
3873         (bcmp_translate): Ditto.
3874
3875 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
3876
3877         * lisp.h (basic char/int typedefs):  comment improvement.
3878
3879 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
3880
3881         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
3882         unstomp inhibit_site_lisp.  Improve comments.
3883
3884 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
3885
3886         * mule-charset.c (Fcharset_property):  improve type checking, comments.
3887
3888 2000-11-28  Andy Piper  <andy@xemacs.org>
3889
3890         * redisplay-output.c (redisplay_output_subwindow): make sure we do
3891         clipped display for windows in the gutter also.
3892         (redisplay_display_boxes_in_window_p): change semantics of return
3893         codes to be more intuitive.
3894
3895         * gutter.h: declare display_boxes_in_gutter_p.
3896
3897         * gutter.c (display_boxes_in_gutter_p): new function for
3898         redisplay.
3899
3900 2000-11-22  Andy Piper  <andy@xemacs.org>
3901
3902         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
3903         autodetect domain.
3904
3905 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
3906
3907         * callproc.c (Fold_call_process_internal):
3908         * gpm.c (Freceive_gpm_event):
3909         (tty_get_foreign_selection): Might be just warning supression.
3910         * fileio.c (Fwrite_region_internal):
3911         (Fset_visited_file_modtime):
3912         * keymap.c (event_matches_key_specifier_p):
3913         Initialize GCPROed variable.
3914
3915         * menubar-x.c (command_builder_find_menu_accelerator):
3916         Initialize before use.
3917
3918 2000-11-23  Andy Piper  <andy@xemacs.org>
3919
3920         * unexcw.c (unexec): make the resulting executable executable.
3921
3922 2000-11-21  Martin Buchholz  <martin@xemacs.org>
3923
3924         * doc.c (get_doc_string):
3925         Use size_t, not int, for result of XSTRING_LENGTH.
3926
3927         * cmds.c (Fdelete_char):
3928         * cmds.c (Fpoint_at_eol):
3929         * cmds.c (Fself_insert_command):
3930         Use EMACS_INT, not int, for result of XINT.
3931         Someday, someone will want to insert more than 2**31 identical characters.
3932
3933         * cmds.c (Fdelete_char):
3934         * cmds.c (Fdelete_backward_char):
3935         * syntax.c (Fforward_word):
3936         * syntax.c (Fforward_comment):
3937         Make COUNT argument optional, for consistency with forward-char et al.
3938
3939 2000-11-22  Martin Buchholz  <martin@xemacs.org>
3940
3941         * lisp.h:
3942         * print.c (long_to_string):
3943         Return a useful value: the pointer at end of data written.
3944
3945         * doprnt.c:
3946         Use `static const char * const' for constant strings.
3947         (union printf_arg): Delete `i', `ui' members.
3948         (get_doprnt_args):
3949         (emacs_doprnt_1):
3950         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
3951         Do all printf-ing via the `l' specifier.
3952         Use EMACS_INT instead of int.
3953         Optimize.
3954
3955 2000-11-20  Didier Verna  <didier@xemacs.org>
3956
3957         * faces.c (update_face_cachel_data): don't frob the background
3958         pixmap when the window is being created. The face is needed but
3959         does not exist yet.
3960
3961 2000-11-20  Andy Piper  <andy@xemacs.org>
3962
3963         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
3964         messing with a debug environment.
3965
3966 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3967
3968         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
3969
3970 2000-11-20  Martin Buchholz  <martin@xemacs.org>
3971
3972         * casetab.c (Fcase_table_p): Fix compile error and crash.
3973
3974 2000-11-18  Philip Aston  <philipa@mail.com>
3975
3976         * s/cygwin32.h: Cygwin has SVR4-like pty support.
3977
3978 2000-11-18  Martin Buchholz  <martin@xemacs.org>
3979
3980         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
3981         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
3982
3983 2000-11-17  Martin Buchholz  <martin@xemacs.org>
3984
3985         * config.h.in: Define HAVE_ELF_H if elf.h exists.
3986         * unexelf.c: Use HAVE_ELF_H.
3987         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
3988         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
3989         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
3990         Greg Harrington <greg_harrington@hotmail.com> provided a machine
3991         for testing.
3992         So this is an unexelfsgi.c from a different line of development.
3993
3994 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
3995
3996         * regex.c (RE_TR_ASCII): New function.
3997         (RE_TRANSLATE): Call it.
3998
3999 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4000
4001         * buffer.h (TRT_TABLE_OF): Remove assert.
4002         (IN_TRT_TABLE_DOMAIN): Removed.
4003
4004 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4005
4006         * free-hook.c (log_gcpro):
4007         (show_gcprohist): Add support for GCPRO5.
4008
4009 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4010
4011         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4012
4013 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4014
4015         * symeval.h: Declare flush_all_buffer_local_cache.
4016
4017         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4018         (flush_buffer_local_cache): Added.
4019         (flush_all_buffer_local_cache): Added.
4020
4021         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4022
4023         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4024         (pdump_dump_data): Ditto.
4025         (pdump_reloc_one): Ditto.
4026         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4027         before dumping.
4028
4029
4030 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4031
4032         * buffer.c: Remove if 0'ed entry.
4033         * buffer.h: Rewrite TRT to use char-table.
4034         * bufslots.h: Remove mirror tables.
4035         * casetab.c: Remove mirror tables.
4036         (CASE_TABLE_P): New macro.
4037         (Fcase_table_p): Element of a case table is string or char-table.
4038         (make_mirror_trt_table): Removed.
4039         (set_case_table): Setup char-table from strings for backward
4040         compatibility.
4041         * dired.c (Fdirectory_files):
4042         * dired-msw.c: (mswindows_get_files):
4043         * lisp.h: Change prototype of re_pattern_buffer.
4044         * regex.c: (RE_TRANSLATE): New macro.
4045         (TRANSLATE_P): Ditto.
4046         Change translate to type RE_TRANSLATE_TYPE.
4047         * regex.h: Define RE_TRANSLATE_TYPE
4048         * search.c (TRANSLATE): New macro.
4049         (TRANSLATE_ASCII): New macro.
4050         Translate table is changed to Lisp_Object.
4051         (signal_failure): Inhibit return.
4052
4053 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4054
4055         * device-msw.c:
4056         * eldap.c:
4057         * event-Xt.c:
4058         * event-stream.c:
4059         * print.c:
4060         Do UNGCPRO before return.
4061
4062 2000-11-14  Martin Buchholz <martin@xemacs.org>
4063
4064         * XEmacs 21.2.37 is released.
4065
4066 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4067
4068         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4069         Add comments about discarded return value.
4070
4071 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4072
4073         * callint.c:
4074         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4075
4076 2000-10-27  Andy Piper  <andy@xemacs.org>
4077
4078         * gutter.c (Fset_default_gutter_position): default left and right
4079         gutters to visible.
4080         (calculate_gutter_size): calculate resonable heuristic for left
4081         and right gutter sizes.
4082         (specifier_vars_of_gutter): change left and right gutter sizes to
4083         autodetect.
4084         (calculate_gutter_size_from_display_lines): new function.
4085         (output_gutter): check for resizing on left and right gutters.
4086         (clear_gutter): don't special case top and left gutters.
4087         (specifier_vars_of_gutter): use new signature for
4088         set_specifier_caching.
4089
4090         * glyphs-x.c (x_redisplay_widget): spelling fix.
4091         * glyphs.c (specifier_vars_of_glyphs):
4092         * menubar.c (specifier_vars_of_menubar):
4093         * redisplay.c (specifier_vars_of_redisplay):
4094         * toolbar.c (specifier_vars_of_toolbar):
4095         * window.c (specifier_vars_of_window):
4096         * scrollbar.c (specifier_vars_of_scrollbar):
4097         (complex_vars_of_scrollbar): use new signature for
4098         set_specifier_caching.
4099
4100         * specifier.c (set_specifier_caching): include recompute flag.
4101         (recompute_one_cached_specifier_in_window): always recompute if
4102         flag set.
4103         (recompute_one_cached_specifier_in_frame): ditto.
4104
4105         * specifier.h (struct specifier_caching): add recompute flag.
4106
4107 2000-10-24  Andy Piper  <andy@xemacs.org>
4108
4109         * unexcw.c (copy_executable_and_dump_data_section): add new
4110         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4111         5.0 happy.
4112
4113 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4114
4115         * console-x.h (x_device): New member modifier_release_time.
4116         * event-Xt.c (x_handle_sticky_modifiers):
4117         Bound interval modifier keys are sticky.
4118         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4119         * events.h: extern it.
4120
4121 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4122
4123         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4124
4125 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4126
4127         * event-stream.c (execute_command_event): Preserve current_events
4128         and the like when event is misc-user-event.
4129         Inhibit quit during the call to maybe_echo_keys.
4130
4131 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4132
4133         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4134         symlink when buffer is killed.
4135         (inhibit_clash_detection): New variable.
4136
4137 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4138
4139         * console.c (Fset_input_method): Trigger redisplay on tty.
4140
4141 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4142
4143         * process.c (Fprocess_status): Revert to previous behavior:
4144         (process-status "nosuchprocess") ==> nil
4145
4146 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4147
4148         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4149         Work around another GCC 2.95.2 optimizer bug.
4150
4151 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4152
4153         * process.c (Fget_process): Use LIST_LOOP_2.
4154         (kill_buffer_processes): Use LIST_LOOP_2.
4155
4156         * minibuf.c (Fall_completions):
4157         Delete old non-functional code for FSF fourth argument.
4158
4159         * frame.c (frame_matches_frame_spec):
4160         Renamed from `frame_matches_frametype'.  Update all callers.
4161         (device_matches_device_spec):
4162         Renamed from 'device_matches_console_spec'.  Update all callers.
4163
4164         * doc.c (Fsubstitute_command_keys):
4165         Remove buffer overflow crash.  Small code cleanups.
4166
4167         * casetab.c (check_case_table): Simpler code.
4168
4169         * window.c (Freplace_buffer_in_windows):
4170         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4171         (and similar implementation) as Fdelete_windows_on.
4172         Update all callers.
4173
4174         * alloc.c (Fmake_list):
4175         * alloc.c (make_vector):
4176         * alloc.c (Fmake_vector):
4177         * alloc.c (make_bit_vector):
4178         * alloc.c (Fmake_bit_vector):
4179         * alloc.c (Fbit_vector):
4180         * alloc.c (Fmake_string):
4181         * alloc.c (Fpurecopy):
4182         * alloc.c (Fmemory_limit):
4183         * buffer.c:
4184         * buffer.c (Fget_buffer):
4185         * buffer.c (Fkill_buffer):
4186         * buffer.c (complex_vars_of_buffer):
4187         * bytecode.c (Fcompiled_function_stack_depth):
4188         * callint.c (Fprefix_numeric_value):
4189         * event-stream.c:
4190         * event-stream.c (Fread_key_sequence):
4191         * casetab.c:
4192         * casetab.c (Fcase_table_p):
4193         * casetab.c (check_case_table):
4194         * casetab.c (Fset_case_table):
4195         * casetab.c (Fset_standard_case_table):
4196         * chartab.c:
4197         * chartab.c (Fchar_table_type):
4198         * chartab.c (Freset_char_table):
4199         * chartab.c (Fget_char_table):
4200         * chartab.c (Fget_range_char_table):
4201         * chartab.c (Fput_char_table):
4202         * chartab.c (Fmap_char_table):
4203         * chartab.c (Fcategory_table_p):
4204         * chartab.c (Fcheck_category_at):
4205         * chartab.c (Fchar_in_category_p):
4206         * chartab.c (Fcategory_table):
4207         * chartab.c (Fcopy_category_table):
4208         * chartab.c (Fset_category_table):
4209         * chartab.c (Fcategory_designator_p):
4210         * chartab.c (Fcategory_table_value_p):
4211         * cmds.c (Fdelete_char):
4212         * cmds.c (Fdelete_backward_char):
4213         * cmds.c (Fself_insert_command):
4214         * cmds.c (Fself_insert_internal):
4215         * console.c (Fvalid_console_type_p):
4216         * console.c (Fcdfw_console):
4217         * console.c (Fconsole_type):
4218         * console.c (Fconsole_name):
4219         * console.c (Fconsole_device_list):
4220         * console.c (Fconsole_on_window_system_p):
4221         * data.c:
4222         * data.c (Feq):
4223         * data.c (Fold_eq):
4224         * data.c (Fsubr_interactive):
4225         * data.c (Fchar_to_int):
4226         * data.c (Fint_to_char):
4227         * data.c (Fsetcar):
4228         * data.c (Fsetcdr):
4229         * data.c (Fnumber_to_string):
4230         * data.c (Fstring_to_number):
4231         * data.c (Frem):
4232         * database.c (mark_database):
4233         * database.c (finalize_database):
4234         * database.c (Fdatabase_live_p):
4235         * database.c (Fdatabasep):
4236         * device-x.c (Fx_get_resource):
4237         * device.c (Fdfw_device):
4238         * dired.c:
4239         * dired.c (Ffile_name_completion):
4240         * dired.c (Ffile_name_all_completions):
4241         * dired.c (Fuser_name_completion):
4242         * dired.c (Fuser_name_completion_1):
4243         * dired.c (Fuser_name_all_completions):
4244         * doc.c (Fdocumentation):
4245         * doc.c (Fdocumentation_property):
4246         * doc.c (Fsubstitute_command_keys):
4247         * editfns.c:
4248         * editfns.c (Fchar_to_string):
4249         * editfns.c (Fstring_to_char):
4250         * editfns.c (Ftemp_directory):
4251         * editfns.c (Finsert_char):
4252         * editfns.c (Fbuffer_substring_no_properties):
4253         * editfns.c (Fnarrow_to_region):
4254         * editfns.c (Fchar_equal):
4255         * editfns.c (Fchar_Equal):
4256         * editfns.c (Ftranspose_regions):
4257         * emacs.c (Fdump_emacs):
4258         * eval.c (Fthrow):
4259         * eval.c (Fcommand_execute):
4260         * eval.c (Fautoload):
4261         * eval.c (Fbacktrace):
4262         * eval.c (Fbacktrace_frame):
4263         * events.c:
4264         * events.c (Fcopy_event):
4265         * events.c (Fcharacter_to_event):
4266         * events.c (Fevent_button):
4267         * events.c (Fevent_process):
4268         * extents.c:
4269         * extents.c (Fnext_extent_change):
4270         * extents.c (Fextent_property):
4271         * faces.c (Ffacep):
4272         * faces.c (Fmake_face):
4273         * file-coding.c:
4274         * file-coding.c (Fencode_shift_jis_char):
4275         * file-coding.c (Fencode_big5_char):
4276         * fileio.c (Ffile_name_directory):
4277         * fileio.c (Ffile_name_nondirectory):
4278         * fileio.c (Ffile_name_as_directory):
4279         * fileio.c (Fdirectory_file_name):
4280         * fileio.c (Ffile_truename):
4281         * fileio.c (Fsubstitute_in_file_name):
4282         * fileio.c (Ffile_modes):
4283         * fileio.c (Fset_file_modes):
4284         * fileio.c (Fset_default_file_modes):
4285         * fileio.c (Fverify_visited_file_modtime):
4286         * floatfns.c (Facos):
4287         * floatfns.c (Fasin):
4288         * floatfns.c (Fatan):
4289         * floatfns.c (Fcos):
4290         * floatfns.c (Fsin):
4291         * floatfns.c (Ftan):
4292         * floatfns.c (Fbessel_j0):
4293         * floatfns.c (Fbessel_j1):
4294         * floatfns.c (Fbessel_jn):
4295         * floatfns.c (Fbessel_y0):
4296         * floatfns.c (Fbessel_y1):
4297         * floatfns.c (Fbessel_yn):
4298         * floatfns.c (Ferf):
4299         * floatfns.c (Ferfc):
4300         * floatfns.c (Flog_gamma):
4301         * floatfns.c (Fexp):
4302         * floatfns.c (Fexpt):
4303         * floatfns.c (Flog):
4304         * floatfns.c (Flog10):
4305         * floatfns.c (Fsqrt):
4306         * floatfns.c (Fcube_root):
4307         * floatfns.c (Facosh):
4308         * floatfns.c (Fasinh):
4309         * floatfns.c (Fatanh):
4310         * floatfns.c (Fcosh):
4311         * floatfns.c (Fsinh):
4312         * floatfns.c (Ftanh):
4313         * floatfns.c (Fabs):
4314         * floatfns.c (Ffloat):
4315         * floatfns.c (Flogb):
4316         * floatfns.c (Fceiling):
4317         * floatfns.c (Ffloor):
4318         * floatfns.c (Fround):
4319         * floatfns.c (Ftruncate):
4320         * floatfns.c (Ffceiling):
4321         * floatfns.c (Fffloor):
4322         * floatfns.c (Ffround):
4323         * floatfns.c (Fftruncate):
4324         * fns.c (Fstring_equal):
4325         * fns.c (Fstring_lessp):
4326         * fns.c (concat2):
4327         * fns.c (concat3):
4328         * fns.c (vconcat2):
4329         * fns.c (vconcat3):
4330         * fns.c (Fsubstring):
4331         * fns.c (Fassoc):
4332         * fns.c (Fold_assoc):
4333         * fns.c (assoc_no_quit):
4334         * fns.c (Fassq):
4335         * fns.c (Fold_assq):
4336         * fns.c (assq_no_quit):
4337         * fns.c (Frassoc):
4338         * fns.c (Fold_rassoc):
4339         * fns.c (Frassq):
4340         * fns.c (Fold_rassq):
4341         * fns.c (rassq_no_quit):
4342         * fns.c (Fremassoc):
4343         * fns.c (remassoc_no_quit):
4344         * fns.c (Fremassq):
4345         * fns.c (remassq_no_quit):
4346         * fns.c (Fremrassoc):
4347         * fns.c (Fremrassq):
4348         * fns.c (remrassq_no_quit):
4349         * fns.c (Fsort):
4350         * fns.c (Fplist_get):
4351         * fns.c (Fplist_put):
4352         * fns.c (Fplist_remprop):
4353         * fns.c (Fplist_member):
4354         * fns.c (Flax_plist_get):
4355         * fns.c (Flax_plist_put):
4356         * fns.c (Flax_plist_remprop):
4357         * fns.c (Flax_plist_member):
4358         * fns.c (Fequal):
4359         * fns.c (Fold_equal):
4360         * fns.c (Frequire):
4361         * fns.c (Fbase64_encode_region):
4362         * fns.c (Fbase64_encode_string):
4363         * fns.c (Fbase64_decode_region):
4364         * frame.c:
4365         * frame.c (frame_matches_frame_spec):
4366         * frame.c (device_matches_device_spec):
4367         * frame.c (next_frame):
4368         * frame.c (previous_frame):
4369         * frame.c (Fnext_frame):
4370         * frame.c (Fprevious_frame):
4371         * frame.c (Fframe_property):
4372         * frame.c (Fset_frame_height):
4373         * frame.c (Fset_frame_size):
4374         * frame.h:
4375         * glyphs.c:
4376         * glyphs.c (if):
4377         * glyphs.c (decode_error_behavior_flag):
4378         * glyphs.c (Fmake_image_instance):
4379         * indent.c (Findent_to):
4380         * intl.c (Fignore_defer_gettext):
4381         * keymap.c (Fkeymapp):
4382         * keymap.c (Flookup_key):
4383         * lread.c:
4384         * lread.c (Fload_internal):
4385         * lread.c (Feval_buffer):
4386         * lread.c (Feval_region):
4387         * macros.c (Fexecute_kbd_macro):
4388         * marker.c (set_marker_internal):
4389         * marker.c (Fset_marker):
4390         * marker.c (set_marker_restricted):
4391         * marker.c (Fcopy_marker):
4392         * marker.c (noseeum_copy_marker):
4393         * menubar.c:
4394         * menubar.c (Fpopup_menu):
4395         * minibuf.c:
4396         * mule-charset.c (Fcharset_name):
4397         * mule-charset.c (Fchar_charset):
4398         * mule-charset.c (Fchar_octet):
4399         * mule-charset.c (Fsplit_char):
4400         * mule-wnnfns.c (Fwnn_open):
4401         * mule-wnnfns.c (Fwnn_dict_comment):
4402         * mule-wnnfns.c (Fwnn_quit_henkan):
4403         * mule-wnnfns.c (Fwnn_word_toroku):
4404         * mule-wnnfns.c (Fwnn_word_sakujo):
4405         * mule-wnnfns.c (Fwnn_word_use):
4406         * mule-wnnfns.c (Fwnn_hindo_set):
4407         * objects.c:
4408         * objects.c (Fmake_color_instance):
4409         * objects.c (Fmake_font_instance):
4410         * print.c (Fwrite_char):
4411         * process.c:
4412         * process.c (mark_process):
4413         * process.c (print_process):
4414         * process.c (get_process_from_usid):
4415         * process.c (Fprocessp):
4416         * process.c (Fprocess_live_p):
4417         * process.c (Fget_process):
4418         * process.c (Fget_buffer_process):
4419         * process.c (get_process):
4420         * process.c (Fprocess_id):
4421         * process.c (Fprocess_name):
4422         * process.c (Fprocess_command):
4423         * process.c (init_process_io_handles):
4424         * process.c (start_process_unwind):
4425         * process.c (Fstart_process_internal):
4426         * process.c (Fopen_multicast_group_internal):
4427         * process.c (Fset_process_window_size):
4428         * process.c (read_process_output):
4429         * process.c (send_process):
4430         * process.c (Fprocess_tty_name):
4431         * process.c (Fset_process_buffer):
4432         * process.c (Fprocess_buffer):
4433         * process.c (Fprocess_mark):
4434         * process.c (set_process_filter):
4435         * process.c (Fset_process_filter):
4436         * process.c (Fprocess_filter):
4437         * process.c (Fprocess_send_region):
4438         * process.c (Fprocess_send_string):
4439         * process.c (exec_sentinel):
4440         * process.c (Fset_process_sentinel):
4441         * process.c (Fprocess_sentinel):
4442         * process.c (status_notify):
4443         * process.c (Fprocess_status):
4444         * process.c (Fprocess_exit_status):
4445         * process.c (process_send_signal):
4446         * process.c (Fprocess_send_eof):
4447         * process.c (deactivate_process):
4448         * process.c (remove_process):
4449         * process.c (Fdelete_process):
4450         * process.c (kill_buffer_processes):
4451         * process.c (Fprocess_kill_without_query):
4452         * process.c (Fprocess_kill_without_query_p):
4453         * rangetab.c:
4454         * rangetab.c (Fget_range_table):
4455         * rangetab.c (Fput_range_table):
4456         * rangetab.c (Fremove_range_table):
4457         * rangetab.c (Fclear_range_table):
4458         * search.c:
4459         * search.c (Fskip_chars_forward):
4460         * search.c (Fskip_chars_backward):
4461         * search.c (Fskip_syntax_forward):
4462         * search.c (Fskip_syntax_backward):
4463         * search.c (search_command):
4464         * search.c (Freplace_match):
4465         * search.c (Fregexp_quote):
4466         * select.c (Fown_selection_internal):
4467         * select.c (Fselection_owner_p):
4468         * select.c (Fselection_exists_p):
4469         * select.c (Fget_selection_internal):
4470         * specifier.c:
4471         * symbols.c:
4472         * symbols.c (Fintern):
4473         * symbols.c (Fintern_soft):
4474         * symbols.c (Funintern):
4475         * symbols.c (Fapropos_internal):
4476         * symbols.c (Fset_default):
4477         * syntax.c:
4478         * syntax.c (Fsyntax_table_p):
4479         * syntax.c (Fcopy_syntax_table):
4480         * syntax.c (Fset_syntax_table):
4481         * syntax.c (Fchar_syntax):
4482         * syntax.c (syntax_match):
4483         * syntax.c (Fmatching_paren):
4484         * syntax.c (Fforward_word):
4485         * syntax.c (scan_lists):
4486         * syntax.c (Fscan_lists):
4487         * syntax.c (Fscan_sexps):
4488         * syntax.c (Fparse_partial_sexp):
4489         * toolbar.c (Fcheck_toolbar_button_syntax):
4490         * tooltalk.doc:
4491         * window.c:
4492         * window.c (Fwindowp):
4493         * window.c (Fwindow_live_p):
4494         * window.c (Fwindow_point):
4495         * window.c (Fdelete_window):
4496         * window.c (Fnext_window):
4497         * window.c (Fprevious_window):
4498         * window.c (Fother_window):
4499         * window.c (window_loop):
4500         * window.c (Fget_lru_window):
4501         * window.c (Fsplit_window):
4502         * window.c (Fenlarge_window):
4503         * window.c (Fenlarge_window_pixels):
4504         * window.c (Fshrink_window):
4505         * window.c (Fshrink_window_pixels):
4506         * window.c (change_window_height):
4507         * window.c (Fwindow_configuration_p):
4508         * window.c (Fcurrent_window_configuration):
4509         * window.h:
4510         * casefiddle.c (casify_object):
4511         * casefiddle.c (Fupcase):
4512         * casefiddle.c (Fdowncase):
4513         * casefiddle.c (Fcapitalize):
4514         * casefiddle.c (Fupcase_initials):
4515         * casefiddle.c (casify_region_internal):
4516         * casefiddle.c (casify_region):
4517         * casefiddle.c (Fupcase_region):
4518         * casefiddle.c (Fdowncase_region):
4519         * casefiddle.c (Fcapitalize_region):
4520         * casefiddle.c (Fupcase_initials_region):
4521         * casefiddle.c (Fupcase_word):
4522         * casefiddle.c (Fdowncase_word):
4523         * casefiddle.c (Fcapitalize_word):
4524         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4525         Replace 0 with '\0' when working with bytes.
4526         Replace initial "(" with "\(" in docstrings.
4527
4528 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4529
4530         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4531
4532         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4533
4534 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4535
4536         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4537
4538 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4539
4540         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4541         correctly.
4542
4543 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4544
4545         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4546         (inhibit_auto_save_session): New variable.
4547         (vars_of_fileio): Declare and initialize them.
4548         * fileio.c (Fdo_auto_save): Don't create session file if
4549         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4550
4551 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4552
4553         * sgiplay.c (play_internal): C++ compilability.
4554         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4555         * callproc.c (Fold_call_process_internal):
4556         Remove unused vars `env', `first'.
4557         * scrollbar.c (update_scrollbar_instance):
4558         #### unused var `current_window'.
4559         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4560         etc. within #ifdef NOT_YET.
4561         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4562         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4563         * specifier.c (specifier_instance):
4564         #### unused var `tag'.
4565         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4566
4567 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4568
4569         * fns.c (Fbutlast):
4570         * fns.c (list_sort):
4571         * fns.c (Ffillarray):
4572         * fns.c (bytecode_nconc2):
4573         * fns.c (Fnconc):
4574         * fns.c (mapcar1):
4575         * fns.c (Fmapconcat):
4576         Be pedantically 64-bit correct.  For the time when someone will
4577         want to have a list with length > 2**32.
4578
4579         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4580         Work around MIPSpro compiler bug.
4581
4582         * process-unix.c (unix_kill_child_process): Add snarky comment.
4583         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4584
4585         * config.h.in: Oops, _getpt ==> _getpty
4586
4587 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4588
4589         * config.h.in:
4590         * regex.c:
4591         Use void*, not char*, as return type of alloca().
4592
4593         * alloc.c (free_marker): Side effect inside assert expression!
4594
4595 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4596
4597         * mule-charset.c (Fset_charset_ccl_program): To check
4598         if the given ccl program is valid, use setup_ccl_program()
4599         instead of CHECK_VECTOR().
4600         (Fmake_charset): Likewise.
4601
4602 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4603
4604         * faces.c (get_extent_fragment_face_cache_index):
4605         Fix cachel.merged_faces memory leak.
4606
4607 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
4608
4609         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
4610         Reset MSB of octets obtained by DECODE_SJIS
4611         because of the incompatibility with Emacs.
4612         (ccl_driver)<CCL_ENCODE_SJIS>:
4613         Set MSB of octets before passing them to
4614         ENCODE_SJIS because of the incompatibility
4615         with Emacs.
4616
4617 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
4618
4619         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
4620         (DECLARE_LRECORD): Undo the last change.
4621         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
4622
4623 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
4624
4625         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
4626         the implementation to lrecord_implementations_table.
4627
4628 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
4629
4630         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
4631         initial value of `lrecord_type_##c_name' and
4632         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
4633         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
4634         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
4635         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
4636         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
4637
4638 2000-10-17  Martin Buchholz  <martin@xemacs.org>
4639
4640         * miscplay.c (sndcnv8S_2mono):
4641         (sndcnv2monounsigned):
4642         (sndcnvULaw_2linear):
4643         (sndcnv16swap):
4644         Remove implementation-defined behavior.
4645
4646 2000-10-12  Martin Buchholz  <martin@xemacs.org>
4647
4648         * input-method-xlib.c: Warning suppression.
4649
4650 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
4651
4652         * mule-ccl.c: Sync up with Emacs 21.0.90.
4653         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
4654         Do nothing.
4655         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
4656         Likewise.
4657         (ccl_driver[WriteMultibyteChar2]): Bug fix.
4658         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
4659         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
4660         leading char belongs to official 2-dimensional charset.
4661         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
4662         write the given character as is.  Otherwise,
4663         if it is a multibyte char, convert it by
4664         non_ascii_set_charptr_emchar, then write it.
4665         (CCL_WRITE_STRING): Likewise.
4666         (ccl_get_compiled_code): New function.
4667         (setup_ccl_program): When ccl_prog is invalid,
4668         return -1.
4669         (Fregister_code_conversion_map): New function.
4670         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
4671
4672         * mule-ccl.h: Sync up with Emacs 21.0.90.
4673         (Fregister_ccl_program): export it.
4674
4675         * redisplay-msw.c (separate_textual_runs):
4676         If ccl program is not valid, don't do ccl conversion.
4677
4678         * redisplay-x.c (separate_textual_runs): Ditto.
4679
4680         * file-coding.c (Fmake_coding_system):
4681         When type is ccl and value is vector, register it
4682         with a proper symbol.  And checks whether the
4683         given ccl program is valid.
4684         (mule_decode): When calling ccl_driver, if src indicates
4685         NULL pointer, set an empty string instead.
4686         (mule_encode): Likewise.
4687
4688 2000-10-11  Martin Buchholz  <martin@xemacs.org>
4689
4690         The following large batch of changes gets us back to a state of
4691         C++ compilability.  Extbyte is now a char, which means that
4692         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
4693
4694         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
4695
4696         * sound.c (Fplay_sound): Type correctness.
4697
4698         * select-x.c (hack_motif_clipboard_selection): Type correctness.
4699         (x_get_window_property): Type correctness.
4700         (receive_incremental_selection): unsigned char ==> Extbyte
4701         (selection_data_to_lisp_data): unsigned char ==> Extbyte
4702         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
4703         (Fx_store_cutbuffer_internal): Type correctness.
4704
4705         * process-unix.c (try_to_initialize_subtty): Type correctness.
4706
4707         * objects-x.c (x_print_color_instance): Type correctness.
4708         (x_print_font_instance): Type correctness.
4709         (x_list_fonts): SExtbyte ==> Extbyte.
4710         (valid_x_font_name_p): SExtbyte ==> Extbyte.
4711         (x_find_charset_font): SExtbyte ==> Extbyte.
4712         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
4713         (truename_via_XListFonts): SExtbyte ==> Extbyte.
4714         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
4715         Use bufbyte_strcmp.
4716
4717         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
4718         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
4719         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
4720         (BYTE_C0_P): Use bit ops for char-signedness safety.
4721         (BYTE_C1_P): Use bit ops for char-signedness safety.
4722         (CHARSET_BY_LEADING_BYTE):
4723         (CHARSET_BY_ATTRIBUTES):
4724         Always use inline function.
4725         Use type_checking_assert.
4726         Hide chlook.
4727
4728         * mule-charset.c (non_ascii_charptr_copy_char):
4729         Modify to work with both ASCII and non-ASCII characters.
4730         Improve docs and variable names.
4731         Replace over-clever fall-through switch with a simple loop.
4732         (Lstream_get_emchar_1):
4733         Replace over-clever fall-through switch with a simple loop.
4734
4735         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
4736         Warning suppression.
4737
4738         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
4739         the return value of Lstream_getc, which could be EOF as well.
4740
4741         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
4742
4743         * lisp.h: Make Extbyte a char, not unsigned char, so that external
4744         APIs can be used on Extbytes without casts.  Risky!
4745         (SExtbyte): Remove.
4746         (UExtbyte): Remove.
4747
4748         * input-method-xlib.c (XIM_init_device):
4749         Use Xlib.h instead of IntrinsicP.h.
4750         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
4751         which will break in X11R7.
4752         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
4753         to call XRegisterIMInstantiateCallback with correct types.
4754
4755         * gui-x.c (button_item_to_widget_value): Type correctness.
4756
4757         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
4758
4759         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
4760         (xbm_instantiate_1): Type correctness.
4761         (BUILD_GLYPH_INST):  Type correctness.
4762
4763         * fileio.c (Fsubstitute_in_file_name): Type correctness.
4764
4765         * file-coding.c:
4766         (decode_coding_sjis):
4767         (decode_coding_big5):
4768         (decode_coding_ucs4):
4769         (decode_coding_utf8):
4770         (decode_coding_iso2022):
4771         (decode_coding_no_conversion):
4772         Make all decoding functions take an Extbyte * arg.
4773         (encode_coding_sjis):
4774         (encode_coding_big5):
4775         (encode_coding_ucs4):
4776         (encode_coding_utf8):
4777         (encode_coding_iso2022):
4778         (encode_coding_no_conversion):
4779         Make all encoding functions take a Bufbyte * arg.
4780         Use size_t instead of unsigned int for memory sizes.
4781         Only cast to unsigned char whenever dereferencing Extbyte *.
4782
4783         * doc.c (unparesseuxify_doc_string): Type correctness.
4784
4785         * console-x.c (split_up_display_spec):
4786         Rewrite without using details of internal string representation.
4787         (x_semi_canonicalize_device_connection): Type correctness.
4788
4789         * config.h.in:
4790         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
4791         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
4792         (HAVE_XFREE386): Removed.
4793
4794         * buffer.h (DEC_CHARPTR): `const' correctness.
4795         (bufbyte_strcmp): New.
4796         (bufbyte_memcmp): New.
4797
4798         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
4799
4800         * buffer.h (XCHAR_OR_CHAR_INT):
4801         Always use inline function.
4802         Remove redundant type checking assert() - XINT will abort quite nicely.
4803
4804 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
4805
4806         * search.c (Freplace_match): Set newtext to an empty string.
4807
4808 2000-10-10  Martin Buchholz  <martin@xemacs.org>
4809
4810         * s/decosf1-3.h: Remove #include of stropts.h
4811         * s/ptx.h: Remove #include of stropts.h
4812         * s/usg5-4.h: Remove #include of stropts.h
4813         * sysproc.h:
4814         * config.h.in:
4815         Use stropts.h, not sys/stropts.h.
4816         Use strtio.h, not sys/strtio.h.
4817
4818 2000-10-04  Martin Buchholz <martin@xemacs.org>
4819
4820         * XEmacs 21.2.36 is released.
4821
4822 2000-09-21  Andy Piper  <andy@xemacs.org>
4823
4824         * glyphs-x.c (x_redisplay_widget): make sure non-structural
4825         changes still involve copying the widget tree.
4826         (update_widget_face): make sure a change is register in the widget
4827         tree. Call update_tab_widget_face appropriately.
4828         (update_tab_widget_face): ditto.
4829         (x_tab_control_redisplay): make sure non-structural changes still
4830         involve copying the widget tree.
4831
4832 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
4833
4834         * lread.c (locate_file): Check the path element is non-nil.
4835
4836 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4837
4838         * lisp.h: Warning suppression for SCO compilers.
4839
4840         * redisplay-tty.c (reset_tty_modes): Fix crash.
4841         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
4842
4843 2000-09-27  Martin Buchholz  <martin@xemacs.org>
4844
4845         Big signal/process handling overhaul.  Bugs fixed:
4846         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
4847         M-x comint-kill-subjob should work for both values nil and t of
4848         process-connection-type. It was broken on most platforms.
4849         Testing on Irix and Cygwin still needed.  Other plaforms tested.
4850         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
4851         * process-unix.c: Signal/Process handling overhaul.
4852         (pty_name): make 64 bytes, as `expect' does, for paranoia.
4853         (allocate_pty): Use all available modern methods of allocating
4854         ptys, falling back to old style BSD allocation as a last resort.
4855         Use allegedly more secure Unix98 pty allocation by default.
4856         (allocate_pty_the_old_fashioned_way): New. the last resort.
4857         (unix_create_process): Push ptem, ldterm, ttcompat where
4858         available.  Autoconfiscate.
4859         (try_to_initialize_subtty): New.
4860         (unix_kill_child_process): Proper signal handling for ptys on most
4861         platforms, using special knowledge of AIX, BSD, etc...
4862         (unix_create_process): Always disconnect_controlling_terminal() for
4863         subprocesses, whether using ptys or not.
4864         * process.h: Remove old getpt-dependent PTY code.
4865         * process.c (Fprocess_send_signal): New, obvious generic function.
4866         (decode_signal): New.
4867         (Finterrupt_process):
4868         (Fkill_process):
4869         (Fquit_process):
4870         (Fstop_process):
4871         (Fcontinue_process):
4872         (Fsignal_process): Use decode_signal.
4873         (process_send_signal):
4874         Many docstring corrections.
4875         Allow any signal to be sent to a process object.
4876         * config.h.in: Add symbols for big signal/process overhaul.
4877         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
4878         * sysproc.h: Include process-related headers, where available:
4879         sys/stropts.h sys/strtio.h pty.h libutil.h
4880         * s/irix4-0.h:
4881         * s/irix5-0.h:
4882         * s/cygwin32.h:
4883         * s/gnu.h:
4884         * s/linux.h:
4885         * s/hpux.h:
4886         * s/aix3-1.h:
4887         Remove old S&M pty stuff.
4888         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
4889         * systty.h: Simplify cpp hackery, improve comments.
4890         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
4891
4892         * editfns.c (Fformat_time_string):
4893         Be a little more paranoid with the return value of ctime.
4894
4895         * fileio.c (check_executable):
4896         (check_writable):
4897         Use symbolic constants X_OK, W_OK.
4898
4899         * console-x.c (split_up_display_spec): Fix a warning.
4900
4901 2000-10-02  Martin Buchholz  <martin@xemacs.org>
4902
4903         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
4904         * ntproc.c (sys_spawnve): make_string ==> build_string
4905         Small clarity improvements.
4906
4907 2000-09-30  Martin Buchholz  <martin@xemacs.org>
4908
4909         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
4910
4911         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
4912
4913         * config.h.in (HAVE_STRCASECMP): Remove.
4914
4915 2000-09-29  Martin Buchholz  <martin@xemacs.org>
4916
4917         * redisplay-output.c (redisplay_output_pixmap):
4918         Cleaner and possibly more 64-bit correct code.
4919
4920 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4921
4922         * dumper.c (pdump_load_finish): move restoration of
4923         `noninteractive1' to emacs.c (main_1).
4924         * emacs.c (main_1): protect LISP-visible command-line flags
4925         from pdump_load().
4926
4927 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
4928
4929         * Makefile.in.in (versionclean):  Use EXE_TARGET and
4930         DUMP_TARGET instead of literal program names.
4931
4932 2000-09-20  Martin Buchholz  <martin@xemacs.org>
4933
4934         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
4935
4936 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4937
4938         * *: Spelling mega-patch
4939
4940 2000-09-19  Martin Buchholz  <martin@xemacs.org>
4941
4942         * fns.c (bad_bad_turtle):
4943         Delete "Eek!" comment, since we fixed the bug to which it refers.
4944
4945 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4946
4947         * alloca.c: Replace REGISTER with register.
4948
4949 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
4950
4951         * file-coding.c (ucs_to_char): Use countof.
4952
4953 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4954
4955         * file-coding.c: (ucs_to_char):
4956         (complex_vars_of_file_coding):
4957         Use countof instead of sizeof.
4958         Use CHECK_NATNUM instead of CHECK_INT.
4959
4960         * sysdep.c (strcasecmp): Remove.
4961         * device-x.c (ascii_strcasecmp): New.
4962         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
4963         Avoid using non-standard non-portable strcasecmp.
4964
4965 2000-09-16  Martin Buchholz  <martin@xemacs.org>
4966
4967         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
4968         * font-lock.c: remove reference to emacsfns.h.
4969         * search.c: small doc improvement.
4970         * event-Xt.c: correct file names in comments.
4971         * console-x.h Correct file names in comments.
4972         * frame.c: Correct file names in comments.
4973         * event-stream.c: remove Energize from comments.
4974
4975 2000-09-15  Martin Buchholz  <martin@xemacs.org>
4976
4977         * symeval.h (DEFERROR_STANDARD):
4978         (DEFERROR):
4979         (DEFSYMBOL):
4980         (DEFSYMBOL_NO_DUMP):
4981         (DEFSYMBOL_MULTIWORD_PREDICATE):
4982         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
4983         (DEFKEYWORD):
4984         The construct &##name is not sensible C.
4985         Fixes compilation errors with Unixware native compiler.
4986
4987 2000-09-14  Martin Buchholz  <martin@xemacs.org>
4988
4989         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
4990         (next_frame_internal): Removed.  We now just have next_frame.
4991         (next_frame):
4992         Write a simpler and cleaner one-pass algorithm.
4993         Remove called_from_delete_device arg and #ifdefed-out code.
4994         (previous_frame):
4995         Renamed from prev_frame.  Update callers.
4996         Cleaned up to have an analogous implementation to next_frame.
4997         (other_visible_frames_internal): Remove the
4998         called_from_delete_device bogus arg, and hence, remove this
4999         function.  Just use other_visible_frames().
5000
5001         * window.c (Fnext_window):
5002         Prettify docstring.
5003         Since next_frame() is guaranteed to return a frame, remove check
5004         for nil inserted in previous patch.
5005         (Fprevious_window):
5006         Prettify docstring.
5007         Make code look more like Fnext_window.
5008         (window_loop):
5009         Respect the `console' arg when iterating through windows.
5010         Fixes bug: (get-buffer-window buffer t device) not respecting
5011         the `device' arg.
5012         This function needs more work, as others have pointed out.
5013
5014         * frame.h: Rename prev_frame to previous_frame.
5015         device_matches_console_spec no longer takes a `frame' arg.
5016
5017         * s/gnu.h:
5018         * s/linux.h:
5019         * s/hpux.h:
5020         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5021         From "Golubev I. N." <gin@mo.msk.ru>.
5022
5023         * make-src-depend: Fix typo.
5024
5025 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5026
5027         * window.c (Fnext_window):
5028         next_frame() might return nil, not a frame.
5029         Fixes this crash:
5030         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5031
5032         * frame.c (next_frame_internal):
5033         We've passed a frame if we've passed its device.
5034         Fixes this crash:
5035         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5036 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5037
5038 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5039
5040         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5041         Allow option to suppress accelerators in menu/dialog items.
5042         (populate_or_checksum_helper): Pass dialog title through above.
5043
5044 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5045
5046         * event-msw.c (mswindows_key_to_emacs_keysym):
5047         Add "pause" key, fix "menu" key.
5048
5049 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5050
5051         * eval.c (reinit_vars_of_eval):
5052         Increase max_lisp_eval_depth to 1000,
5053         required for thai-xtis.el to byte-compile under some circumstances.
5054
5055 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5056
5057         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5058         From Kenichi Handa.
5059
5060 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5061
5062         * make-src-depend: Make the generated Makefiles smaller.
5063
5064         * s/hpux.h (SETUP_SLAVE_PTY):
5065         Provide a %d in the format string for the errno argument.
5066
5067         * editfns.c (Ftemp_directory):
5068         Warning fix.
5069         Avoid buffer overrun on very long file name.
5070
5071         * input-method-xlib.c (XIM_init_device):
5072         6th parameter of XRegisterIMInstantiateCallback has different
5073         pointer types on different OSes, so simply cast to (void *).
5074
5075         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5076
5077         * sysdll.c (dll_open):
5078         shl_load will hang hard if passed a NULL filename.
5079         Simply return NULL for compatibility with dlopen.
5080         * sysdll.c: Conform to XEmacs coding standards.
5081
5082         * sysdep.c (get_pty_max_bytes):
5083         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5084
5085 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5086
5087         * tooltalk.c: Add #include <syssignal.h>
5088
5089 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5090
5091         * s/hpux.h: Don't use undefined function sigunblock().
5092
5093 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5094
5095         * config.h.in: Add HAVE_BALLOON_HELP.
5096         * emacs.c: Use HAVE_BALLOON_HELP.
5097         * Makefile.in.in (x_objs):
5098         Make Balloon Help conditional on finding shape.h.
5099
5100 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5101
5102         * syntax.c (regex_emacs_buffer_p): New variable.
5103         * syntax.h (regex_emacs_buffer_p): extern.
5104         * search.c (looking_at_1):
5105         (string_match_1):
5106         (fast_string_match):
5107         (search_buffer): Set regex_emacs_buffer_p.
5108         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5109         when before_dot, at_dot, after_dot.
5110
5111 2000-08-23  Andy Piper  <andy@xemacs.org>
5112
5113         * gui-x.c (popup_selection_callback): Only set action_occurred
5114         when we really have an image instance.
5115         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5116
5117 2000-08-23  Andy Piper  <andy@xemacs.org>
5118
5119         * gui-msw.c (mswindows_handle_gui_wm_command): set
5120         action_occurred.
5121         * gui-x.c (popup_selection_callback): ditto.
5122
5123         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5124         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5125         (struct Lisp_Image_Instance): add action_occurred flag.
5126
5127         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5128         (image_instance_changed): ditto.
5129         (reset_frame_subwindow_instance_cache): only unmap windows - do
5130         not remove them from the cache also.
5131
5132         * glyphs-widget.c (tab_control_update): better debug.
5133         (progress_gauge_update): ditto.
5134         (layout_update): ditto.
5135         (layout_instantiate): ditto.
5136         (tab_control_order_only_changed): cope with null pending items.
5137
5138         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5139         debug. Force selection of an item when an action occurred. Cope
5140         with null pending_items.
5141         (mswindows_progress_gauge_redisplay): better debug.
5142         * glyphs-x.c (x_tab_control_redisplay): ditto.
5143
5144         * redisplay.c (redisplay_frame): reset the frame cache if the
5145         frame is garbaged.
5146
5147         * window.c (Fset_window_configuration): potentially re-enable
5148         frame cache reset.
5149         (window_unmap_subwindows): need to finalize instances here since
5150         it is only used in mark_window_as_deleted.
5151
5152 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5153
5154         * nas.c (SndOpenDataForReading):
5155         nas.c (WaveOpenDataForReading):
5156         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5157         Somehow escaped from the 2000-08-14 patch.
5158
5159 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5160
5161         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5162         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5163
5164 2000-08-21  Andy Piper  <andy@xemacs.org>
5165
5166         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5167         window if it is not already displayed.
5168
5169         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5170         it is not already displayed.
5171
5172         * window.c (Fset_window_configuration): don't reset the frame
5173         cache.
5174
5175         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5176         instances from the frame cache if we are actually finalizing them.
5177         (reset_frame_subwindow_instance_cache): reset frame cache only
5178         after unmapping everything.
5179         (map_subwindow): set displayed flag after mapping.
5180
5181 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5182
5183         * data.c (indirect_function):
5184         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5185
5186         * eval.c (function_argcount):
5187         Use original function when signaling errors.
5188
5189 2000-08-18  Andy Piper  <andy@xemacs.org>
5190
5191         * frame.c (delete_frame_internal): use new
5192         free_frame_subwindow_instances name.
5193
5194         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5195         (add_tab_item): make return type correct.
5196         (mswindows_tab_control_instantiate): assert index of tab.
5197         (mswindows_tab_control_redisplay): Re-code to use
5198         gui_item_equal_sans_selected and gui_item_list_find_selected.
5199
5200         * glyphs-widget.c (tab_control_update): Correct comment.
5201
5202         * window.c (window_unmap_subwindows): use new
5203         unmap_subwindow_instance_cache_mapper.
5204         (window_unmap_subwindows_cache_mapper): deleted.
5205         (Fset_window_configuration): comparisons should now be with
5206         EQ. Preserve the subwindow instance cache across configuration
5207         changes.
5208         (allocate_window): ditto.
5209         (make_dummy_parent): ditto.
5210
5211         * glyphs.c (free_frame_subwindow_instances): rename from
5212         free_frame_subwindow_instance_cache. finalize all instances rather
5213         than just those in the display cache.
5214         (finalize_all_subwindow_instances): walk windows unmapping and
5215         finalizing subwindows.
5216         (unmap_subwindow_instance_cache_mapper): moved from
5217         window.c. Allow finalization as well as unmapping.
5218
5219         * gui.c (gui_item_list_find_selected): new function.
5220
5221         * gui.h (gui_item_list_find_selected): declare.
5222
5223         * glyphs-x.c (x_tab_control_redisplay): pick tab
5224         explicitly. Re-code to use gui_item_equal_sans_selected and
5225         gui_item_list_find_selected.
5226
5227         * glyphs-x.h: add lwlib-utils.h
5228
5229         * buffer.c (Frecord_buffer): undo previous change.
5230
5231 2000-08-09  Vin Shelton  <acs@xemacs.org>
5232
5233         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5234         possible.  Create temporary files more securely.  The patch was
5235         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5236         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5237         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5238         for details.
5239
5240 2000-08-07  Ben Wing  <ben@xemacs.org>
5241
5242         * getloadavg.c: remove duplicate (and windows-breaking)
5243         includes of fcntl.h and sys/file.h.
5244
5245         * nt.c: remove duplicate getloadavg() definition.
5246
5247         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5248         encodings.
5249
5250 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5251
5252         * eval.c (function_argcount): If function needs to be autoloaded
5253         actually use the loaded definition.
5254         GCPRO function.
5255
5256 2000-08-05  Ben Wing  <ben@xemacs.org>
5257
5258         * getloadavg.c: add prototype for getloadavg().  remove
5259         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5260         of the code).  remove duplicate header includes.
5261
5262         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5263
5264         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5265         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5266         useful load average.
5267
5268         * alloc.c (reinit_alloc_once_early): removed references to
5269         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5270         the lisp vars are the only things referencing the malloc_sbrk_*
5271         vars, and they were already if 0'd out.  these vars only exist
5272         in the older malloc.c, which is basically unused, and they're
5273         only for informational purposes.
5274
5275         * m\*.h: removed useless VIRT_ADDR_VARIES.
5276
5277         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5278
5279 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5280
5281         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5282         color if the image is a mono pixmap.
5283
5284 2000-07-30  Ben Wing  <ben@xemacs.org>
5285
5286         * Makefile.in.in (release):
5287         Remove stray @.
5288
5289         * buffer.c (directory_is_current_directory):
5290         * dired-msw.c (mswindows_get_files):
5291         * dired.c:
5292         * dired.c (Fdirectory_files):
5293         * dired.c (file_name_completion_stat):
5294         * dired.c (Ffile_attributes):
5295         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5296         preprocessor tricks, to avoid problems on some machines
5297         (e.g. SCO).
5298
5299         * callproc.c (egetenv): GC docs.
5300
5301         * console-msw.h:
5302         * console-msw.h (struct mswindows_dialog_id):
5303         * lrecord.h (lrecord_type):
5304         New object for use with MSW dialogs.
5305
5306         * console.h (struct console_methods):
5307         New enable/disable frame methods, for proper modal dialogs.
5308
5309         * device-msw.c (msprinter_default_printer): Fix to follow
5310         proper Mule conventions.
5311
5312         * device-msw.c:
5313         * device-msw.c (signal_open_printer_error):
5314         * device-msw.c (msprinter_init_device):
5315         * device-msw.c (ensure_not_printing):
5316         * device-msw.c (plist_get_margin):
5317         * device-msw.c (Fmsprinter_select_settings):
5318         * device-msw.c (finalize_devmode):
5319         * device-msw.c (Fmsprinter_settings_despecialize):
5320         * device-msw.c (signal_enum_priner_error):
5321         * extents.c (decode_extent):
5322         * extents.c (decode_map_extents_flags):
5323         * extents.c (decode_extent_at_flag):
5324         * extents.c (Fextent_at):
5325         * extents.c (Fextents_at):
5326         * extents.c (symbol_to_glyph_layout):
5327         [[[[2]]]] Use structured errors.
5328
5329         * dialog-msw.c:
5330         * dialog-msw.c (mswindows_is_dialog_msg):
5331         * dialog-msw.c (mark_mswindows_dialog_id):
5332         * dialog-msw.c (dialog_proc):
5333         * dialog-msw.c (handle_question_dialog_box):
5334         * dialog-msw.c (syms_of_dialog_mswindows):
5335         Define new object to clean up marking; use it as a dialog identifier.
5336         Call new delete-dialog-box-hook.
5337
5338         * dialog-x.c (dbox_selection_callback):
5339         * dialog-x.c (dbox_descriptor_to_widget_value):
5340         * dialog-x.c (x_make_dialog_box_internal):
5341         Call new delete-dialog-box-hook.
5342         Return an id.
5343
5344         * dialog.c:
5345         * dialog.c (syms_of_dialog):
5346         * dialog.c (vars_of_dialog):
5347         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5348
5349         * eval.c:
5350         * eval.c (signal_call_debugger):
5351         when noninteractive, output stack traces on the console instead
5352         of in a (never-seen) buffer.
5353
5354         * eval.c (signal_type_error):
5355         * eval.c (invalid_argument_2):
5356         * lisp.h:
5357         new funs for use w/structured errors.
5358
5359         * event-Xt.c:
5360         * event-Xt.c (x_to_emacs_keysym):
5361         * event-Xt.c (describe_event):
5362         * event-Xt.c (emacs_Xt_event_handler):
5363         * event-Xt.c (vars_of_event_Xt):
5364         * event-msw.c:
5365         * event-msw.c (mswindows_wnd_proc):
5366         * event-msw.c (vars_of_event_mswindows):
5367         rename {x,mswindows}-debug-events to debug-{}-events for
5368         consistency with other debug-foo variables.
5369
5370         * event-stream.c:
5371         document next-event more clearly.
5372
5373         * fileio.c (Ffile_name_directory):
5374         * fileio.c (Ffile_name_nondirectory):
5375         * fileio.c (Funhandled_file_name_directory):
5376         * fileio.c (file_name_as_directory):
5377         * fileio.c (Ffile_name_as_directory):
5378         * fileio.c (directory_file_name):
5379         * fileio.c (Fdirectory_file_name):
5380         * fileio.c (Fmake_temp_name):
5381         * fileio.c (Ffile_truename):
5382         * fileio.c (Fsubstitute_in_file_name):
5383         * fileio.c (expand_and_dir_to_file):
5384         * fileio.c (barf_or_query_if_file_exists):
5385         * fileio.c (check_executable):
5386         * fileio.c (Ffile_exists_p):
5387         * fileio.c (Ffile_writable_p):
5388         * fileio.c (Ffile_directory_p):
5389         * fileio.c (Ffile_regular_p):
5390         * fileio.c (Ffile_modes):
5391         * fileio.c (Ffile_newer_than_file_p):
5392         * fileio.c (Fverify_visited_file_modtime):
5393         * fileio.c (Fset_visited_file_modtime):
5394         * fileio.c (auto_save_1):
5395         (1). (2).
5396         fix up gcpro's.
5397
5398         * frame-msw.c:
5399         * frame-msw.c (mswindows_init_frame_1):
5400         * frame-msw.c (mswindows_enable_frame):
5401         * frame-msw.c (error_frame_unsizable):
5402         * frame-msw.c (msprinter_init_frame_1):
5403         * frame-msw.c (msprinter_init_frame_3):
5404         * frame-msw.c (console_type_create_frame_mswindows):
5405         (2).
5406         implement new enable/disable frame methods.
5407
5408         * frame-x.c:
5409         * frame-x.c (x_enable_frame):
5410         * frame-x.c (console_type_create_frame_x):
5411         implement new enable/disable frame methods.
5412
5413         * frame.c:
5414         * frame.c (Fdisable_frame):
5415         * frame.c (syms_of_frame):
5416         * frame.h (struct frame):
5417         implement new enable/disable frame methods/functions.
5418
5419         * general-slots.h:
5420         add initial-focus.
5421
5422         * glyphs-msw.c (mswindows_widget_instantiate):
5423         comment that initial-focus should be implemented.
5424
5425         * glyphs-widget.c:
5426         * glyphs-widget.c (check_valid_instantiator):
5427         * glyphs-widget.c (check_valid_orientation):
5428         * glyphs-widget.c (check_valid_tab_orientation):
5429         * glyphs-widget.c (check_valid_justification):
5430         * glyphs-widget.c (check_valid_border):
5431         * glyphs-widget.c (check_valid_callback):
5432         * glyphs-widget.c (check_valid_int_or_function):
5433         * glyphs-widget.c (check_valid_string_or_vector):
5434         * glyphs-widget.c (check_valid_item_list_1):
5435         * glyphs-widget.c (widget_validate):
5436         * glyphs-widget.c (combo_box_validate):
5437         * glyphs-widget.c (widget_instantiate):
5438         * glyphs-widget.c (syms_of_glyphs_widget):
5439         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5440         * glyphs-widget.c (image_instantiator_combo_box):
5441         * glyphs-widget.c (image_instantiator_scrollbar):
5442         * glyphs-widget.c (image_instantiator_tab_control):
5443         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5444         (2).
5445         support (unimplemented) keyword initial-focus.
5446         reindent long macros.
5447
5448         * glyphs-x.c (x_redisplay_widget):
5449         * glyphs-x.c (x_button_instantiate):
5450         * glyphs-x.c (x_button_redisplay):
5451         * glyphs-x.c (x_progress_gauge_instantiate):
5452         * glyphs-x.c (x_edit_field_instantiate):
5453         * glyphs-x.c (x_combo_box_instantiate):
5454         * glyphs-x.c (x_tab_control_instantiate):
5455         * glyphs-x.c (x_label_instantiate):
5456         * gui-x.c:
5457         * gui-x.c (button_item_to_widget_value):
5458         * gui-x.c (gui_items_to_widget_values_1):
5459         * gui-x.c (gui_item_children_to_widget_values):
5460         * gui-x.c (gui_items_to_widget_values):
5461         * gui-x.h:
5462         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5463         add new flag to gui-parsing routines to indicate whether
5464         accelerator specs should be supported.
5465
5466         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5467
5468         * glyphs.h (struct Lisp_Image_Instance):
5469         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5470         add initial-focus flag.
5471
5472         * gui.c:
5473         * gui.c (syms_of_gui):
5474         * gui.c (vars_of_gui):
5475         clean up menu-no-selection-hook.
5476
5477         * gui.h:
5478         support delete-dialog-box-hook.
5479
5480         * lread.c (Fload_internal):
5481         * lread.c (locate_file_in_directory_mapper):
5482         (1).
5483
5484         * lrecord.h:
5485         * lrecord.h (struct toolbar_button):
5486         * lrecord.h (syms_of_toolbar):
5487         document how to create a new object.
5488
5489         * menubar-msw.c (mswindows_char_is_accelerator):
5490         may be called on frames w/o menus.
5491
5492         * menubar.c (vars_of_menubar):
5493         clean up :filter docs.
5494
5495         * nt.c (readdir):
5496         * ntproc.c:
5497         (1).
5498
5499         * process-nt.c:
5500         * process-nt.c (validate_signal_number):
5501         * process-nt.c (signal_cannot_launch):
5502         * process-nt.c (nt_create_process):
5503         * process-nt.c (nt_send_process):
5504         * process-nt.c (nt_kill_child_process):
5505         * process-nt.c (nt_open_network_stream):
5506         * process-nt.c (syms_of_process_nt):
5507         (2).
5508         delete quote-handling.  call new lisp code that does it better.
5509
5510         * process-unix.c (connect_to_file_descriptor):
5511         * process-unix.c (allocate_pty):
5512         * process-unix.c (unix_send_process):
5513         * process-unix.c (unix_kill_child_process):
5514         * process-unix.c (unix_open_network_stream):
5515         * process-unix.c (unix_open_multicast_group):
5516         (1). (2).
5517
5518         * process.c:
5519         * process.c (Fstart_process_internal):
5520         (2).  need to canonicalize process path even if absolute.
5521
5522         * select-msw.c (symbol_to_ms_cf):
5523         * select-msw.c (ms_cf_to_symbol):
5524         * select-msw.c (cf_is_autofreed):
5525         * select-msw.c (mswindows_destroy_selection):
5526         * select.c:
5527         * select.c (syms_of_select):
5528         * select.h:
5529         support dibv5, fix bugs. (from Mike Alexander)
5530
5531         * select.c (Fget_selection_internal):
5532         * select.c (select_convert_out):
5533
5534         * sysdep.c:
5535         * sysdep.c (xemacs_stat):
5536         renamed.
5537
5538         * sysdep.c (mkdir):
5539         * sysdep.c (rmdir):
5540         but keep original stat() here because we provide encapsulation
5541         around these funs.
5542
5543         * sysfile.h:
5544         * sysfile.h (fstat):
5545         remove stat garbage.
5546
5547         * syswindows.h:
5548         fix X/MSW conflict.
5549         don't include tchar.h.  it's inappropriate because it makes
5550         compile-time distinctions when we want runtime distinctions.
5551         (we provide our own tchar replacements)
5552
5553         * toolbar.c:
5554         use default object printer for toolbar-button.
5555
5556         * unexcw.c:
5557         make sure we don't encapsulate.
5558
5559         * window.c (vars_of_window):
5560         emphasize that temp-buffer-show-hook is obsolete.
5561
5562 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5563
5564         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5565         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5566
5567         * events.c (Fevent_timestamp_lessp):
5568         Not 64-bit clean.  Use EMACS_INT, not int.
5569
5570 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5571
5572         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5573         unsigned int and changed the last enum to
5574         lrecord_type_last_built_in_type.
5575         (lrecord_implementations_table): changed prototype to know how
5576         long the array is supposed to be.
5577         (lrecord_type_count): new unsigned int to keep track of the
5578         current number of lisp lrecord types.
5579         (DEFINE_EXTERNAL_LRECORD):
5580         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5581         dynamic-modules to declare new lisp types. They are the same
5582         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5583         int for each new type, and increment lrecord_type_count by 1.
5584
5585         * alloc.c (lrecord_implementations_table): Changed to reference
5586         lrecord_type_last_built_in_type for the size of the array.
5587         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5588
5589 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5590
5591         * glyphs.h (check_valid_item_list): Renamed from
5592         check_valid_item_list_1.
5593
5594 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5595
5596         * select.c (Qselect_coerce): New.
5597         * select.c (Vselection_coercion_alist): New.
5598         * select.c (syms_of_select): Declare.
5599         * select.c (get-selection-internal): Use it.
5600         Use the new select-coerce functionality.
5601
5602         * select.c (select_coerce): New.
5603         * select.h (select_coerce): Declare.
5604         New function to coerce one type of data into another.
5605
5606 2000-08-03  Martin Buchholz  <martin@xemacs.org>
5607
5608         * callproc.c (Fcall_process_internal):
5609         (Fcall_process_internal):
5610         * process-unix.c (unix_create_process):
5611         Save and restore the value of errno, so that error messages are accurate.
5612
5613 2000-08-01  Martin Buchholz  <martin@xemacs.org>
5614
5615         * elhash.c (print_hash_table):
5616         Fix printing of hash tables to also use `key-and-value' instead of `t'.
5617         Prettify docstrings and indentation.
5618
5619 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
5620
5621         * window.c (Fwindow_pixel_edges): Subtract frame border and
5622         gutter size.
5623
5624 2000-07-31  Andy Piper  <andy@xemacs.org>
5625
5626         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
5627         will acknowledge the change.
5628
5629         * glyphs.h: declare tab_control_order_only_changed.
5630
5631         * glyphs-x.c (x_tab_control_redisplay): use
5632         tab_control_order_only_changed.
5633
5634         * glyphs-widget.c (tab_control_order_only_changed): new function.
5635
5636         * glyphs-msw.c (mswindows_tab_control_redisplay): use
5637         tab_control_order_only_changed.
5638
5639         * gui.c (gui_item_equal_sans_selected): new function.
5640         (gui_item_equal): use it.
5641
5642         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
5643         :properties in favor of :items..
5644
5645         * glyphs-widget.c (check_valid_item_list): rename from
5646         check_valid_item_list_1.
5647         (check_valid_item_list_1): renamed.
5648         (combo_box_validate): deprecate :properties in favor of :items.
5649         (widget_instantiate): ditto.
5650         (tab_control_update): ditto.
5651         (image_instantiator_combo_box): ditto.
5652         (image_instantiator_tree_view): ditto.
5653         (image_instantiator_tab_control): ditto.
5654         (layout_post_instantiate): remove dead code.
5655
5656         * print.c (debug_print_no_newline): only write to debugger if in
5657         WIN32_NATIVE.
5658
5659         * elhash.c (Fmake_hash_table): update doc string.
5660
5661         * event-msw.c (mswindows_wnd_proc): don't allow processing of
5662         messages whilst in GC. This at least stops XEmacs crashing but has
5663         the potential for wierd behaviour.
5664
5665 2000-07-31  Martin Buchholz  <martin@xemacs.org>
5666
5667         * config.h.in:
5668         Make existence of s&m files optional.
5669
5670         * s/bsd386.h: Remove HAVE_GETLOADAVG.
5671         * s/freebsd.h: Remove HAVE_GETLOADAVG.
5672         * s/gnu.h: Remove HAVE_GETLOADAVG.
5673         * s/netbsd.h: Remove HAVE_GETLOADAVG.
5674         * s/sol2.h: Remove HAVE_GETLOADAVG.
5675         * lisp.h: Remove getloadavg() declaration.
5676         * fns.c:
5677         Include <sys/loadavg.h> if available.
5678         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
5679         * config.h.in:  Group together getloadavg()-related macros.
5680         Use only configure-time tests to detect getloadavg().
5681
5682 2000-07-30  Martin Buchholz  <martin@xemacs.org>
5683
5684         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
5685
5686 2000-07-25  Andy Piper  <andy@xemacs.org>
5687
5688         * syswindows.h: add tchar.h for native builds.
5689
5690         * frame.c (syms_of_frame): remove set-glyph-image.
5691
5692         * general-slots.h: add Qset_glyph_image.
5693
5694         * glyphs-widget.c (layout_update): add domain arg to
5695         set-glyph-image.
5696         (syms_of_glyphs_widget): remove set-glyph-image.
5697
5698 2000-07-23  Ben Wing  <ben@xemacs.org>
5699
5700         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
5701         Vpopup_frame_list.
5702
5703 2000-07-22  Andy Piper  <andy@xemacs.org>
5704
5705         * symsinit.h: add syms_of_win32().
5706
5707         * gui-msw.c (syms_of_gui_mswindows): remove
5708         Fmswindows_shell_execute.
5709         (Fmswindows_shell_execute): moved to win32.c.
5710
5711         * emacs.c (main_1): add syms_of_win32 ().
5712
5713         * win32.c (init_potentially_nonexistent_functions): rewrite in
5714         compiler-friendly terms.
5715         (Fmswindows_shell_execute): move here from gui-msw.c.
5716         (syms_of_win32): new.
5717
5718         * device-msw.c (Fmswindows_printer_list): clean up args to
5719         EnumPrinters.
5720         Don't include tchar under cygwin or mingw.
5721         (msprinter_default_printer): make cygwin-friendly.
5722
5723 2000-07-21  Andy Piper  <andy@xemacs.org>
5724
5725         * glyphs-widget.c (image_instantiator_tree_view): use tab
5726         control's update function.
5727         (layout_property): new function. Retrieve items.
5728
5729         * glyphs-msw.c (mswindows_tree_view_redisplay): new
5730         function. Re-populate the tree view from the pending items.
5731
5732         * glyphs.c (instantiate_image_instantiator): Make sure the domain
5733         is designated the parent if the domain is an image instance. This
5734         is needed so that dirtiness can be cascade up the hierarchy and
5735         thus for layout children to be redisplayed correctly.
5736         (allocate_image_instance): rename glyph -> parent.
5737
5738         * redisplay.h: change redisplay_output_layout signature.
5739
5740         * redisplay-msw.c (mswindows_output_display_block): use domain
5741         arg.
5742
5743         * redisplay-x.c (x_output_display_block): use domain arg.
5744
5745 2000-07-10  Andy Piper  <andy@xemacs.org>
5746
5747         * window.c (Fset_window_configuration): add comment.
5748
5749         * redisplay-output.c (compare_runes):
5750         (redisplay_output_subwindow): redisplay rather than update subwindow.
5751         (redisplay_output_layout): ditto.
5752
5753         * redisplay-msw.c (mswindows_frame_output_end):
5754         (mswindows_frame_output_end): make defer window pos optional.
5755
5756         * lisp.h: add Flast.
5757
5758         * glyphs.h (struct image_instantiator_methods): add dest_mask top
5759         normalize method. Change update method to be for changed
5760         instantiators. Add redisplay method. Change signature of layout
5761         method.
5762         (struct Lisp_Image_Instance): add instantiator.
5763         (IMAGE_INSTANCE_INSTANTIATOR): new.
5764         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
5765         (XIMAGE_INSTANCE_INSTANTIATOR): new.
5766         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
5767
5768         * glyphs.c:
5769         (find_instantiator_differences): new function.
5770         (Fset_instantiator_property): new convenience function.
5771         (check_image_instance_structure): strictly check for vector
5772         instantiators.
5773         (normalize_image_instantiator): make non-static.
5774         (instantiate_image_instantiator): pass on dest_mask and use new
5775         signatures for image_instance_layout and friends.
5776         (mark_image_instance): mark the instantiator. Mark the subwindow
5777         face not the widget face.
5778         (image_instance_equal): add instantiator.
5779         (image_instance_hash): ditto.
5780         (allocate_image_instance): ditto.
5781         (Fset_image_instance_property): removed.
5782         (Fimage_instance_file_name): ditto.
5783         (Fcolorize_image_instance): ditto.
5784         (image_instance_layout): add offsets to be set.
5785         (update_image_instance): new function. update an image instance
5786         from its changed instantiator.
5787         (inherit_normalize): add dest_mask.
5788         (xbm_normalize): ditto.
5789         (xface_normalize): ditto.
5790         (xpm_normalize): ditto.
5791         (text_update): set_property -> update.
5792         (image_instantiate): use the glyph identity as a hash key, not the
5793         instantiator.
5794         (glyph_width): use new image_instance_layout signature.
5795         (glyph_ascent): ditto.
5796         (glyph_descent): ditto.
5797         (glyph_height): ditto.
5798         (glyph_query_geometry): ressurrect.
5799         (glyph_layout): ditto.
5800         (redisplay_subwindow): update -> redisplay.
5801         (syms_of_glyphs): add Fset_instantiator_property.
5802         (image_instantiator_format_create): set_property -> update.
5803
5804         * glyphs-x.c:
5805         (autodetect_normalize): add dest_maks to signature.
5806         (x_redisplay_subwindow): update -> redisplay.
5807         (x_redisplay_widget): ditto.
5808         (x_button_redisplay): ditto.
5809         (x_progress_gauge_redisplay): ditto.
5810         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
5811         stacking order.
5812         (console_type_create_glyphs_x): update -> redisplay.
5813         (image_instantiator_format_create_glyphs_x): ditto.
5814
5815         * glyphs-widget.c:
5816         (check_valid_instantiator): disallow glyphs in the instantiator,
5817         they must now be vectors.
5818         (check_valid_instantiator_list): ditto.
5819         (glyph_instantiator_to_glyph): use internal symbol rather than
5820         intern.
5821         (widget_update): renamed from widget_set_property. Call cascaded
5822         update methods.
5823         (redisplay_widget): renamed from update_widget.
5824         (widget_layout): image_instance_layout now takes position as well
5825         as size.
5826         (widget_normalize): ditto.
5827         (widget_instantiate): ditto.
5828         (tab_control_query_geometry) ditto.:
5829         (tab_control_update): renamed from tab_control_set_property.
5830         (progress_gauge_update): set_property -> update.
5831         (layout_normalize): rewrite so that child instantiators are
5832         normalized also.
5833         (layout_update): new function. Create glyphs from the normalized
5834         children and cope with any other layout keywords. We do not
5835         instantiate children here that will be take care of by
5836         redisplay_output_layout.
5837         (layout_instantiate): call layout_update and not much else.
5838         (layout_post_instantiate): not sure whether this is needed
5839         anymore.
5840         (layout_query_geometry): query glyph geometry rather than
5841         image_instance geometry.
5842         (layout_layout): set offsets from pass in parameters. Use glyph
5843         geometry and layout functions rather than image instance ones.
5844         (native_layout_layout): ditto.
5845         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
5846         (image_instantiator_widget): set_property -> update.
5847         (image_instantiator_buttons): ditto.
5848         (image_instantiator_progress_guage): ditto.
5849         (image_instantiator_tab_control): ditto.
5850         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
5851         (image_instantiator_layout): add update method.
5852
5853         * glyphs-msw.c (bmp_normalize):
5854         (mswindows_resource_normalize): add dest_mask so that it can be
5855         proprogated by layout_normalize.
5856         (begin_defer_window_pos): make optional because it may not be the
5857         right thing to do and it introduces differences with X.
5858         (mswindows_unmap_subwindow): ditto.
5859         (mswindows_map_subwindow): ditto.
5860         (mswindows_redisplay_subwindow): renamed from
5861         mswindows_update_subwindow.
5862         (mswindows_redisplay_widget): ditto.
5863         (mswindows_button_redisplay): renamed from
5864         mswindows_button_update. Update is now what the instantiation
5865         function does for a changed instantiator.
5866         (mswindows_progress_gauge_instantiate): set the progress value
5867         here if appropriate.
5868         (mswindows_tab_control_redisplay): cope with re-ordering of the
5869         members of the tab widget by simply selecting the new top
5870         widget. This makes things appear ok if you click on a tab.
5871         (mswindows_combo_box_instantiate): image_instance_layout now takes
5872         position as well as size.
5873         (mswindows_progress_gauge_redisplay): renamed from
5874         mswindows_progress_gauge_update.
5875         (console_type_create_glyphs_mswindows): fix update -> redisplay.
5876         (image_instantiator_format_create_glyphs_mswindows): ditto.
5877
5878         * glyphs-eimage.c (jpeg_normalize):
5879         (gif_normalize):
5880         (png_normalize):
5881         (tiff_normalize): add dest_mask so that it can be proprogated by
5882         layout_normalize.
5883
5884         * elhash.c:
5885         (print_hash_table):
5886         (hash_table_weakness_validate):
5887         (decode_hash_table_weakness):
5888         (Fhash_table_weakness):
5889         (Fhash_table_type):
5890         (syms_of_elhash): use Ben's naming scheme for hashtable types..
5891
5892         * console.h (struct console_methods): move update_* to
5893         redisplay_*.
5894
5895 2000-07-20  Ben Wing  <ben@xemacs.org>
5896
5897         * *.[ch] (XSETOBJ): remove unused middle argument.
5898         lisp-disunion.h: correct wrap_object() to one argument.
5899
5900 2000-07-15  Ben Wing  <ben@xemacs.org>
5901
5902         * s/cygwin32.h:
5903         * s/cygwin32.h (CYGWIN_CONV_PATH):
5904         Add missing logb prototype for v1.1.
5905         Use post-b20 names and alias to pre-b20 names when pre-b20.
5906
5907         * s/windowsnt.h: [5].
5908
5909 2000-07-15  Ben Wing  <ben@xemacs.org>
5910
5911         * Makefile.in.in (x_objs):
5912         * Makefile.in.in (sheap_objs):
5913         * Makefile.in.in (objs):
5914         added win32.o, cosmetic cleanups.
5915
5916         * alloc.c (Fmake_byte_code):
5917         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
5918         etc. macros which declare their own args now.
5919
5920         * alloc.c (syms_of_alloc):
5921         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
5922
5923         * buffer.c:
5924         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
5925
5926         * buffer.c (Fget_file_buffer):
5927         Fixed GCPRO problem.
5928
5929         * buffer.c (get_truename_buffer):
5930         Fixed comment about GC checking.
5931
5932         * buffer.c (syms_of_buffer):
5933         Undeclared those dedicated frame funs.
5934         [2].
5935
5936         * buffer.h:
5937         Define convenience macros for internal/external conversions.
5938         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
5939         and Qenvironment_variable_encoding for cleaner code.
5940
5941         * bufslots.h:
5942         Remove dedicated-frame; in lisp.
5943
5944         * bytecode.c (funcall_compiled_function):
5945         [1].
5946
5947         * bytecode.c (syms_of_bytecode):
5948         [2].
5949
5950         * console-msw.c:
5951         * console-msw.c (mswindows_show_console): Rewrote.
5952
5953         * console-msw.c (Fmswindows_debugging_output): New.
5954         Sends to OutputDebugString (special MSWin debugger interface).
5955
5956         * console-msw.c (Fmswindows_message_box):
5957         Fixed stupid bugs so it works when called from kill-emacs.
5958
5959         * console-msw.c (syms_of_console_mswindows):
5960         Declare Fmswindows_debugging_output.
5961
5962         * console-msw.h:
5963         New MSWin prototypes.
5964
5965         * console-msw.h (struct mswindows_frame):
5966         New entry last-click-mods for improved button-modifier support.
5967
5968         * console-msw.h (FRAME_MSWINDOWS_POPUP):
5969         New struct entry `popup' with corresponding accessor.
5970
5971         * console-x.c:
5972         * console-x.c (split_up_display_spec):
5973         * console-x.c (get_display_arg_connection):
5974         * console-x.c (x_semi_canonicalize_console_connection):
5975         * console-x.c (x_canonicalize_device_connection):
5976         [[[6]]]: Change char to more specific type.
5977         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
5978
5979         * console-x.c (x_semi_canonicalize_console_connection):
5980         * console-x.c (x_canonicalize_device_connection):
5981         [[[9]]]: Fix up error signalling to use new structured error system.
5982
5983         * console-x.h:
5984         [[[4]]]: Define codesys aliases:
5985         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
5986         Qx_color_name_encoding, Qx_display_name_encoding.
5987
5988         * console.h (struct console_methods):
5989         New method make_dialog_box_internal supersedes older
5990         popup_dialog_box method.
5991
5992         * data.c:
5993         Define many new errors, part of new structured errors.
5994
5995         * data.c (init_errors_once_early):
5996         * data.c (syms_of_data):
5997         [2].
5998
5999         * device-msw.c (mswindows_init_device):
6000         [[[5]]]: Cleanup to support NT 3.51.
6001
6002         * device-msw.c (decode_devmode): Cleanup.
6003
6004         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6005         * device-msw.c (mswindows_handle_print_dialog_box):
6006         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6007         * device-msw.c (syms_of_device_mswindows):
6008         Delete the dialog box primitives recently introduced by Kirill and
6009         instead interface to general dialog box interface.
6010
6011         * device-x.c:
6012         * device-x.c (compute_x_app_name):
6013         * device-x.c (x_init_device):
6014         * device-x.c (Fx_valid_keysym_name_p):
6015         * device-x.c (Fx_set_font_path):
6016         [6].
6017         [7].
6018
6019         * device.h (wrap_device): New.
6020         First of its kind; meant to replace XSETDEVICE.
6021
6022         * dialog-msw.c: Many file-dialog symbols.
6023
6024         * dialog-msw.c (mswindows_register_popup_frame): New.
6025         * dialog-msw.c (mswindows_is_dialog_msg): New.
6026         For supporting kbd traversal in dialog boxes.
6027
6028         * dialog-msw.c (dialog_proc):
6029         Support hitting ESC in dialogs.
6030
6031         * dialog-msw.c (struct):
6032         Common dialog box errors.
6033
6034         * dialog-msw.c (handle_file_dialog_box): New.
6035         Add file dialog code.
6036
6037         * dialog-msw.c (handle_question_dialog_box):
6038         Redo existing code to support new question dialog syntax.
6039
6040         * dialog-msw.c (console_type_create_dialog_mswindows):
6041         We support new dialog console method.
6042
6043         * dialog-msw.c (syms_of_dialog_mswindows):
6044         * dialog-msw.c (vars_of_dialog_mswindows):
6045         New file dialog symbols, vars.
6046
6047         * dialog-x.c:
6048         * dialog-x.c (maybe_run_dbox_text_callback):
6049         * dialog-x.c (dbox_descriptor_to_widget_value):
6050         * dialog-x.c (x_make_dialog_box_internal):
6051         * dialog-x.c (console_type_create_dialog_x):
6052         Mule-ize entire file.
6053         Redo to support question dialog syntax.
6054         [6].
6055
6056         * dialog.c:
6057         * dialog.c (Fmake_dialog_box_internal):
6058         * dialog.c (syms_of_dialog):
6059         Kill old popup-dialog-box, replace with new primitive.
6060         Just call device method or signal error.
6061
6062         * eldap.c (Fldap_open):
6063         * eldap.c (Fldap_search_basic):
6064         * eldap.c (Fldap_add):
6065         * eldap.c (Fldap_modify):
6066         [1].
6067         [7].
6068
6069         * emacs.c:
6070         * emacs.c (make_arg_list_1):
6071         * emacs.c (make_arg_list):
6072         Mule-ize call to dll_init().
6073         [6].
6074         [8].
6075
6076         * emacs.c (make_argc_argv):
6077         * emacs.c (free_argc_argv):
6078         * emacs.c (init_cmdargs):
6079         * emacs.c (main_1):
6080         * emacs.c (Fkill_emacs):
6081         * emacs.c (Fdump_emacs):
6082         Update comments about what can be used in syms_* etc.
6083         Call init_win32() when necessary.
6084         Fix up MS Win dialog box in kill-buffer to actually work right.
6085         [7].
6086
6087         * eval.c:
6088         * eval.c (For):
6089         * eval.c (Fand):
6090         * eval.c (Fprogn):
6091         * eval.c (Fprog1):
6092         * eval.c (Fprog2):
6093         * eval.c (FletX):
6094         * eval.c (Flet):
6095         * eval.c (condition_case_3):
6096         * eval.c (Feval):
6097         * eval.c (function_argcount):
6098         * eval.c (funcall_lambda):
6099         [1].
6100
6101         * eval.c (type_error): New.
6102         * eval.c (maybe_type_error): New.
6103         * eval.c (continuable_type_error): New.
6104         * eval.c (maybe_continuable_type_error): New.
6105         * eval.c (type_error_with_frob): New.
6106         * eval.c (maybe_type_error_with_frob): New.
6107         * eval.c (continuable_type_error_with_frob): New.
6108         * eval.c (maybe_continuable_type_error_with_frob): New.
6109         New functions for use with structured errors.
6110
6111         * event-Xt.c:
6112         * event-Xt.c (x_event_to_emacs_event):
6113         Buttons are now modifiers too.
6114
6115         * event-Xt.c (emacs_Xt_current_event_timestamp):
6116         Implement new event method.
6117         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6118
6119         * event-msw.c:
6120         * event-msw.c (ntpipe_shove_writer): [5].
6121         * event-msw.c (mswindows_enqueue_mouse_button_event):
6122         * event-msw.c (mswindows_drain_windows_queue):
6123         * event-msw.c (mswindows_wnd_proc): [7].
6124         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6125         * event-msw.c (mswindows_modifier_state):
6126         Throughout: support new button modifiers.
6127
6128         * event-msw.c (emacs_mswindows_current_event_timestamp):
6129         Implement new event method.
6130         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6131
6132         * event-stream.c:
6133         * event-stream.c (event_stream_current_event_timestamp): New.
6134         * event-stream.c (maybe_kbd_translate): New functionality.
6135         * event-stream.c (vars_of_event_stream):
6136         Document new kbd-translate-table functionality.
6137
6138         * event-stream.c (Fcurrent_event_timestamp): New.
6139         New primitive for use in fabricated events.
6140         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6141
6142         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6143
6144         * events.c:
6145         * events.c (Fmake_event):
6146         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6147         [1].
6148         [9].
6149
6150         * events.c (format_event_object): fix gcc warnings.
6151
6152         * events.c (Fevent_timestamp): Document new primitives.
6153
6154         * events.c (TIMESTAMP_HALFSPACE): New.
6155
6156         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6157         comparing timestamps correctly (half-space algorithm).
6158
6159         * events.c (Fevent_modifier_bits): Doc fix.
6160
6161         * events.c (Fevent_modifiers): Major doc addition.
6162         * events.c (event_x_y_pixel_internal): Typo fix.
6163         * events.c (syms_of_events): Declare new primitives.
6164
6165         * events.h:
6166         Update long comment for button modifiers, timestamps.
6167
6168         * events.h (struct event_stream):
6169         New current_event_timestamp method.
6170
6171         * extents.c:
6172         * extents.c (extent_in_region_p):
6173         * extents.c (decode_extent):
6174         * extents.c (Fset_extent_parent):
6175         * extents.c (decode_map_extents_flags):
6176         Fix gcc warnings.
6177         [9].
6178
6179         * extents.c (struct extent_at_arg):
6180         * extents.c (decode_extent_at_flag):
6181         * extents.c (extent_at_mapper):
6182         * extents.c (extent_at_bytind):
6183         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6184         * extents.c (Fextents_at): New primitive. [9].
6185         * extents.c (symbol_to_glyph_layout): [9].
6186         Support new primitive `extents-at'.
6187
6188
6189         * extents.c (get_text_property_bytind):
6190         extent_at_bytind has another arg.
6191         [9].
6192
6193         * extents.c (syms_of_extents): New primitive.
6194
6195         * file-coding.c (Fmake_coding_system): [1].
6196         * file-coding.c (subsidiary_coding_system): fix gcc warning
6197         * file-coding.c (syms_of_file_coding): [2].
6198
6199         * fileio.c (Fexpand_file_name):
6200         * fileio.c (Fsysnetunam):
6201         * fileio.c (Ffile_exists_p):
6202         * fileio.c (Ffile_executable_p):
6203         * fileio.c (Fverify_visited_file_modtime):
6204         Clean up GCPROing.
6205
6206         * fileio.c (syms_of_fileio): [2].
6207
6208         * filelock.c (lock_file_1):
6209         * filelock.c (current_lock_owner):
6210         * filelock.c (lock_if_free):
6211         * filelock.c (lock_file):
6212         * filelock.c (unlock_file):
6213         Clean up GCPROing.
6214
6215         * fns.c (concat): Fix gcc warning.
6216
6217         * fns.c (Fmember):
6218         * fns.c (Fold_member):
6219         * fns.c (Fmemq):
6220         * fns.c (Fold_memq):
6221         * fns.c (memq_no_quit):
6222         * fns.c (Fassoc):
6223         * fns.c (Fold_assoc):
6224         * fns.c (Fassq):
6225         * fns.c (Fold_assq):
6226         * fns.c (assq_no_quit):
6227         * fns.c (Frassoc):
6228         * fns.c (Fold_rassoc):
6229         * fns.c (Frassq):
6230         * fns.c (Fold_rassq):
6231         * fns.c (rassq_no_quit):
6232         * fns.c (Fdelete):
6233         * fns.c (Fold_delete):
6234         * fns.c (Fdelq):
6235         * fns.c (Fold_delq):
6236         * fns.c (delq_no_quit):
6237         * fns.c (Fremassoc):
6238         * fns.c (Fremassq):
6239         * fns.c (remassq_no_quit):
6240         * fns.c (Fremrassoc):
6241         * fns.c (Fremrassq):
6242         * fns.c (remrassq_no_quit):
6243         * fns.c (Freverse):
6244         * fns.c (mapcar1):
6245         [1].
6246
6247         * frame-msw.c (mswindows_init_frame_1):
6248         * frame-msw.c (mswindows_delete_frame):
6249         Register popups with dialog code so keyboard traversing works.
6250
6251         * frame-tty.c (tty_raise_frame_no_select): [1].
6252
6253         * frame-x.c:
6254         * frame-x.c (x_set_frame_text_value):
6255         * frame-x.c (x_set_frame_properties):
6256         * frame-x.c (x_create_widgets):
6257         [7].
6258
6259         * frame.c:
6260         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6261
6262         * frame.h (wrap_frame): New.
6263         Macro like wrap_device.
6264
6265         * general.c:
6266         * general.c (SYMBOL):
6267         * general.c (syms_of_general):
6268         Major reorg.  This is now just a wrapper and symbols themselves
6269         are listed in general-slots.h.
6270
6271         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6272         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6273
6274         * glyphs-msw.c (mswindows_native_layout_instantiate):
6275         Add DS_CONTROL so keyboard traversal will work.
6276
6277         * glyphs-widget.c:
6278         * glyphs-widget.c (syms_of_glyphs_widget):
6279         Move some symbols to general-slots.h.
6280
6281         * glyphs-x.c:
6282         * glyphs-x.c (xbm_instantiate_1):
6283         * glyphs-x.c (x_xbm_instantiate):
6284         * glyphs-x.c (x_xface_instantiate):
6285         * glyphs-x.c (autodetect_instantiate):
6286         * glyphs-x.c (cursor_font_instantiate):
6287         * glyphs-x.c (x_update_widget):
6288         * glyphs-x.c (x_widget_instantiate):
6289         * glyphs.c (bitmap_to_lisp_data):
6290         * glyphs.c (pixmap_to_lisp_data):
6291         [7].
6292
6293         * glyphs.c (syms_of_glyphs):
6294         [2].
6295
6296         * gui-x.c:
6297         * gui-x.c (print_widget_value):
6298         * gui-x.c (menu_separator_style_and_to_external):
6299         * gui-x.c (add_accel_and_to_external):
6300         * gui-x.c (button_item_to_widget_value):
6301         * gui-x.c (gui_items_to_widget_values_1):
6302         * gui-x.c (gui_items_to_widget_values):
6303         * gui-x.c (syms_of_gui_x):
6304         * gui-x.c (vars_of_gui_x):
6305         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6306         [9].
6307
6308         * gui-x.h:
6309         Muleize, prototype changes matching gui-x.c.
6310
6311         * gui.c:
6312         * gui.c (separator_string_p):
6313         * gui.c (gui_item_add_keyval_pair):
6314         * gui.c (make_gui_item_from_keywords_internal):
6315         * gui.c (signal_too_long_error):
6316         * gui.c (parse_gui_item_tree_item):
6317         * gui.c (syms_of_gui):
6318         * gui.c (vars_of_gui):
6319         * gui.h:
6320         menu-no-selection-hook moved here (used by MSWin).
6321         Move some symbols to general-slots.h.
6322         [6].
6323         [9].
6324
6325         * insdel.c (get_buffer_pos_char):
6326         * insdel.c (get_buffer_range_char):
6327         Add GC comments.
6328
6329         * keymap.c (keymap_lookup_directly):
6330         * keymap.c (keymap_store):
6331         * keymap.c (ensure_meta_prefix_char_keymapp):
6332         * keymap.c (describe_map):
6333         * keymap.h:
6334         Support new button modifiers.
6335
6336         * lisp-disunion.h (wrap_object):
6337         * lisp-disunion.h (XSETOBJ):
6338         Rename make_obj to wrap_object.
6339
6340         * lisp-union.h:
6341         * lisp-union.h (make_int):
6342         * lisp-union.h (make_char):
6343         Support wrap_object.
6344
6345         * lisp.h:
6346         * lisp.h (LIST_LOOP):
6347         * lisp.h (EXTERNAL_LIST_LOOP):
6348         * lisp.h (LIST_LOOP_2):
6349         * lisp.h (EXTERNAL_LIST_LOOP_1):
6350         * lisp.h (EXTERNAL_LIST_LOOP_2):
6351         * lisp.h (EXTERNAL_LIST_LOOP_3):
6352         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6353         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6354         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6355         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6356         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6357         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6358         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6359         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6360         * lisp.h (struct Lisp_Symbol):
6361         * lisp.h (maybe_continuable_error_with_frob):
6362         Fix up section comments.
6363         Add new types for char to indicate usage.
6364         Delete symbols auto-generated from general-slots.h.
6365         Add prototypes for structured error functions.
6366         Add long comments describing looping macros and change interface
6367         so that lvalues are automatically declared.
6368         Add NO_DECLARE macro in case callers want to declare lvalues
6369         themselves.
6370
6371         * lread.c (read_syntax_error):
6372         * lread.c (continuable_read_syntax_error):
6373         * lread.c (read_structure):
6374         * lread.c (sequence_reader):
6375         * lread.c (read_list_conser):
6376         * lread.c (read_compiled_function):
6377         Rename syntax_error and continuable_syntax_error to avoid clash
6378         with same-named structured error functions.
6379
6380         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6381         * menubar-msw.c (populate_menu_add_item):
6382         * menubar-msw.c (populate_or_checksum_helper):
6383         [5].
6384         [9].
6385
6386         * menubar-x.c:
6387         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6388         Mule-ize whole file.
6389
6390         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6391
6392         * mule-charset.c (Fmake_charset):
6393         * mule-wnnfns.c (Fwnn_set_param):
6394         [1].
6395
6396         * ntproc.c (create_child):
6397         * ntproc.c (Fwin32_set_current_locale):
6398         Add comments portending doom.
6399
6400         * objects-msw.c:
6401         * objects-msw.c (old_font_enum_callback_2):
6402         * objects-msw.c (font_enum_callback_1):
6403         * objects-msw.c (mswindows_enumerate_fonts):
6404         [5].
6405
6406         * objects-x.c:
6407         * objects-x.c (allocate_nearest_color):
6408         * objects-x.c (x_parse_nearest_color):
6409         * objects-x.c (x_initialize_color_instance):
6410         * objects-x.c (x_print_color_instance):
6411         * objects-x.c (x_finalize_color_instance):
6412         * objects-x.c (x_valid_color_name_p):
6413         * objects-x.c (x_initialize_font_instance):
6414         * objects-x.c (x_print_font_instance):
6415         * objects-x.c (valid_x_font_name_p):
6416         * objects-x.c (truename_via_FONT_prop):
6417         * objects-x.c (truename_via_random_props):
6418         * objects-x.c (truename_via_XListFonts):
6419         * objects-x.c (x_font_truename):
6420         * objects-x.c (x_font_instance_truename):
6421         * objects-x.c (x_font_instance_properties):
6422         * objects-x.c (x_list_fonts):
6423         * objects-x.c (x_find_charset_font):
6424         Mule-ize entire file.
6425         [7].
6426
6427         * objects-x.h:
6428         Mule-verify.
6429
6430         * print.c:
6431         * print.c (std_handle_out_external):
6432         * print.c (debug_print_no_newline):
6433         * print.c (syms_of_print):
6434         Output to all debugger kinds in debug-print.
6435         Fix console-output code under MSWin to actually work.
6436
6437         * process-nt.c (send_signal):
6438         * process-nt.c (nt_create_process):
6439         Use newer Unicode macros.
6440
6441         * process-unix.c (unix_create_process):
6442         * process-unix.c (unix_canonicalize_host_name):
6443         * process-unix.c (unix_open_network_stream):
6444         [7].
6445
6446         * scrollbar-x.c:
6447         Mule-verify.
6448
6449         * search.c (syms_of_search):
6450         [2].
6451
6452         * select-msw.c (mswindows_destroy_selection):
6453         Use LIST_LOOP_2.
6454
6455         * select-x.c (symbol_to_x_atom):
6456         [7].
6457
6458         * select.c (syms_of_select):
6459         [2].
6460
6461         * sound.c (Fplay_sound_file):
6462         [7].
6463
6464         * specifier.c:
6465         * specifier.c (decode_specifier_type):
6466         * specifier.c (Fvalid_specifier_locale_type_p):
6467         * specifier.c (check_valid_locale_or_locale_type):
6468         * specifier.c (decode_locale):
6469         * specifier.c (decode_locale_type):
6470         * specifier.c (decode_locale_list):
6471         * specifier.c (check_valid_domain):
6472         * specifier.c (decode_specifier_tag_set):
6473         * specifier.c (Fcanonicalize_tag_set):
6474         * specifier.c (Fdefine_specifier_tag):
6475         * specifier.c (Fspecifier_tag_predicate):
6476         * specifier.c (check_valid_inst_list):
6477         * specifier.c (check_valid_spec_list):
6478         * specifier.c (decode_how_to_add_specification):
6479         * specifier.c (check_modifiable_specifier):
6480         * specifier.c (specifier_add_spec):
6481         * specifier.c (boolean_validate):
6482         * specifier.c (display_table_validate):
6483         [9].
6484
6485         * specifier.c (syms_of_specifier):
6486         Move some symbols to general-slots.h.
6487         [2].
6488
6489         * symbols.c:
6490         * symbols.c (Fmapatoms):
6491         * symbols.c (Fapropos_internal):
6492         Add GCPROs.
6493
6494         * symbols.c (set_default_buffer_slot_variable):
6495         * symbols.c (set_default_console_slot_variable):
6496         [1].
6497
6498         * symbols.c (defsymbol_massage_name_1):
6499         * symbols.c (defkeyword_massage_name):
6500         * symbols.c (deferror_1):
6501         * symbols.c (deferror):
6502         * symbols.c (deferror_massage_name_and_message):
6503         * symeval.h:
6504         * symeval.h (DEFSYMBOL):
6505         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6506
6507         * symbols.c (syms_of_symbols):
6508         [2].
6509
6510         * symsinit.h:
6511         * symsinit.h (init_win32): New.
6512         Also new is syms_of_dialog_mswindows.
6513
6514         * syswindows.h:
6515         Add new Unicode macros, missing Cygwin wide-char functions,
6516         convenience conversion macros for Qmswindows_tstr, macros for
6517         encapsulating required MSWin <-> Cygwin filename conversions,
6518         prototype for dynamically-extracted (not in NT 3.51) functions.
6519
6520         * toolbar-x.c:
6521         Mule-verify.
6522
6523         * tooltalk.c (Fadd_tooltalk_message_arg):
6524         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6525         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6526         [7].
6527
6528         * tooltalk.c (syms_of_tooltalk):
6529         [2].
6530
6531         * unexnt.c:
6532         * unexnt.c (unexec):
6533         Fix up headers, declaration of unexec() to be more standard.
6534
6535 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6536
6537         * offix.h: Revert change to guard macros - they're used in offix.c!
6538
6539 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6540
6541         * lisp.h: Defsubred Fdelete.
6542
6543         * console-msw.h:  (msprinter_default_printer): Added.
6544
6545         * console-msw.c (msprinter_canonicalize_console_connection):
6546         (msprinter_canonicalize_device_connection): Added.
6547
6548         * device-msw.c (msprinter_default_printer):
6549         (Fmswingows_get_default_printer):
6550         (signal_enum_priner_error):
6551         (Fmswingows_printer_list): Added.
6552
6553 2000-07-19  Martin Buchholz <martin@xemacs.org>
6554
6555         * XEmacs 21.2.35 is released.
6556
6557 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6558
6559         * select-x.c (x_handle_selection_request):
6560         Text selected in xemacs and pasted into xterm failed to appear.
6561         Spelling fixes and cosmetic changes.
6562
6563 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6564
6565         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6566         XEmacs frame (fix for doubling chars in dialog boxes).
6567
6568 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6569
6570         * select.c (select_convert_in, select_convert_out):
6571         Don't call intern() every time.
6572
6573         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6574         * select.c (vars_of_select): Initialise them.
6575
6576 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6577
6578         * select.c (selection-coercible-types): New.
6579
6580         * select.c (own-selection-internal):
6581         * select.c (get-selection-internal):
6582         MULE bug fix - these should default to COMPOUND_TEXT and not
6583         STRING for MULE. I think.
6584
6585         * select.c (select_convert_out): Use selection-coercible-types
6586         to find types that we can attempt to perform coercions on.
6587
6588 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6589
6590         * mule-wnnfns.c:
6591         * mule-canna.c:
6592         Add coding: cookie to identify encoding.
6593
6594         * mule-canna.c (CANNA_mode_keys): make static.
6595         Use proper prototypes, even for functions of no arguments.
6596         Remove external prototype for Fding().
6597
6598         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6599
6600         * select.c (syms_of_select): Add missing DEFSUBR.
6601
6602 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6603
6604         * select.c (get_selection_internal, own_selection_internal):
6605         Make the type default to STRING, rather than placing a nil type
6606         into Vselection_alist.
6607
6608 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6609
6610         * gpmevent.c (tty_selection_exists_p):
6611         * gpmevent.c (tty_own_selection):
6612         Updated parameter lists.
6613
6614 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
6615
6616         * select.h (selection-alist): Removed declaration.
6617
6618         * select.h (get_local_selection):
6619         * select.c (get_local_selection):
6620         Made static.
6621
6622         * select.h (convert_selection): Removed declaration.
6623         * select.c (convert_selection): Removed.
6624         This function belongs in Lisp.
6625
6626         * select.h (select_convert_in): Declare.
6627         * select.h (select_convert_out): Declare.
6628         * select.c (select_convert_in): New.
6629         * select.c (select_convert_out): New.
6630         New conversion functions for other files to call.
6631
6632         * select.h (select_notify_buffer_kill): Declare.
6633         * select.c (select_notify_buffer_kill): New.
6634         New functions that get called from kill-buffer.
6635
6636         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
6637         X-specific lisp code.
6638
6639         * select.h: Declare some of the lisp-visible functions for
6640         external use.
6641
6642         * select.c (clean_local_selection_data): Removed. This was
6643         a disgusting function, and previously should have been in
6644         select-x.c in any case. The functionality is now provided
6645         in select-convert-from-integer (select.el).
6646
6647         * select.c (available-selection-types): Fixed stupidity where
6648         INTEGER and ATOM got added twice. Also add STRING when we see an
6649         extent.
6650
6651         * select.c (get-selection-internal): Removed symbol stripping. No
6652         longer causes conversion when data comes from the internal cache.
6653
6654         * select.c (syms_of_select): Added new functions.
6655
6656         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
6657         error checking - previously this called abort!
6658
6659         * select-x.c (x_own_selection): Changed comment.
6660
6661         * select-x.c (x_handle_selection_request): Use select_convert_out.
6662         Don't mess with selection-alist; it's an internal variable of select.c.
6663
6664         * select-x.c (x_get_foreign_selection): Use select_convert_in.
6665
6666         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
6667         rather than messing with selection-alist.
6668
6669         * select-msw.c (mswindows_get_foreign_selection):
6670         Use TO_INTERNAL_FORMAT rather than hacking.
6671
6672 2000-07-14  Martin Buchholz  <martin@xemacs.org>
6673
6674         * process-unix.c (unix_open_multicast_group):
6675         (unix_open_multicast_group): Remove useless casts.
6676
6677 2000-07-13  Martin Buchholz  <martin@xemacs.org>
6678
6679         * sound.c (Fplay_sound): Fix `unused variable' warning.
6680
6681         * emacs.c (main): Use correct type for _environ on SCO5.
6682
6683 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
6684
6685         * console.h (own_selection_method):
6686         * console.h (selection_exists_p_method):
6687         * console.h (available_selection_types_method): New.
6688         * console.h (register_selection_data_type_method): New.
6689         * console.h (selection_data_type_name): New.
6690
6691         * console-msw.h (mswindows_destroy_selection): Declare it.  New
6692         function & alist to track GlobalAlloc()'d handles that need
6693         releasing when the clipboard data gets replaced or emptied.
6694
6695         * event-msw.c (mswindows_wnd_proc): Call it.
6696
6697         * lisp.h, general.c (Qappend): New symbol representing a
6698         `how-to-add' mode.
6699
6700         * select.c (own-selection-internal):
6701         * select.c (selection-exists-p):
6702         * select.c (available-selection-types): New.
6703         * select.c (register-selection-data-type): New.
6704         * select.c (selection-data-type-name): New.  New functions to deal
6705         with device-specific selection data formats.
6706         * select.c (selection-converter-out-alist): Renamed.
6707         * select.c (selection-converter-in-alist): New.
6708         * select.c (selection-appender-alist): New.  Added new alists.
6709         * select.c (syms_of_select, vars_of_select): Added new symbols &
6710         variables.
6711         * select.c (get_local_selection): Split.
6712         * select.c: Removed spurious type checking - selections may now be
6713         of any type, not just strings.
6714         * select.c (own-selection-internal):
6715
6716         * select.h, select.c (convert_selection): New. Created
6717         convert_selection() function based on get_local_selection().
6718         * select.h, select.c (QCF_*): New symbols representing mswindows
6719         clipboard formats.
6720         * select.h, select.c (Qreplace_all, Qreplace_existing): New
6721         symbols representing `how-to-add' modes.
6722
6723         * select-msw.c (x_sym_p): New.
6724         * select-msw.c (symbol_to_ms_cf): New.
6725         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
6726         symbols & clipboard formats. Can also handle string names.
6727         * select-msw.c (mswindows_own_selection):
6728         * select-msw.c (mswindows_selection_exists_p):
6729         Added `data-type' parameter. Use it.
6730         * select-msw.c (mswindows_available_selection_types): New.
6731         * select-msw.c (mswindows_register_selection_data_type): New.
6732         * select-msw.c (mswindows_selection_data_type_name): New.
6733         * select-msw.c (mswindows_own_selection):
6734         * select-msw.c (mswindows_get_foreign_selection):
6735         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
6736         * select-msw.c (console_create_select_mswindows): Added new methods.
6737         * select-msw.c (mswindows_destroy_selection): New.
6738         * select-msw.c (Vhandle_alist): New list.
6739         * select-msw.c (mswindows_own_selection):
6740
6741         * select-x.c (x_own_selection):
6742         * select-x.c (x_selection_exists_p):
6743         * select-x.c: Added some comments about maybe using new
6744         functionality.
6745         * select-x.c (x_own_selection):
6746
6747         * specifier.c: Remove definition of Qappend (now in general.c)
6748         * specifier.c (syms_of_specifier): Remove Qappend.
6749
6750 2000-07-12  Martin Buchholz  <martin@xemacs.org>
6751
6752         * config.h.in: Add socklen_t.
6753
6754         * s/decosf4-0.h: No special compiler flags needed or desired.
6755         In particular, undefine _BSD for DEC OSF 4.0.
6756
6757 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6758
6759         * redisplay-msw.c (msprinter_frame_output_end): Added.
6760         (console_type_create_redisplay_mswindows): Referred the above.
6761
6762         * frame.c (setup_frame_without_minibuffer): Do not create a
6763         default minibuffer frame on a printer device.
6764
6765         * frame-msw.c (apply_dc_geometry): Added.
6766         (msprinter_start_page):
6767         (msprinter_init_frame_3):
6768         (msprinter_eject_page): Use it.
6769
6770         * console-msw.h (struct msprinter_frame): Added pix_left and top,
6771         and removed residual duplex and orientation properties.
6772
6773 2000-07-11  Martin Buchholz  <martin@xemacs.org>
6774
6775         * eval.c (function_argcount): Work around a DEC CC compiler bug.
6776
6777         * unexalpha.c: Remove system prototypes from C sources!
6778
6779 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
6780
6781         * eval.c: Remove references to M-x edit-options in DEFUNs for
6782         `defvar' and `defconst'.
6783
6784 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6785
6786         * config.h.in: Remove SMART_INCLUDE hackery.
6787
6788         PostgreSQL hacking:
6789         * config.h.in: Don't use SMART_INCLUDE.
6790
6791         * postgresql.h: Include libpq-fe.h here.  Fix typo.
6792         * inline.c: Simply #include "postgresql.h"
6793         * postgresql.c:
6794         - Don't use SMART_INCLUDE
6795         - Use simply "const".
6796         - Use standard doc string conventions.
6797         - Use correct type for result of PQstatus.
6798
6799 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6800
6801         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
6802
6803         C++ compilation changes.
6804         * config.h.in (EXTERN_C): Define.
6805         * config.h.in (not): This is also a C++ keyword.
6806         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
6807         * cm.c: Use EXTERN_C.
6808         * redisplay-tty.c: Use EXTERN_C.
6809         * sysdep.c: Use EXTERN_C.  Remove Gould support.
6810
6811 2000-07-09  Martin Buchholz  <martin@xemacs.org>
6812
6813         * general.c: Remove duplicate definition for Qfunction.
6814
6815 2000-07-08  Ben Wing  <ben@xemacs.org>
6816
6817         * device-msw.c (msprinter_init_device):
6818         * device-msw.c (sync_printer_with_devmode):
6819         * device-msw.c (handle_devmode_changes):
6820         * device-msw.c (print_dialog_worker):
6821         * device-msw.c (Fmsprinter_apply_settings):
6822         * device-msw.c (hash_devmode):
6823         * device-msw.c (Fmsprinter_settings_despecialize):
6824         use Qmswindows_tstr, not Qctext.
6825
6826         * vm-limit.c (check_memory_limits):
6827         avoid infinite loop printing warning messages.
6828
6829 2000-07-05  Craig Lanning  <lanning@scra.org>
6830
6831         * Makefile.in.in: Add support for including the Windows resources
6832         when building with the cygwin and mingw targets.
6833
6834         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
6835         not set or not correct.
6836         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
6837         (init_initial_directory): Don't try to use $PWD on the
6838         WIN32_NATIVE target.
6839
6840         * s\cygwin32.h:
6841         [[Add -mwindows to eliminate console window.]] not required --ben
6842         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6843         (MAIL_USE_POP): removed; now handled by configure.
6844
6845         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
6846         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
6847         (HAVE_NATIVE_SOUND): removed; now handled by configure.
6848         (MAIL_USE_POP): removed; now handled by configure.
6849         (ENCAPSULATE_STAT): from Dan Holmsand, added.
6850         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
6851         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
6852         constant string.
6853         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
6854         up from <winsock.h> via systime.h.
6855         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
6856         (getpagesize): from Dan Holmsand, added.
6857         Added #endif which was left dangling by Ben's mega patch; added
6858         comment to help prevent this in the future.
6859
6860         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
6861
6862 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6863
6864         * console-msw.h (struct mswindows_device): Removed unnecessary
6865         cached device geometry values.
6866         Added update_tick and an accessor macro.
6867         (Lisp_Devmode): Added lrecord declaration.
6868         (struct msprinter_device): Contain devmode as a Lisp object.
6869         Added mswindows_get_selected_frame_hwnd();
6870
6871         * console.h (struct console_methods): Indentation nitpicking.
6872
6873         * device-msw.c (mswindows_init_device): Do not initialize geometry
6874         cache. Initialize update tick.
6875         (mswindows_device_system_metrics): Ask the device for its geometry.
6876         (global_free_2_maybe):
6877         (devmode_to_hglobal):
6878         (handle_printer_changes):
6879         (ensure_not_printing):
6880         (print_dialog_worker):
6881         (Fmsprinter_print_setup_dialog):
6882         (Fmsprinter_print_dialog):
6883         (plist_get_margin):
6884         (plist_set_margin):
6885         (Fmsprinter_page_setup_dialog): Added functions.
6886         (sync_printer_with_devmode):
6887         (handle_devmode_changes):
6888         (Fmsprinter_get_settings):
6889         (Fmsprinter_select_settings):
6890         (Fmsprinter_apply_settings):
6891         (allocate_devmode):
6892         (Fmsprinter_settings_copy):
6893         (Fmsprinter_settings_despecialize):
6894         (print_devmode):
6895         (finalize_devmode):
6896         (equal_devmode):
6897         (hash_devmode): Added functions
6898         (syms_of_device_mswindows): Init devmode lrecord class.
6899
6900         * device.h: Added an exfun for find-device.
6901
6902         * event-msw.c (mswindows_wnd_proc): Do not update the cached
6903         geometry; although, recreate the device compatible DC.
6904
6905         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
6906         (msprinter_init_frame_3):
6907         (msprinter_frame_property):
6908         (msprinter_internal_frame_property_p):
6909         (msprinter_frame_properties):
6910         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
6911         print job properties (will move to device settings).
6912
6913         * lisp.h: Added symbols.
6914
6915         * general.c (syms_of_general): Declared them.
6916
6917         * hash.c (string_hash): Added.
6918
6919         * lrecord.h (lrecord_type): Added devmode lrecord type.
6920
6921 2000-07-02  Mike Sperber <mike@xemacs.org>
6922
6923         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
6924         FreeBSD 4.0.
6925
6926 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
6927
6928         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
6929         integer.
6930
6931 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
6932
6933         * data.c (Fstring_to_number): Don't recognize floating point if
6934         base is not 10.
6935
6936 2000-06-22  Martin Buchholz  <martin@xemacs.org>
6937
6938         * glyphs-widget.c (tab_control_query_geometry):
6939         (widget_query_geometry):
6940         (button_query_geometry):
6941         * glyphs.c (text_query_geometry):
6942         Enforce type correctness.
6943
6944 2000-06-18  Martin Buchholz  <martin@xemacs.org>
6945
6946         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
6947         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
6948
6949 2000-06-17  Martin Buchholz  <martin@xemacs.org>
6950
6951         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
6952         conflicts with gcc's fixincluded version of FOO.h.
6953
6954         * glyphs.h (image_instance_geometry): Remove trailing `,'
6955
6956 2000-06-08  Mike Alexander  <mta@arbortext.com>
6957
6958         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
6959         (shove_thread): Don't write the same output twice
6960         (make_ntpipe_output_stream): Increase priority of shove thread
6961         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
6962         chance to run
6963         (ntpipe_shove_closer): Don't delete the pipe until we're done with
6964         it.
6965
6966 2000-06-12  Ben Wing  <ben@xemacs.org>
6967
6968         * s\mingw32.h (sigset):
6969         * s\windowsnt.h (sigset):
6970         rename msw_ to mswindows_ for consistency with general convention.
6971
6972 2000-06-12  Ben Wing  <ben@xemacs.org>
6973
6974         * console-msw.c:
6975         * console-msw.c (mswindows_get_console_hwnd):
6976         * console-msw.c (mswindows_ensure_console_allocated):
6977         * console-msw.c (mswindows_hide_console):
6978         * console-msw.c (mswindows_show_console):
6979         * console-msw.c (mswindows_ensure_console_buffered):
6980         * console-msw.c (mswindows_output_console_string):
6981         * console-msw.c (mswindows_windows9x_p):
6982         * console-msw.h:
6983         * device-msw.c (mswindows_get_workspace_coords):
6984         * device-msw.c (mswindows_device_system_metrics):
6985         * dialog-msw.c (mswindows_popup_dialog_box):
6986         * event-msw.c (mswindows_wnd_proc):
6987         * frame-msw.c (mswindows_size_frame_internal):
6988         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6989         * menubar-msw.c (displayable_menu_item):
6990         * menubar-msw.c (mswindows_char_is_accelerator):
6991         * nt.c:
6992         * nt.c (mswindows_sigset):
6993         * nt.c (mswindows_sigrelse):
6994         * nt.c (mswindows_sigpause):
6995         * nt.c (mswindows_raise):
6996         * nt.c (timer_proc):
6997         * ntproc.c:
6998         * ntproc.c (find_child_console):
6999         * ntproc.c (sys_kill):
7000         * print.c:
7001         * print.c (std_handle_out_external):
7002         * process-nt.c (find_child_console):
7003         * process-nt.c (send_signal_the_95_way):
7004         * process-nt.c (ensure_console_window_exists):
7005         * process-nt.c (nt_create_process):
7006         * syssignal.h:
7007         rename msw_ to mswindows_ for consistency with general convention.
7008
7009         * emacs.c:
7010         * dumper.c:
7011         include nt.h, not syswindows.h.
7012
7013         * nt.c (mswindows_fstat):
7014         * nt.c (mswindows_stat):
7015         prefix mswindows_ instead of attempting to directly override the
7016         library functions.  fix declarations.
7017
7018         * nt.h:
7019         include syswindows.h.  move some sysdep.h stuff here.
7020
7021         * ntheap.h:
7022         include syswindows.h, not <windows.h>.
7023
7024         * ntplay.c:
7025         clean up headers.
7026
7027         * sysdep.c:
7028         clean up headers.
7029
7030         * sysdep.c (sys_fstat):
7031         * sysdep.c (sys_stat):
7032         call mswindows versions when appropriate.
7033
7034         * sysdep.h:
7035         move mswin decls to nt.h.
7036
7037         * syswindows.h:
7038         add long comment describing appropriate use of the various windows
7039         headers.
7040
7041 2000-06-11  Ben Wing  <ben@xemacs.org>
7042
7043         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7044
7045 2000-06-10  Ben Wing  <ben@xemacs.org>
7046
7047         * Makefile.in.in (release):
7048         Correction to make sure xemacs.exe always dumped when correct.
7049
7050         * alloca.c:
7051         * balloon_help.c:
7052         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7053
7054         * buffer.c (set_buffer_internal):
7055         [[[[2]]]]: Remove HAVE_FEP code.
7056
7057         * buffer.c (init_initial_directory):
7058         [3].
7059
7060         * bytecode.c:
7061         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7062         individual files.
7063
7064         * callproc.c:
7065         * callproc.c (call_process_cleanup):
7066         * callproc.c (Fold_call_process_internal):
7067         * callproc.c (child_setup):
7068         * callproc.c (getenv_internal):
7069         * callproc.c (init_callproc):
7070         * callproc.c (vars_of_callproc):
7071         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7072         __CYGWIN32__ -> CYGWIN.
7073         DOS_NT -> WIN32_NATIVE.
7074         Remove MSDOS support/references, converting to WIN32_NATIVE
7075           where correct.
7076         __MINGW32__ -> MINGW.
7077         Fix windows.h includes.
7078         Remove bogus HAVE_NTGUI.
7079
7080         * config.h.in:
7081         [2].
7082
7083         * console-msw.c:
7084         mswindows_message_outputted added for use in allowing startup
7085         errors on the console to be seen.
7086
7087         * console-msw.c (msw_ensure_console_allocated):
7088         * console-msw.c (msw_output_console_string):
7089         * console-msw.c (DHEADER):
7090         * console-msw.c (DOPAQUE_DATA):
7091         * console-msw.c (DEVENT):
7092         * console-msw.c (DCONS):
7093         * console-msw.c (DCONSCDR):
7094         * console-msw.c (DSTRING):
7095         * console-msw.c (DVECTOR):
7096         * console-msw.c (DSYMBOL):
7097         * console-msw.c (DSYMNAME):
7098         Fix warnings.
7099
7100         * console-stream.c (stream_init_console):
7101         Fix text/binary problems.
7102
7103         * device-msw.c:
7104         * device-msw.c (mswindows_finish_init_device):
7105         * device-msw.c (mswindows_delete_device):
7106         [1].
7107
7108         * device.c (handle_asynch_device_change):
7109         [3].
7110
7111         * dgif_lib.c:
7112         * dgif_lib.c (DGifOpenFileName):
7113         * dgif_lib.c (DGifOpenFileHandle):
7114         * dgif_lib.c (DGifGetLine):
7115         * dgif_lib.c (DGifGetPixel):
7116         Added config.h/lisp.h, fix up includes.
7117         [1].
7118
7119         * dired-msw.c:
7120         [4].
7121
7122         * dired.c:
7123         * dired.c (file_name_completion):
7124         * dired.c (Ffile_attributes):
7125         * dired.c (syms_of_dired):
7126         [1].
7127
7128         * dumper.c:
7129         * dumper.c (pdump_file_unmap):
7130         * dumper.c (pdump_load):
7131         [1].
7132
7133         * editfns.c:
7134         * editfns.c (Ftemp_directory):
7135         * editfns.c (user_login_name):
7136         * editfns.c (Fuser_real_login_name):
7137         * editfns.c (get_home_directory):
7138         [1].
7139
7140         * elhash.c (finish_marking_weak_hash_tables):
7141         [[[[5]]]]: Fix GCC warnings.
7142
7143         * emacs.c:
7144         * emacs.c (mswindows_handle_hardware_exceptions):
7145         * emacs.c (make_arg_list_1):
7146         * emacs.c (main_1):
7147         * emacs.c (Fkill_emacs):
7148         * emacs.c (Fdump_emacs):
7149         [1].
7150         Fix problems with nested crashes, add long comment.
7151
7152         * event-Xt.c (init_event_Xt_late):
7153         [1].
7154
7155         * event-msw.c:
7156         * event-msw.c (mswindows_dde_callback):
7157         * event-msw.c (mswindows_handle_sticky_modifiers):
7158         * event-msw.c (mswindows_wnd_proc):
7159         [1].
7160         [5].
7161
7162         * events.c (character_to_event):
7163         [1].
7164
7165         * fileio.c:
7166         * fileio.c (Ffile_name_directory):
7167         * fileio.c (Ffile_name_nondirectory):
7168         * fileio.c (directory_file_name):
7169         * fileio.c (Fexpand_file_name):
7170         * fileio.c (Fsubstitute_in_file_name):
7171         * fileio.c (Ffile_name_absolute_p):
7172         * fileio.c (check_executable):
7173         * fileio.c (Ffile_readable_p):
7174         * fileio.c (Ffile_accessible_directory_p):
7175         * fileio.c (Ffile_modes):
7176         * fileio.c (Funix_sync):
7177         * fileio.c (vars_of_fileio):
7178         [1]. [4].
7179
7180         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7181
7182         Expand getdefdir defn.
7183         Fix bogus rename() comment.
7184
7185         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7186         to use standard XEmacs include files, e.g. sysfile.h, rather
7187         than system-specific includes.
7188
7189         * fns.c:
7190         * fns.c (Fsubseq):
7191         [5]. [6].
7192
7193         * frame.c (vars_of_frame):
7194         [1].
7195
7196         * getloadavg.c:
7197         * getloadavg.c (getloadavg):
7198         [1]. [6].
7199         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7200         (We don't use it elsewhere in the code; just add a comment.)
7201
7202         * gif_io.c:
7203         [6].
7204         Add config.h.
7205
7206         * glyphs-msw.c:
7207         * glyphs-msw.c (mswindows_resource_instantiate):
7208         [1].
7209
7210         * glyphs-x.c (x_native_layout_instantiate):
7211         [5].
7212
7213         * gui-msw.c (Fmswindows_shell_execute):
7214         [1].
7215
7216         * insdel.c:
7217         [4].
7218
7219         * lisp.h:
7220         [4]. [5].
7221
7222         * lread.c (locate_file_in_directory_mapper):
7223         [1].
7224
7225         * lstream.c:
7226         [4].
7227
7228         * mem-limits.h:
7229         * mem-limits.h (get_lim_data):
7230         [1].
7231
7232         * menubar-msw.c:
7233         [4].
7234
7235         * ndir.h:
7236         [1].
7237
7238         * nt.c:
7239         * nt.c (getwd):
7240         * nt.c (closedir):
7241         * nt.c (rva_to_section):
7242         * nt.c (mswindows_executable_type):
7243         [1]. [6].
7244         Fix closedir() defn.
7245
7246         * nt.h:
7247         [[[[8]]]]: *_OK defs moved to sysfile.h.
7248
7249         * ntproc.c:
7250         [6]. [7].
7251
7252         * objects-x.c:
7253         [4].
7254
7255         * print.c:
7256         * print.c (std_handle_out_external):
7257         [1]. [4].
7258
7259         * process-nt.c:
7260         * process-nt.c (nt_create_process):
7261         [6].
7262         try to fix process quoting somewhat.
7263
7264         * process-unix.c (unix_create_process):
7265         [1].
7266
7267         * process.c:
7268         * process.c (vars_of_process):
7269         Add Vnull_device.
7270
7271         * process.h:
7272         [1].
7273
7274         * realpath.c:
7275         * realpath.c (xrealpath):
7276         [1].
7277
7278         * redisplay-tty.c (init_tty_for_redisplay):
7279         [3].
7280
7281         * redisplay.c:
7282         [4]. [6].
7283
7284         * scrollbar-msw.c:
7285         [4].
7286
7287         * sheap.c:
7288         * sheap.c (more_static_core):
7289         * sheap.c (report_sheap_usage):
7290         [5]. [6].
7291
7292         * signal.c:
7293         * signal.c (alarm_signal):
7294         [1]. [6].
7295
7296         * sound.c:
7297         [6].
7298
7299         * strftime.c:
7300         * strftime.c (zone_name):
7301         [1]. [5].
7302
7303         * symsinit.h (init_sunpro):
7304         [1].
7305
7306         * syscommctrl.h:
7307         commctrl.h not in Cygwin b20.1.
7308
7309         * sysdep.c:
7310         * sysdep.c (endif):
7311         * sysdep.c (sys_subshell):
7312         * sysdep.c (init_baud_rate):
7313         * sysdep.c (emacs_get_tty):
7314         * sysdep.c (emacs_set_tty):
7315         * sysdep.c (tty_init_sys_modes_on_device):
7316         * sysdep.c (init_system_name):
7317         * sysdep.c (sys_open):
7318         * sysdep.c (interruptible_open):
7319         * sysdep.c (sys_fopen):
7320         * sysdep.c (sys_mkdir):
7321         * sysdep.c (sys_rename):
7322         * sysdep.c (get_process_times_1):
7323         [1]. [6].
7324
7325         * sysdep.h:
7326         [1].
7327
7328         * sysdir.h:
7329         * sysdir.h (DIRENTRY_NONEMPTY):
7330         [1]. [6].
7331
7332         * sysdll.c (dll_init):
7333         * sysdll.h:
7334         [1].
7335
7336         * sysfile.h:
7337         [1]. [6]. [8].
7338         added text/binary defs.
7339
7340         * sysfloat.h:
7341         [1].
7342
7343         * sysproc.h:
7344         * sysproc.h (EDESTADDRREQ):
7345         * sysproc.h (poll_fds_for_input):
7346         [1]. [6].
7347
7348         * syspwd.h:
7349         [6].
7350
7351         * syssignal.h:
7352         [1].
7353
7354         * systime.h:
7355         [1]. [6].
7356
7357         * systty.h:
7358         [1].
7359
7360         * syswindows.h:
7361         [1].
7362         Always define WIN32_LEAN_AND_MEAN.
7363
7364         * unexcw.c (unexec):
7365         [5].
7366
7367         * unexec.c:
7368         * unexec.c (copy_text_and_data):
7369         * unexec.c (adjust_lnnoptrs):
7370         [1].
7371
7372         * unexnt.c:
7373         * unexnt.c (_start):
7374         [1].
7375
7376 2000-06-07  Ben Wing  <ben@xemacs.org>
7377
7378         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7379         was used only as a model.  We've long since extracted any useful
7380         logic or code out of this. (I just did an exhaustive search.)
7381
7382         * s\msdos.h: Removed.
7383
7384         * s\windows95.h: Removed.
7385
7386 2000-06-10  Ben Wing  <ben@xemacs.org>
7387
7388         * s\cygwin32.h:
7389         [1]. [5].
7390         Don't use extern with fun defs.
7391
7392         * s\mingw32.h:
7393         [1]. [7].
7394         Remove nt\inc include.
7395         Remove getdisk, getdefdir. (The former is unused, the latter
7396         expanded in fileio.h.)
7397
7398         * s\windowsnt.h:
7399         * s\windowsnt.h (WIN32_NATIVE):
7400         * s\windowsnt.h (HAVE_STRCASECMP):
7401         [1]. [7].
7402         Add long comment about preprocessor changes.
7403         Remove getdisk, getdefdir. (The former is unused, the latter
7404         expanded in fileio.h.)
7405
7406 2000-06-10  Ben Wing  <ben@xemacs.org>
7407
7408         * m\arm.h:
7409         * m\delta.h:
7410         * m\intel386.h:
7411         * m\sequent.h:
7412         * m\template.h:
7413         * m\windowsnt.h:
7414         [1].
7415         Remove bogus/unused NO_SOCK_SIGIO.
7416
7417 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7418
7419         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7420         not an Emchar.
7421
7422 2000-06-04  Mike Sperber <mike@xemacs.org>
7423
7424         * casetab.c (set_case_table): For `set-standard-case-table',
7425         actually deposit the new case tables where the rest of XEmacs can
7426         see them.
7427
7428 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7429
7430         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7431
7432 2000-06-05  Ben Wing  <ben@xemacs.org>
7433
7434         * callproc.c (child_setup): Don't do close_load_descs() under
7435         MS Windows.  Put in a comment explaining why.
7436
7437 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7438
7439         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7440         Toolkit shell" which breaks `kill-compilation' on Windows NT
7441         native, retaining STDERR handling improvements.
7442
7443 2000-06-01  Andreas Jaeger  <aj@suse.de>
7444
7445         * s/s390.h: Support for S390, based on a patch by Martin
7446         Schwidefsky <schwidefsky@de.ibm.com>.
7447
7448 2000-05-30  Andy Piper  <andy@xemacs.org>
7449
7450         * window.c (allocate_window):
7451         (make_dummy_parent):
7452         (Fset_window_configuration): use new hashtable type.
7453
7454         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7455         (struct image_instantiator_methods):
7456         (struct Lisp_Image_Instance): make instance geometry signed.
7457
7458         * glyphs.c (instantiate_image_instantiator):
7459         (image_instance_query_geometry):
7460         (image_instance_layout):
7461         (image_instance_layout):
7462         (query_string_geometry):
7463         (text_query_geometry):
7464         (image_instantiate):
7465         (image_instantiate):
7466         (cache_subwindow_instance_in_frame_maybe):
7467         (subwindow_query_geometry): make instance geometry signed.
7468
7469         * glyphs-widget.c (widget_query_geometry):
7470         (widget_layout):
7471         (button_query_geometry):
7472         (tree_view_query_geometry):
7473         (tab_control_query_geometry):
7474         (layout_query_geometry):
7475         (layout_layout):
7476         (native_layout_layout): make instance geometry signed.
7477
7478 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7479
7480         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7481         constant.
7482
7483         * general.c (syms_of_general): Add Qfull_assoc symbol.
7484
7485         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7486         correctly.
7487         (decode_weak_list_type): Decode full-assoc type.
7488         (encode_weak_list_type): Encode full-assoc type.
7489         (Fmake_weak_list): Update doc string.
7490
7491 2000-05-30  Andy Piper  <andy@xemacs.org>
7492
7493         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7494
7495         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7496         (decode_hash_table_weakness): ditto.
7497         (Fhash_table_weakness): ditto.
7498         (Fhash_table_type): ditto.
7499         (finish_marking_weak_hash_tables): ditto.
7500         (hash_table_weakness_validate): ditto.
7501         (syms_of_elhash): ditto.
7502
7503 2000-05-28  Martin Buchholz <martin@xemacs.org>
7504
7505         * XEmacs 21.2.34 is released.
7506
7507 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7508
7509         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7510         start cache.
7511         (updating_line_start_cache): Gone.
7512         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7513         generic code to force a minimum of 1 line laid out in the
7514         CMOTION_DISP case.
7515
7516 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7517
7518         * glyphs.c (instantiate_image_instantiator): Check for initialized
7519         height & width no longer special cases IMAGE_NOTHING.
7520         (nothing_instantiate): Set height and width of instance.
7521
7522 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7523
7524         * unexelf.c (unexec): Search for ".data" section.
7525         Initialize new_data2_offset from old_data_index.
7526         Remove redundant check for ElfW.
7527
7528 2000-05-23  Andy Piper  <andy@xemacs.org>
7529
7530         * glyphs.c (get_image_instantiator_governing_domain): allow more
7531         specific domains as the governing domain rather than expecting an
7532         exact match. This fixes problems with layouts.
7533
7534 2000-05-22  Andy Piper  <andy@xemacs.org>
7535
7536         * redisplay-output.c (compare_runes): check for non-images
7537
7538         * glyphs.c (set_glyph_dirty_p): ditto.
7539         (update_glyph_cachel_data): ditto.
7540
7541         * glyphs-widget.c (layout_post_instantiate): ditto.
7542         (layout_post_instantiate): ditto.
7543
7544         * event-msw.c (mswindows_wnd_proc): warning removal.
7545
7546 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7547
7548         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7549
7550         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7551
7552         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7553
7554         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7555         (mswindows_executable_type): mingw32 now has enough headers for
7556         this to work.
7557
7558 2000-05-20  Andy Piper  <andy@xemacs.org>
7559
7560         * console-msw.c (mswindows_output_last_error): ; -> ,
7561
7562 2000-05-12  Andy Piper  <andy@xemacs.org>
7563
7564         * console-msw.c (FROB): compare ints with ints.
7565
7566 2000-05-11  Andy Piper  <andy@xemacs.org>
7567
7568         * glyphs-x.c (x_finalize_image_instance): make minimal build
7569         happy.
7570
7571 2000-05-20  Ben Wing  <ben@xemacs.org>
7572
7573         * event-Xt.c:
7574         * event-Xt.c (vars_of_event_Xt):
7575         move modifier-keys-are-sticky to event-stream.c.
7576
7577         * event-msw.c:
7578         * event-msw.c (mswindows_enqueue_mouse_button_event):
7579         * event-msw.c (key_needs_default_processing_p):
7580         * event-msw.c (XEMSW_LCONTROL):
7581         * event-msw.c (mswindows_handle_sticky_modifiers):
7582         * event-msw.c (FROB):
7583         * event-msw.c (clear_sticky_modifiers):
7584         * event-msw.c (output_modifier_keyboard_state):
7585         * event-msw.c (output_alt_keyboard_state):
7586         * event-msw.c (mswindows_wnd_proc):
7587         * event-msw.c (mswindows_modifier_state):
7588         * event-msw.c (emacs_mswindows_handle_magic_event):
7589         implement sticky modifiers.
7590
7591         * event-stream.c:
7592         * event-stream.c (vars_of_event_stream):
7593         move modifier-keys-are-sticky here.
7594
7595         * lisp.h:
7596         add CHECK_FUNCTION.
7597
7598         * rangetab.c:
7599         implement map-range-table.
7600
7601
7602 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7603
7604         * redisplay-tty.c (reset_tty_modes):
7605         (tty_redisplay_shutdown): Adjust argument type to
7606         tty_frame_output_end.
7607
7608 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7609
7610         * eval.c (Fbacktrace): Don't output a line with only right
7611         parenthesis.
7612
7613 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
7614
7615         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
7616         (Fpq_reset_poll): Ditto.
7617
7618 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
7619
7620         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
7621
7622 2000-05-16  Ben Wing  <ben@xemacs.org>
7623
7624         * buffer.c:
7625         * buffer.c (dfc_convert_to/from_internal_format):
7626         * buffer.c (reinit_vars_of_buffer):
7627         Fix conversion functions to allow reentrancy.
7628
7629         * console-msw.c:
7630         * console-msw.c (mswindows_output_last_error):
7631         New fun, generally useful -- output a human-readable
7632         version of GetLastError() on the console.
7633
7634         * console-msw.h:
7635         * console-msw.h (struct mswindows_frame):
7636         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
7637
7638         * console-stream.c (stream_output_begin):
7639         * console-stream.c (stream_output_end):
7640         * console-stream.c (stream_output_vertical_divider):
7641         * console-stream.c (stream_clear_region):
7642         * console-stream.c (stream_flash):
7643         * console-stream.c (console_type_create_stream):
7644         Delete blank stream methods, not needed.
7645
7646         * console.h (struct console_methods):
7647         Split begin/end methods into window and frame.
7648
7649         * event-msw.c:
7650         * event-msw.c (mswindows_handle_paint):
7651         * event-msw.c (output_alt_keyboard_state):
7652         * event-msw.c (mswindows_wnd_proc):
7653         * event-msw.c (vars_of_event_mswindows):
7654         Comment about problems with ignored-expose.
7655         Define mswindows-debug-events; not really implemented.
7656
7657         * frame-msw.c (mswindows_init_frame_1):
7658         random cleanups.
7659
7660         * glyphs-msw.c:
7661         * glyphs-msw.c (begin_defer_window_pos):
7662         * glyphs-msw.c (mswindows_unmap_subwindow):
7663         * glyphs-msw.c (mswindows_map_subwindow):
7664         * glyphs-msw.c (mswindows_resize_subwindow):
7665         Use DeferWindowPos to reduce flashing when mapping/unmapping.
7666
7667         * glyphs.c (make_image_instance_1):
7668         Fix crash.
7669
7670         * gutter.c (Fredisplay_gutter_area):
7671         Use new begin/end methods.
7672
7673         * lisp.h (Dynarr_new2):
7674         New creation fun.
7675
7676         * redisplay-msw.c:
7677         * redisplay-msw.c (mswindows_frame_output_begin):
7678         * redisplay-msw.c (mswindows_frame_output_end):
7679         * redisplay-msw.c (console_type_create_redisplay_mswindows):
7680         New begin/end methods -- handle DeferWindowPos.
7681
7682         * redisplay-output.c (redisplay_move_cursor):
7683         * redisplay-output.c (redraw_cursor_in_window):
7684         * redisplay-output.c (redisplay_update_line):
7685         * redisplay-output.c (redisplay_output_window):
7686         New begin/end methods.
7687
7688         * redisplay-tty.c:
7689         * redisplay-tty.c (tty_frame_output_begin):
7690         * redisplay-tty.c (tty_frame_output_end):
7691         * redisplay-tty.c (console_type_create_redisplay_tty):
7692         New begin/end methods.
7693
7694         * redisplay-x.c:
7695         * redisplay-x.c (x_window_output_begin):
7696         * redisplay-x.c (x_window_output_end):
7697         * redisplay-x.c (console_type_create_redisplay_x):
7698         New begin/end methods.
7699
7700         * redisplay.c (redisplay_frame):
7701         * redisplay.c (Fredisplay_echo_area):
7702         New begin/end methods.
7703         use MAYBE_DEVMETH for clear_frame; it may not exist.
7704
7705         * window.h (WINDOW_XFRAME):
7706         WINDOW_XFOO macros -- get locale and decode struct pointer.
7707
7708
7709 2000-05-12  Ben Wing  <ben@xemacs.org>
7710
7711         * emacs.c:
7712         * emacs.c (ensure_no_quitting_from_now_on):
7713         * emacs.c (fatal_error_signal):
7714         * emacs.c (mswindows_handle_hardware_exceptions):
7715         * emacs.c (main):
7716         * emacs.c (Fkill_emacs):
7717         * emacs.c (shut_down_emacs):
7718         * emacs.c (assert_failed):
7719         various improvements in fatal error handling.
7720
7721         * eval.c:
7722         move preparing_for_armageddon to emacs.c.
7723
7724         * lisp.h:
7725         declare fatal_error_in_progress.
7726
7727         * print.c:
7728         * print.c (std_handle_out_external):
7729         * print.c (std_handle_out_va):
7730         * print.c (stderr_out):
7731         * print.c (stdout_out):
7732         use console under mswin when no standard output.
7733         don't do code conversion during fatal error.
7734
7735         * scrollbar.c (Fscrollbar_page_up):
7736         * scrollbar.c (Fscrollbar_page_down):
7737         fix missing else.  reindent.
7738
7739 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
7740
7741         Emergency fix.
7742
7743         * glyphs.h (GLYPH_CACHEL_DESCENT):
7744         (GLYPH_CACHEL_DESCENT):
7745         (GLYPH_CACHEL_DESCENT):
7746         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
7747         used in case these are inline functions.
7748         Use more absurd values to error check.
7749
7750         include window.h for error check functions.
7751
7752 2000-05-11  Ben Wing  <ben@xemacs.org>
7753
7754         * cmdloop.c (Freally_early_error_handler):
7755         Display message box under windows; otherwise, message will disappear
7756         before it can be viewed.
7757
7758         * console-msw.c:
7759         * console-msw.c (Fmswindows_message_box):
7760         * console-msw.c (FROB):
7761         * console-msw.c (syms_of_console_mswindows):
7762         Define new fun `mswindows-message-box'.
7763         #### I will merge this into `popup-dialog-box'; just give me
7764         a bit of time.
7765
7766         * general.c:
7767         * general.c (syms_of_general):
7768         Some new symbols used in `mswindows-message-box'.
7769
7770         * glyphs.c:
7771         * glyphs.c (Fset_image_instance_property):
7772         put warning in this fun.
7773
7774         * glyphs.h:
7775         * glyphs.h (GLYPH_CACHEL_WIDTH):
7776         * glyphs.h (GLYPH_CACHEL_ASCENT):
7777         * glyphs.h (GLYPH_CACHEL):
7778         * glyphs.h (GLYPH_CACHEL_GLYPH):
7779         define error-checking versions to try to catch a bug i've seen --
7780         redisplay gets in an infinite loop because the glyph width of the
7781         continuation glyph is 65535.
7782
7783         * lisp.h:
7784         Extern message-box stuff.
7785
7786         * window.c (allocate_window):
7787         * window.c (make_dummy_parent):
7788         * window.c (Fset_window_configuration):
7789         Use EQUAL not EQ for subwindow caches to make them work a bit
7790         better. (Something is still very broken.)
7791
7792
7793 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7794
7795         * glyphs.c (image_instantiate): Suppress gcc warnings.
7796         (Fmake_image_instance): Fix doc string.
7797         * specifier.c (Fmake_specifier): Ditto.
7798
7799 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
7800
7801         * paths.h.in (PATH_LOCK): Removed.
7802         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
7803         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
7804
7805 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7806
7807         * fns.c (Ffeaturep): Update e-mail address in doc-string.
7808         Document (featurep '(and xemacs 21.02)).
7809
7810 2000-05-09  Ben Wing  <ben@xemacs.org>
7811
7812         * buffer.c (complex_vars_of_buffer):
7813         update modeline-format doc.
7814
7815         * device.h:
7816         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
7817
7818         * emacs.c:
7819         timeline of all released versions of Emacs, for use in creating
7820         authorship comments and in synching up.
7821
7822         * glyphs-widget.c (image_instantiator_buttons):
7823         * glyphs-widget.c (image_instantiator_edit_fields):
7824         * glyphs-widget.c (image_instantiator_combo_box):
7825         * glyphs-widget.c (image_instantiator_scrollbar):
7826         * glyphs-widget.c (image_instantiator_progress_guage):
7827         * glyphs-widget.c (image_instantiator_tree_view):
7828         * glyphs-widget.c (image_instantiator_tab_control):
7829         * glyphs-widget.c (image_instantiator_labels):
7830         * glyphs-widget.c (image_instantiator_layout):
7831         * glyphs-widget.c (image_instantiator_native_layout):
7832         rename decode_domain method to governing_domain.
7833
7834         * glyphs.c:
7835         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
7836         * glyphs.c (add_entry_to_device_ii_format_list):
7837         make sure we don't put an entry more than once into the list.
7838         * glyphs.c (check_instance_cache_mapper):
7839         *************************************************************
7840         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7841         HAVE BEEN GETTING.
7842         *************************************************************
7843         * glyphs.c (get_image_instantiator_governing_domain):
7844         clean up, expand on new concept of governing domain.
7845         * glyphs.c (instantiate_image_instantiator):
7846         * glyphs.c (allocate_image_instance):
7847         use governing_domain instead of cache_domain in naming.
7848         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
7849         * glyphs.c (make_image_instance_1):
7850         * glyphs.c (Fmake_image_instance):
7851         allow for any domain (not just device), and process the
7852         governing domain correctly.  very big doc fix.
7853         * glyphs.c (Fimage_instance_domain):
7854         new primitive, to retrieve the governing domain of an image instance.
7855         * glyphs.c (image_instantiate):
7856         use new governing_domain stuff.  this fixes a crash you could get
7857         by instantiating certain widget glyphs in frame locales. (should
7858         signal an error instead of crashing.)
7859         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
7860         * glyphs.c (Fglyphp): clean up doc.
7861         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
7862         * glyphs.c (syms_of_glyphs):
7863         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
7864         * glyphs.c (image_instantiator_format_create): add some comments about
7865         bogus code.
7866         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
7867         for current-display-table. (Apparently Hrjove implemented in 1998 a
7868         design I wrote up in 1996, but didn't update the doc string.)
7869
7870         * glyphs.h: clean up a doc string.
7871         * glyphs.h (governing_domain):
7872         * glyphs.h (struct image_instantiator_methods):
7873         changes for governing_domain stuff.
7874
7875         * gutter.c:
7876         * gutter.c (Fgutter_specifier_p):
7877         * gutter.c (Fgutter_size_specifier_p):
7878         * gutter.c (Fgutter_visible_specifier_p):
7879         * objects.c:
7880         * objects.c (Fcolor_specifier_p):
7881         * objects.c (Ffont_specifier_p):
7882         * objects.c (Fface_boolean_specifier_p):
7883         doc strings moved to make-*-specifier.
7884
7885         * redisplay.c (add_disp_table_entry_runes_1):
7886         * redisplay.c (generate_fstring_runes):
7887         * redisplay.c (screen):
7888         add random comments and doc strings.
7889
7890         * specifier.c:
7891         * specifier.c (Fmake_specifier):
7892         major overhaul of this doc string.
7893
7894         * specifier.c (Fvalid_specifier_domain_p):
7895         comment about the bogosity of image instances being domains.
7896         * specifier.c (decode_domain):
7897         now non-static, used in glyphs.c.
7898         * specifier.c (specifier_instance):
7899         comment about the bogosity of image instances being domains.
7900         * specifier.c (Fgeneric_specifier_p):
7901         move doc string to make-generic-specifier.
7902         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
7903         rebackslashify.
7904
7905         * specifier.h:
7906         * specifier.h (DOMAIN_FRAME):
7907         * specifier.h (DOMAIN_LIVE_P):
7908         * specifier.h (DOMAIN_XDEVICE):
7909         rebackslashify.
7910         add comments about problems with these macros.
7911         prototype for decode_domain.
7912
7913         * toolbar.c:
7914         * toolbar.c (Ftoolbar_specifier_p):
7915         move doc string to `make-toolbar-specifier'.
7916
7917         * window.c (window_unmap_subwindows_cache_mapper):
7918         *************************************************************
7919         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
7920         HAVE BEEN GETTING.
7921         *************************************************************
7922
7923 2000-05-09  Andy Piper  <andy@xemacs.org>
7924
7925         * glyphs.h: declare reset_frame_subwindow_instance_cache.
7926
7927         * window.c (Fset_window_configuration): reset the frame subwindow
7928         cache and re-initialize the window subwindow caches.
7929
7930         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
7931
7932 2000-05-09  Ben Wing  <ben@xemacs.org>
7933
7934         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
7935         DWORD.
7936
7937 2000-04-26  Mike Woolley  <mike@bulsara.com>
7938
7939         * ntheap.c: Changed recreate_heap to limit the amount reserved
7940         for the heap to that which is actually available. Also now
7941         displays a message box (with some dignostics) in the event that
7942         it still can't start.
7943
7944 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
7945
7946         * callproc.c (Fold_call_process_internal): GCPRO path
7947
7948 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
7949
7950         Patch by Bill Perry.
7951
7952         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
7953         back data instead of #ifdef.
7954         (Fscrollbar_page_down): ditto.
7955
7956 2000-05-07  Ben Wing  <ben@xemacs.org>
7957
7958         * buffer.h:
7959         Kludge for defining Qmswindows_tstr.
7960
7961         * nt.c:
7962         * nt.c (open_input_file):
7963         * nt.c (open_output_file):
7964         * nt.c (rva_to_section):
7965         * nt.c (mswindows_executable_type):
7966         Move all memory-mapped-file routines here (some were in unexnt.c,
7967         which is bad because they are used by process-nt.c, and unexnt
7968         won't be around when portable dumping).  Synched the above routines
7969         with FSF 20.6.
7970
7971         * nt.h:
7972         Removed ifdef'd out bogus code.
7973         Fixed some prototypes.
7974
7975         * nt.h (file_data):
7976         * nt.h (OFFSET_TO_RVA):
7977         * nt.h (RVA_TO_OFFSET):
7978         * nt.h (RVA_TO_PTR):
7979         Moved the memory-mapped-file structures, macros and prototypes
7980         here, to parallel nt.c.  ntheap.h should really be removed
7981         entirely, and it's a non-portable-dumper specific file.
7982
7983         * ntheap.h (round_to_next):
7984         Moved the memory-mapped-file structures, macros and prototypes
7985         to nt.h.
7986
7987         * ntproc.c (compare_env):
7988         Moved rva_to_section and mswindows_executable_type to nt.c.
7989         Moved compare_env to process-nt.c.
7990         ntproc.c will die, one day.
7991
7992         * ntproc.c (sys_spawnve):
7993         Account for win32_ -> mswindows_.
7994
7995         * process-nt.c:
7996         * process-nt.c (struct nt_process_data):
7997         * process-nt.c (ensure_console_window_exists):
7998         * process-nt.c (compare_env):
7999         * process-nt.c (nt_create_process):
8000         * process-nt.c (nt_kill_process_by_pid):
8001         * process-nt.c (syms_of_process_nt):
8002         * process-nt.c (vars_of_process_nt):
8003         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8004         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8005         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8006         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8007         Move compare_env here from ntproc.c.
8008
8009         * process.c (Fprocess_send_region):
8010         Takes an optional fourth argument, BUFFER, which should fix some
8011         problems with call-process.
8012
8013         * syscommctrl.h:
8014         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8015
8016         * syswindows.h:
8017         Move ICC_BAR_CLASSES to syscommctrl.h.
8018         Add preliminary macros for MSWindows/Mule.  More to come.
8019
8020         * unexnt.c:
8021         * unexnt.c (unexec):
8022         open_output_file moved to nt.c.
8023
8024
8025 2000-05-05  Andy Piper  <andy@xemacs.org>
8026
8027         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8028         instance from the frame cache also since GC may catch up too late
8029         to make frame deletion sane.
8030
8031 2000-05-04  Andy Piper  <andy@xemacs.org>
8032
8033         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8034         (x_finalize_image_instance): ungcpro on deletion.
8035
8036         * glyphs.c (image_instantiator_format_create): give pointers a
8037         query geometry method so that the geometry is at least set.
8038
8039         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8040         initialize layouts if using widgets.
8041
8042 2000-05-03  Andy Piper  <andy@xemacs.org>
8043
8044         * nt.c: remove bogus reference to sysmmsystem.h
8045
8046         * gui-x.c (popup_selection_callback): fix no selection abort.
8047
8048 2000-05-02  Andy Piper  <andy@xemacs.org>
8049
8050         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8051         (mswindows_widget_instantiate): ditto.
8052
8053         * glyphs-widget.c (initialize_widget_image_instance): initialize
8054         children correctly.
8055         (widget_instantiate): cope with children and items in the same
8056         instance.
8057
8058         * glyphs.c (mark_image_instance): cope with children as a first
8059         class member.
8060         (image_instance_equal): ditto.
8061         (image_instance_hash): ditto.
8062         (image_instance_changed): ditto.
8063
8064 2000-04-30  Andy Piper  <andy@xemacs.org>
8065
8066         * glyphs.c (subwindow_query_geometry): new function. Return some
8067         defaults.
8068         (subwindow_instantiate): don't assign dimensions if none have been
8069         given.
8070         (image_instantiator_format_create): add subwindow_query_geometry.
8071         (print_image_instance): cope with layouts as widgets.
8072
8073 2000-04-29  Andy Piper  <andy@xemacs.org>
8074
8075         * frame.c (delete_frame_internal): call
8076         free_frame_subwindow_instance_cache so that all subwindows are
8077         finalized before their parent.
8078         (mark_frame): remove subwindow_cachels.
8079         (Fmake_frame): remove subwindow_cachel manipulation.
8080         (allocate_frame_core): subwindow_instance_cache is a weak list.
8081         (delete_frame_internal): set subwindow_instance_cache to nil.
8082
8083         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8084         finalization safe.
8085         (mswindows_finalize_image_instance): use the device
8086         not the domain as the domain may have died already.
8087
8088         * glyphs-x.c (x_finalize_image_instance): ditto.
8089         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8090         HEIGHT.
8091
8092         * redisplay-output.c (redisplay_unmap_subwindows): update for
8093         subwindow instance cache as a weak list.
8094         (redisplay_unmap_subwindows_maybe): ditto.
8095         (redisplay_unmap_subwindows_except_us): ditto.
8096
8097         * glyphs.c (unmap_subwindow): error checking will check the domain
8098         so don't deal with it here. Don't use cachels anymore.
8099         (map_subwindow): ditto.
8100         (update_subwindow_cachel_data): remove old accessor names.
8101         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8102         (Fresize_subwindow): don't update cachel.
8103         (mark_subwindow_cachels):
8104         (update_subwindow_cachel_data):
8105         (add_subwindow_cachel):
8106         (get_subwindow_cachel_index):
8107         (update_subwindow_cachel):
8108         (reset_subwindow_cachels):
8109         (mark_subwindow_cachels_as_not_updated): deleted.
8110         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8111         subwindow instance to the frame cache.
8112         (find_matching_subwindow): update for subwindow instance cache as
8113         a weak list.
8114         (update_widget_instances): ditto.
8115         (image_instance_type_to_mask):inlined.
8116         (free_frame_subwindow_instance_cache): new function. finalize all
8117         subwindows that are instantiated.
8118
8119         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8120         of cachel information.
8121         (IMAGE_INSTANCE_DISPLAY_X):
8122         (IMAGE_INSTANCE_DISPLAY_Y):
8123         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8124         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8125         (XIMAGE_INSTANCE_DISPLAY_X):
8126         (XIMAGE_INSTANCE_DISPLAY_Y):
8127         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8128         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8129         remove subwindow_cachel structure and function references.
8130         (image_instance_type_to_mask): inline from glyphs.c
8131
8132         * redisplay.c (redisplay_frame): remove subwindow_cachel
8133         references.
8134
8135         * frame.h (struct frame): remove subwindow_cachels.
8136         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8137
8138         * frameslots.h: add subwindow_instance_cache.
8139
8140         * window.c (replace_window): check subwindow cache of replacement.
8141         (window_unmap_subwindows_cache_mapper):
8142         (window_unmap_subwindows): new functions. Unmap all subwindows
8143         cached on this window.
8144         (mark_window_as_deleted): unmap all subwindows.
8145
8146 2000-04-27  Andy Piper  <andy@xemacs.org>
8147
8148         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8149
8150         * glyphs-widget.c (widget_layout): return something.
8151         (layout_layout): return something. Fail if not initialized.
8152         (layout_query_geometry): ditto.
8153         (image_instantiator_native_layout): new function. Initialized the
8154         native layout type.
8155         (widget_instantiate): don't do layout stuff here.
8156
8157         * glyphs.c (instantiate_image_instantiator): reorded calling or
8158         instantiate and post_instantiate with layout in between.
8159         (image_instance_layout): be more selective about deciding whether
8160         the layout has been done or not.
8161
8162         * glyphs.h (struct image_instantiator_methods): return a value
8163         from layout_method.
8164
8165 2000-04-26  Andy Piper  <andy@xemacs.org>
8166
8167         * glyphs.c (allocate_image_instance): make initial width and
8168         height unspecified. Set initialized to 0.
8169
8170         * syscommctrl.h new file. Encapsulates commctrl.h.
8171
8172         * syswindows.h new file. Encapsulates windows.h.
8173
8174         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8175         * nt.c: ditto.
8176         * console-msw.h: ditto.
8177
8178         * redisplay-tty.c (tty_output_display_block): remove layout references.
8179
8180         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8181         window handle rather than just the frame.
8182
8183         * glyphs.c (mark_image_instance): remove layout references.
8184         (print_image_instance): ditto.
8185         (image_instance_equal): ditto.
8186         (image_instance_hash): ditto.
8187         (decode_image_instance_type): ditto.
8188         (encode_image_instance_type): ditto.
8189         (image_instantiate): ditto.
8190         (allocate_glyph): ditto.
8191         (Fimage_instance_height): ditto.
8192         (Fimage_instance_width): ditto.
8193         (update_subwindow): ditto.
8194
8195         * redisplay-x.c (x_output_display_block): recode for layouts as
8196         widgets.
8197
8198         * redisplay-output.c (redisplay_output_layout): recode for layouts
8199         as widgets.
8200         (compare_runes): remove layout references.
8201
8202         * redisplay-msw.c (mswindows_output_display_block): recode for
8203         layouts as widgets.
8204
8205         * glyphs-widget.c (image_instantiator_layout): remove
8206         layout_possible_dest_types.
8207         (layout_possible_dest_types): deleted.
8208
8209         * glyphs.h (image_instance_type): remove layout references.
8210         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8211         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8212         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8213
8214 2000-04-25  Andy Piper  <andy@xemacs.org>
8215
8216         * glyphs-widget.c (image_instantiator_buttons):
8217         (image_instantiator_edit_fields):
8218         (image_instantiator_combo_box):
8219         (image_instantiator_scrollbar):
8220         (image_instantiator_progress_guage):
8221         (image_instantiator_tree_view):
8222         (image_instantiator_tab_control):
8223         (image_instantiator_labels):
8224         (image_instantiator_layout): call default post_instantiate method.
8225         (widget_post_instantiate): new function. Simply lays out the
8226         widgets.
8227
8228         * glyphs.h (struct image_instantiator_methods): add
8229         post_instantiate method.
8230
8231         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8232         method calls.
8233
8234 2000-04-23  Andy Piper  <andy@xemacs.org>
8235
8236         * glyphs.h (struct image_instantiator_methods): add
8237         decode_domain_method.
8238         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8239         derived from the domain.
8240         (IMAGE_INSTANCE_FRAME): new accessor.
8241         (XIMAGE_INSTANCE_FRAME): ditto.
8242
8243         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8244         instead of _SUBWINDOW_FRAME.
8245         (finalize_image_instance): ditto.
8246         (Fimage_instance_foreground): ditto.
8247         (Fimage_instance_background): ditto.
8248         (image_instantiate): ditto.
8249         (update_subwindow_cachel): ditto.
8250         (update_subwindow): ditto.
8251         (unmap_subwindow): ditto.
8252         (map_subwindow): ditto
8253         (subwindow_instantiate): ditto.
8254         * glyphs-msw.c (mswindows_update_widget): ditto.
8255         (mswindows_progress_gauge_instantiate): ditto.
8256         (mswindows_tab_control_update): ditto.
8257         * glyphs-x.c (x_update_widget): ditto.
8258         (x_widget_instantiate): ditto.
8259         (x_tab_control_instantiate): ditto.
8260         (x_tab_control_update): ditto.
8261         * event-msw.c (mswindows_wnd_proc): ditto
8262
8263         * glyphs-widget.c (image_instantiator_layout): use
8264         subwindow_decode_domain.
8265         (image_instantiator_buttons): ditto.
8266         (image_instantiator_edit_fields): ditto.
8267         (image_instantiator_combo_box): ditto.
8268         (image_instantiator_scrollbar): ditto.
8269         (image_instantiator_progress_guage): ditto.
8270         (image_instantiator_tree_view): ditto.
8271         (image_instantiator_tab_control): ditto.
8272         (image_instantiator_labels): ditto.
8273         (image_instantiator_layout): ditto.
8274
8275         * glyphs.c: add instance error checking to many functions.
8276         (instantiate_image_instantiator): decode device from cache_domain.
8277         (image_instantiate): partially rewrite by using
8278         decode_image_instantiator_domain to determine what domain the
8279         instance needs to be cached in.
8280         (decode_image_instantiator_domain): new function. Determine what
8281         domain the image needs to be cached in.
8282         (check_window_subwindow_cache): new error checking function.
8283         (check_instance_cache_mapper): ditto.
8284         (check_image_instance_structure): ditto.
8285         (subwindow_decode_domain): new function. Encodes a window as a
8286         subwindow's cache domain.
8287         (image_instantiator_format_create): use it for text and
8288         subwindows.
8289
8290 2000-04-21  Andy Piper  <andy@xemacs.org>
8291
8292         * glyphs.c (image_instance_device): new function.
8293         (image_instance_frame): new function.
8294         (image_instance_window): new function.
8295         (image_instance_live_p): new function.
8296
8297         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8298         cache to nil.
8299
8300         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8301         (IMAGE_INSTANCE_DOMAIN): new accessor.
8302         (XIMAGE_INSTANCE_DOMAIN): ditto.
8303
8304         * glyphs-x.c (x_finalize_image_instance): device->domain.
8305
8306         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8307         (mswindows_finalize_image_instance): ditto.
8308
8309         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8310         (gif_instantiate): ditto.
8311         (png_instantiate): ditto.
8312         (tiff_instantiate): ditto.
8313
8314         * glyphs.c (instantiate_image_instantiator): use domain rather
8315         than device.
8316         (mark_image_instance): device -> domain.
8317         (print_image_instance): ditto.
8318         (finalize_image_instance): ditto.
8319         (image_instance_equal): ditto.
8320         (allocate_image_instance): ditto.
8321         (Fcolorize_image_instance): ditto.
8322         (query_string_geometry): ditto.
8323         (image_instantiate): ditto
8324         (query_string_font): ditto.
8325         (image_instantiate): ditto.
8326         (update_subwindow): ditto.
8327         (unmap_subwindow): ditto.
8328         (map_subwindow): ditto.
8329         (subwindow_instantiate): ditto.
8330
8331         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8332         (DOMAIN_FRAME): ditto.
8333         (DOMAIN_WINDOW): ditto.
8334         (DOMAIN_LIVE_P): ditto.
8335         (XDOMAIN_DEVICE): ditto.
8336         (XDOMAIN_FRAME): ditto.
8337         (XDOMAIN_WINDOW): ditto.
8338
8339         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8340         a valid specifier domain.
8341
8342 2000-04-19  Andy Piper  <andy@xemacs.org>
8343
8344         * glyphs-widget.c (syms_of_glyphs_widget): remove
8345         widget-callback-current-channel.
8346         (vars_of_glyphs_widget): ditto.
8347         * glyphs.h: ditto
8348
8349         * gui.c (get_gui_callback): revert to previous behaviour.
8350
8351 2000-04-18  Andy Piper  <andy@xemacs.org>
8352
8353         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8354         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8355         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8356
8357         * glyphs.c (image_instance_equal): add margin_width.
8358         (image_instance_hash): ditto.
8359
8360         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8361         (layout_query_geometry): ditto.
8362         (layout_layout): ditto.
8363         (syms_of_glyphs_widget): add margin-width.
8364         (image_instantiator_layout): allow margin-width.
8365
8366         * glyphs.c (update_widget_instances): make a normal function.
8367         (syms_of_glyphs): remove Qupdate_widget_instances.
8368         * glyphs.h: ditto.
8369
8370         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8371         so that we don't corrupt ideas about the last event or
8372         command. Remove widget-callback-current-channel fiddling.
8373         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8374
8375 2000-05-01  Martin Buchholz <martin@xemacs.org>
8376
8377         * XEmacs 21.2.33 is released.
8378
8379 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8380
8381         * make-src-depend: Allow dots in header file name.
8382
8383 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8384
8385         * mule-charset.h (struct charset_lookup): Add
8386         next_allocated_1_byte_leading_byte and
8387         next_allocated_2_byte_leading_byte.
8388         * mule-charset.c: Move above two variables so that those values
8389         will be dumped.
8390
8391 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8392
8393         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8394         when string length is zero.
8395         (find_charsets_in_emchar_string): Ditto.
8396
8397 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8398
8399         * lisp.h: extern Qdialog and Qmenubar.
8400
8401         * gui-x.c: added events.h.
8402                 also fixed typo which made the file uncompilable.
8403
8404         * general.c: Added Qmenubar and Qdialog
8405
8406 2000-04-28  Ben Wing  <ben@xemacs.org>
8407
8408         * frame-msw.c (mswindows_init_frame_1):
8409         * frame-msw.c (mswindows_mark_frame):
8410         * event-msw.c (mswindows_enqueue_dispatch_event):
8411         * console-msw.h:
8412         * console-msw.h (struct mswindows_frame):
8413         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8414         there are now three hash tables for callbacks.
8415         mswindows_enqueue_dispatch_event is no longer static.
8416
8417         * dialog-x.c (maybe_run_dbox_text_callback):
8418         * dialog-x.c (dbox_descriptor_to_widget_value):
8419         switch to new cons3 form for callbacks.
8420
8421         * glyphs-msw.c (mswindows_register_gui_item):
8422         * glyphs-msw.c (mswindows_widget_instantiate):
8423         * glyphs-msw.c (add_tree_item):
8424         * glyphs-msw.c (add_tab_item):
8425         new image instance parameter, so it can be passed to callback-ex.
8426         respect :callback-ex as well as :callback.
8427
8428         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8429         add :callback-ex.
8430
8431         * glyphs.c (print_image_instance):
8432         prettify, e.g. now prints widget type.
8433
8434         * gui-x.h:
8435         certain funs have new image instance parameter.
8436
8437         * gui.c:
8438         * gui.c (get_gui_callback):
8439         * gui.c (gui_item_add_keyval_pair):
8440         * gui.c (gui_item_init):
8441         * gui.c (gui_add_item_keywords_to_plist):
8442         * gui.c (mark_gui_item):
8443         * gui.c (gui_item_hash):
8444         * gui.c (gui_item_equal):
8445         * gui.c (copy_gui_item):
8446         * gui.c (syms_of_gui):
8447         recognize callback-ex in a number of places.
8448         also, fix the annoying "can't get out of yes-no dialog" bug.
8449
8450         * gui.h:
8451         * gui.h (struct Lisp_Gui_Item):
8452         recognize callback-ex in a number of places.
8453
8454         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8455         new parameter in button_item_to_widget_value.
8456
8457         * glyphs-x.c (x_update_widget):
8458         * glyphs-x.c (x_button_instantiate):
8459         * glyphs-x.c (x_button_update):
8460         * glyphs-x.c (x_progress_gauge_instantiate):
8461         * glyphs-x.c (x_edit_field_instantiate):
8462         * glyphs-x.c (x_combo_box_instantiate):
8463         * glyphs-x.c (x_tab_control_instantiate):
8464         * glyphs-x.c (x_label_instantiate):
8465         new image instance parameter in various places.
8466
8467         * event-Xt.c:
8468         * event-Xt.c (enqueue_Xt_dispatch_event):
8469         this fun gets exported.
8470
8471         * gui-msw.c:
8472         * gui-msw.c (mswindows_handle_gui_wm_command):
8473         handle both :callback and :callback-ex, and generate our own
8474         event because it's one of the callback-ex arguments.
8475
8476         * gui-x.c:
8477         * gui-x.c (popup_selection_callback):
8478         handle both :callback and :callback-ex, and generate our own
8479         event because it's one of the callback-ex arguments.
8480         * gui-x.c (button_item_to_widget_value):
8481         * gui-x.c (gui_items_to_widget_values_1):
8482         * gui-x.c (gui_item_children_to_widget_values):
8483         * gui-x.c (gui_items_to_widget_values):
8484         new image instance parameter in various places.
8485
8486         * fns.c (Freplace_list):
8487         fix small typo in doc string.
8488
8489         * lisp.h:
8490         declare enqueue_Xt_dispatch_event.
8491
8492 2000-04-28  Ben Wing  <ben@xemacs.org>
8493
8494         * buffer.c:
8495         * buffer.c (Frecord_buffer):
8496         * buffer.c (syms_of_buffer):
8497         delete record-buffer-hook.
8498
8499         * fns.c:
8500         * fns.c (Freplace_list):
8501         * fns.c (syms_of_fns):
8502         new primitive replace-list.
8503
8504         * frameslots.h:
8505         slot for old buffer-alist.
8506
8507         * lisp.h:
8508         exfun replace-list.
8509
8510         * redisplay.c:
8511         * redisplay.c (redisplay_frame):
8512         * redisplay.c (syms_of_redisplay):
8513         * redisplay.c (vars_of_redisplay):
8514         new hook buffer-list-changed-hook.
8515         call it.
8516
8517 2000-04-27  Ben Wing  <ben@xemacs.org>
8518
8519         * extents.h: extern in_modeline_generation.
8520
8521         * redisplay.c (generate_formatted_string_db): set
8522         in_modeline_generation.
8523
8524         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8525         flags if in modeline generation.  otherwise frame-modified-tick
8526         is ticked far too often.
8527         Declare in_modeline_generation.
8528
8529 2000-04-26  Ben Wing  <ben@xemacs.org>
8530
8531         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8532         option.
8533         (vars_of_emacs): add quick-build as an error-checking option.
8534         A bit kludgy, but there doesn't seem much point in creating
8535         a real var for this.
8536
8537         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8538
8539 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8540
8541         * redisplay.h (struct display_line): Add a new variable,
8542         line_continuation.
8543
8544         * redisplay.c (create_text_block): Set dl->line_continuation if
8545         the line continues.
8546         (create_string_text_block): Ditto.
8547         (regenerate_window_incrementally): Use line_continuation instead
8548         of searching continuation glyph.
8549         (add_margin_runes): Call add_glyph_rune.
8550         (add_glyph_rune): Handle margin glyph.
8551
8552 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8553
8554         * filelock.c (fill_in_lock_file_name):
8555         ANSIfy.
8556         Check for IS_ANY_SEP instead of '/'.
8557         (lock_file_1):
8558         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8559         Never check errno without first seeing that system call failed.
8560         (unlock_file): Add GCPRO.
8561         (Flock_buffer): Fix docstring.
8562         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8563
8564 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8565
8566         * sysdep.c (get_pty_max_bytes):
8567         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8568         strings longer than 252 bytes.
8569
8570         * md5.c: Unconditionally include ANSI header <limits.h>
8571
8572         * glyphs-x.c (convert_EImage_to_XImage):
8573         * lisp-union.h (union Lisp_Object):
8574         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8575
8576 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8577
8578         * filelock.c (current_lock_owner): Remove unused variable o, p.
8579
8580 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8581
8582         * callint.c: Remove multiply defined symbol Qlet
8583         (syms_of_callint): ditto.
8584
8585 2000-04-14  Andy Piper  <andy@xemacs.org>
8586
8587         * general.c (syms_of_general): add last-command, this-command, let
8588         and funcall.
8589
8590         * lisp.h: declare various symbols.
8591
8592         * glyphs.h: declare Qwidget_callback_current_channel;
8593
8594         * glyphs-widget.c (syms_of_glyphs_widget): add
8595         Qgui_callback_current_channel.
8596         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8597
8598         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8599         widget-callback-current-channel when invoking the interactive
8600         arg. Also bind last-command and next-command when invoking the
8601         widget updates.
8602         * gui-x.c (popup_selection_callback): ditto.
8603
8604         * gui.c (get_gui_callback): massage args so that we are always
8605         calling eval. This allows us to add our own variable bindings
8606         outside.
8607
8608         * glyphs-x.c (x_button_instantiate): use
8609         gui_items_to_widget_values since this is GC safe.
8610         (x_progress_gauge_instantiate): ditto.
8611         (x_edit_field_instantiate): ditto.
8612         (x_label_instantiate): ditto.
8613
8614         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
8615         (emacs_Xt_event_widget_focus_out): new function
8616         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
8617         focus.
8618         (emacs_Xt_event_add_widget_actions): new function. add focus
8619         functions as actions.
8620         (init_event_Xt_late): use it.
8621
8622 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
8623
8624         * event-stream.c (Fdispatch_event): Doc fix.
8625
8626 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
8627
8628         * postgresql.c: Remove all references to PQsetenv*.
8629
8630         * postgresql.h: Remove references to PGsetenvHandler object.
8631         * lrecord.h (lrecord_type): Ditto.
8632
8633 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8634
8635         * glyphs-msw.h (struct mswindows_image_instance_data): Added
8636         real_heigh and real_width members, and accessor macros for these.
8637
8638         * glyphs-msw.c (init_image_instance_geometry): New function.
8639         (init_image_instance_from_dibitmap): Use it.
8640         (mswindows_resource_instantiate): Use it.
8641         (init_image_instance_from_xbm_inline): Use it.
8642         (mswindows_initialize_image_instance_mask): Use real bitmap
8643         geometry.
8644         (mswindows_create_resized_bitmap): Ditto.
8645         (mswindows_create_resized_mask): Ditto.
8646
8647         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
8648         and bitmap to their surface size.
8649
8650 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
8651
8652         * process-unix.c (unix_send_process): Guard against process MIA
8653         after Faccept_process_output.
8654
8655 2000-04-11  Ben Wing  <ben@xemacs.org>
8656
8657         * eval.c (unbind_to_hairy): fix brokenness introduced by
8658         nanosecond speed improvements.
8659
8660 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
8661
8662         * sunplay.c (init_device): To play sounds correctly, the device
8663         apparently needs to be initialized at least once by XEmacs.  Make
8664         it so.
8665
8666 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8667
8668         * redisplay.c (add_margin_runes): Add text image glyph
8669           handling.
8670
8671 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8672
8673         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
8674         gcc is newer than 2.5.
8675
8676 2000-04-06  Colin Rafferty  <colin@xemacs.org>
8677
8678         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
8679
8680         * fns.c (size_bit_vector):
8681         * alloc.c (size_vector):
8682         (make_vector_internal):
8683         (make_bit_vector_internal):
8684         (sweep_bit_vectors_1):
8685         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
8686
8687 2000-04-06  Andy Piper  <andy@xemacs.org>
8688
8689         * gmalloc.c (malloc): undo previous change.
8690         (malloc): ditto.
8691         (free): ditto.
8692         (realloc): ditto.
8693
8694 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
8695
8696         * line-number.c (buffer_line_number): Revert to former version.
8697
8698 2000-04-06  Andy Piper  <andy@xemacs.org>
8699
8700         * gmalloc.c (malloc): add error checking.
8701         (malloc): ditto.
8702         (free): ditto.
8703         (realloc): ditto.
8704
8705         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
8706         button_item_to_widget_value arg.
8707
8708         * glyphs-x.c (x_button_instantiate): add extra
8709         button_item_to_widget_value arg.
8710         (x_progress_gauge_instantiate): ditto.
8711         (x_edit_field_instantiate): ditto.
8712         (x_label_instantiate): ditto.
8713
8714         * gui-x.c (gui_items_to_widget_values_1): add extra
8715         button_item_to_widget_value arg.
8716         (button_item_to_widget_value): add extra menu_item_p arg.
8717
8718         * gui-x.h: change signature of button_item_to_widget_value.
8719
8720         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
8721         button_item_to_widget_value arg.
8722
8723 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8724
8725         * buffer.h (struct buffer): auto_save_modified should be long.
8726
8727 2000-04-05  Andy Piper  <andy@xemacs.org>
8728
8729         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
8730         type.
8731         (button_query_geometry): give a little more room so that athena
8732         buttons fit.
8733
8734 2000-04-05  Andy Piper  <andy@xemacs.org>
8735
8736         * faces.c (complex_vars_of_faces): The widget face should inherit
8737         the font of the gui-element face.
8738
8739 2000-04-04  Andy Piper  <andy@xemacs.org>
8740
8741         * glyphs-x.c (x_button_update): new function. unconditionally
8742         update a button's state when the instance is dirty.
8743         (image_instantiator_format_create_glyphs_x): add x_button_update.
8744         (x_widget_instantiate): remove old resize cruft.
8745
8746 2000-04-02  Andy Piper  <andy@xemacs.org>
8747
8748         * frame.c (change_frame_size_1): The introduction of gutters means
8749         that we need to allow 0 as a potential frame dimension.
8750
8751 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8752
8753         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
8754         image glyph if allow_cursor.
8755         (add_hscroll_rune): Don't allow cursor to border glyph.
8756         (create_text_block): Ditto.
8757
8758         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
8759         text not in buffer.
8760         (redisplay_output_layout): Call ensure_face_cachel_complete for
8761         text image glyph.
8762
8763
8764 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8765
8766         * redisplay.c (add_glyph_rune): Adding text image as text runes.
8767
8768         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
8769         not in buffer
8770
8771         * redisplay-tty.c (tty_output_display_block): Delete the routine
8772         for text image glyph
8773         * redisplay-x.c (x_output_display_block): ditto
8774         * redisplay-msw.c (mswindows_output_display_block): ditto
8775
8776 2000-02-02  Mike Alexander  <mta@arbortext.com>
8777
8778         Note: Some of these were committed by accident as part of other
8779         patches.
8780
8781         * regex.c (regex_compile): Avoid compiler warnings.
8782
8783         * ntproc.c (sys_spawnve): Avoid compiler warnings.
8784
8785         * nt.h: Declare term_ntproc correctly.
8786
8787         * nt.c: Remove incorrect declaration of get_home_directory which
8788         is declared correctly in lisp.h.
8789
8790         * keymap.c (get_keyelt): Avoid compiler warnings.
8791         (raw_lookup_key_mapper): Avoid compiler warnings.
8792
8793         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
8794
8795         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
8796
8797         * filemode.c (mode_string): Avoid compiler warnings.
8798
8799         * file-coding.c (Fcoding_system_aliasee): Add return statement to
8800         avoid warning.
8801
8802         * events-mod.h: Undef some things that winuser.h defines differently.
8803
8804         * data.c (Faset): Avoid compiler warnings.
8805
8806         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
8807
8808 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8809
8810         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
8811         Fall through to simple beep on error.
8812         Replace "extern" by real header file.
8813
8814         * linuxplay.c: Use nativesound.h
8815         (play_sound_data): Return error code. Be less verbose on error.
8816
8817         * sunplay.c: Use nativesound.h
8818         (play_sound_data): Return error code. Be less verbose on error.
8819
8820         * ntplay.c: Use nativesound.h
8821         (play_sound_data): Return fake error code
8822
8823         * sgiplay.c: Use nativesound.h
8824         (play_sound_data): Return error code
8825
8826         * hpplay.c: Use nativesound.h, partially implement
8827         new error code. Break compilation until finished.
8828         (play_sound_data): error code.
8829
8830         * nativesound.h (play_sound_file):
8831           (play_sound_data): Prototype in new header.
8832
8833 2000-03-31  Andy Piper  <andy@xemacs.org>
8834
8835         * glyphs-widget.c: (button_query_geometry): new function. Adjust
8836         for toggle and radio buttons.
8837         (image_instantiator_buttons): use it.
8838
8839 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
8840
8841         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
8842         (x_update_horizontal_scrollbar_callback): Return if no mirror was
8843         found. Scrollbar event probably belonged to some old config.
8844
8845 2000-03-31  Andy Piper  <andy@xemacs.org>
8846
8847         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
8848         than 1.
8849         (initialize_widget_image_instance): default layout to
8850         LAYOUT_HORIZONTAL rather than 0.
8851         (widget_instantiate): reverse the item list at the end rather than
8852         every iteration.
8853         (layout_layout): re-code for the border text at the front of the
8854         item list rather than at the end.
8855         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
8856         provided by the user.
8857         (widget_query_geometry): comment.
8858
8859 2000-03-30  Andy Piper  <andy@xemacs.org>
8860
8861         * glyphs-widget.c (image_instantiator_layout): allow standard
8862         widget keywords in layouts.
8863
8864         * gutter.c (output_gutter): cope with nil gutter contents.
8865
8866         * frame.c (Fset_frame_properties): add gutter docs.
8867
8868 2000-03-29  Andy Piper  <andy@xemacs.org>
8869
8870         * toolbar-msw.c (TBSTYLE_FLAT): add.
8871         (mswindows_output_toolbar): minor fiddling.
8872
8873 2000-03-29  Andy Piper  <andy@xemacs.org>
8874
8875         * gutter.c (output_gutter): force gutter size recalculation if
8876         what we are trying to display won't fit.
8877         (update_gutter_geometry): new function. A per-gutter version of
8878         update_frame_gutter_geometry.
8879         (update_frame_gutter_geometry): use it.
8880         (redraw_exposed_gutter): add extra debugging output.
8881
8882 2000-03-28  Mike Alexander  <mta@arbortext.com>
8883
8884         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
8885         (pdump_file_unmap): Implement it on Windows
8886         (pdump_file_get): Save alocated handles for pdump_file_unmap
8887
8888 2000-03-28  Andy Piper  <andy@xemacs.org>
8889
8890         * gui.c (get_gui_callback): treat Quit specially.
8891
8892 2000-03-27  Andy Piper  <andy@xemacs.org>
8893
8894         * glyphs.c (image_instantiate): be careful to check in the same
8895         way we assigned.
8896
8897 2000-03-27  Didier Verna  <didier@xemacs.org>
8898
8899         * config.h.in: define the proper SMART_INCLUDE macro.
8900         handle renaming of `foo_h_path' to `foo_h_file'.
8901
8902         * database.c: ditto.
8903
8904         * emacs.c: ditto.
8905
8906         * linuxplay.c: ditto.
8907
8908         * terminfo.c: ditto.
8909
8910         * tooltalk.h: ditto.
8911
8912 2000-03-27  Andy Piper  <andy@xemacs.org>
8913
8914         * glyphs-msw.c (mswindows_update_widget): make sure the widget
8915         gets updated whenever the face might have changed.
8916
8917 2000-03-26  Mike Alexander  <mta@arbortext.com>
8918
8919         * dumper.c (pdump_resource_free): Fix the comment.
8920
8921 2000-03-21  Olivier Galibert  <galibert@pobox.com>
8922
8923         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
8924
8925 2000-03-22  Mike Alexander  <mta@arbortext.com>
8926
8927         * dumper.c: Include Windows headers on Windows
8928         (pdump_resource_free): Add a body to the function
8929         (pdump_load): exe_name -> exe_path and add some comments.
8930
8931 2000-03-25  Mike Alexander  <mta@arbortext.com>
8932
8933         * gui.c (copy_gui_item_tree): Return a value in all cases
8934
8935 2000-03-21  Didier Verna  <didier@xemacs.org>
8936
8937         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
8938         lwlib/config.h.in.
8939         (SMART_INCLUDE): new macro.
8940         (POSTGRES_INCLUDE): new macro to include postgresql headers from
8941         the proper location.
8942
8943         * postgresql.c: use it.
8944
8945         * inline.c: ditto.
8946
8947 2000-03-24  Andy Piper  <andy@xemacs.org>
8948
8949         * gutter.c (redraw_exposed_gutters): must be "in display" when we
8950         do this.
8951
8952 2000-03-24  Andy Piper  <andy@xemacs.org>
8953
8954         * redisplay-output.c (compare_runes): use image_instance_changed
8955         to detect changes. Do not depend on glyphs_changed, only depend on
8956         dirtiness.
8957          (redisplay_output_layout): add debug messages.
8958         (compare_runes): ditto.
8959
8960         * glyphs.h: declare new functions.
8961         (struct Lisp_Image_Instance): remove percent and associated
8962         accessors.
8963
8964         * gui.h: declare new copying functions.
8965
8966         * gui.c (copy_gui_item_tree): new function.
8967         (copy_gui_item): new function.
8968         (gui_item_id_hash): revert to standard hash.
8969         (gui_item_hash): ditto.
8970         (gui_item_hash_internal): deleted.
8971         (mark_gui_item): mark value.
8972         (gui_item_add_keyval_pair): add value.
8973         (gui_item_init): ditto.
8974         (gui_add_item_keywords_to_plist): ditto.
8975         (gui_item_equal): ditto.
8976         (syms_of_gui): add Q_value.
8977
8978         * glyphs-x.c (x_progress_gauge_update): use pending items and
8979         value for setting the state.
8980         (x_update_widget): don't set items from pending here.
8981
8982         * glyphs-widget.c (update_widget): update items here.
8983         (progress_gauge_set_property): use items for storing value. Put
8984         new value in pending items.
8985
8986         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
8987         items for new value. Convert percent -> value.
8988         (mswindows_tab_control_update): don't update items here.
8989
8990         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
8991         (update_subwindow): ditto.
8992         (image_instance_changed): new function. Compare hash values and
8993         past and present widget items.
8994         (image_instantiate): We more careful about where we instantiate
8995         things.
8996         (image_instantiate): add error checking.
8997
8998         * gutter.c (syms_of_gutter): use -hook.
8999
9000 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9001
9002         * console-tty.c (Fset_console_tty_input_coding_system): Use
9003         Qkeyboard.
9004         (Fset_console_tty_output_coding_system): Use Qterminal.
9005         (tty_init_console): Use Qkeyboard and Qterminal.
9006
9007 2000-03-21  Ben Wing  <ben@xemacs.org>
9008
9009         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9010         From Mike Alexander <mta@arbortext.com>.
9011
9012 2000-03-21  Ben Wing  <ben@xemacs.org>
9013
9014         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9015         process brokenness.  Proper implementation to come.
9016         * callproc.c:
9017         Rename call-process-internal to old-call-process-internal.
9018         New impl. in process.el.
9019
9020 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9021
9022         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9023
9024 2000-03-20  Andy Piper  <andy@xemacs.org>
9025
9026         * glyphs.c (full_list_hash): make hashes of the same elements in
9027         different orders return different values.
9028
9029 2000-03-20  Martin Buchholz <martin@xemacs.org>
9030
9031         * XEmacs 21.2.32 is released.
9032
9033 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9034
9035         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9036         (DFC_MALLOC_USE_CONVERTED_DATA):
9037         Add aliasing-safe casts to allow use with char* or unsigned char*
9038         lvalues.
9039
9040         * eldap.c (Fldap_open):
9041         (Fldap_search_basic):
9042         (Fldap_add):
9043         (Fldap_modify):
9044         Make C++-compilable.
9045         Make sure GCPRO'ed variables are initialized.
9046         Use temp variables to avoid repeated calls to Flength.
9047
9048 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9049
9050         * sysfile.h:
9051         Make sure PATH_MAX is always defined.
9052         Include limits.h for PATH_MAX.
9053         Deprecate use of MAXPATHLEN.
9054
9055 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9056
9057         * emacs.c: Add reinit_vars_of_fileio.
9058         * symsinit.h: Add reinit_vars_of_fileio.
9059         * fileio.c (reinit_vars_of_fileio): New.
9060         * fileio.c (Fmake_temp_name):
9061         Initialize temp_name random number from microseconds to make
9062         collisions even less likely.  Initialize always at process startup
9063         time.  (make-temp-name) used to return the same file name twice in
9064         a row when PDUMP.
9065         Random stylistic fiddling.
9066         Comment fixes.
9067
9068 2000-03-20  Andy Piper  <andy@xemacs.org>
9069
9070         * glyphs.c (image_instantiate): allow text glyphs to be
9071         instantiated in the minibuffer window.
9072
9073 2000-03-19  Andy Piper  <andy@xemacs.org>
9074
9075         * glyphs.c (image_instance_hash): be careful about which items we
9076         hash on.
9077
9078         * glyphs-widget.c (tab_control_set_property): record into pending
9079         items rather than the actual items.
9080
9081         * glyphs-x.c (x_update_widget): use pending items to update with.
9082
9083         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9084         to update with.
9085
9086         * glyphs.c (mark_image_instance): mark pending items.
9087
9088         * window.c (Fset_window_configuration): record the buffer.
9089         (Fselect_window): totally revert previous change which breaks many
9090         things.
9091
9092 2000-03-18  Andy Piper  <andy@xemacs.org>
9093
9094         * glyphs-msw.c (mswindows_tab_control_update): force selected
9095         item.
9096
9097         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9098         window domain cache, otherwise we get inconsistencies at
9099         startup. There is something fishy at startup which can lead to the
9100         minibuffer being the selected window when the gutter content is
9101         instantiated.
9102
9103         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9104         gcpros.
9105         (parse_gui_item_tree_children): ditto.
9106         (parse_gui_item_tree_item): ditto.
9107
9108         * glyphs.c (Fupdate_widget_instances): return something.
9109
9110 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9111
9112         * window.c (Fselect_window): Undo 2000-03-17 change.
9113
9114 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9115
9116         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9117         against v7.0 libraries.  Insta-coredump city until the postgres
9118         folks fix it.
9119
9120 2000-03-17  Andy Piper  <andy@xemacs.org>
9121
9122         * faces.c (complex_vars_of_faces): don't give the widget face an
9123         inherited background pixmap.
9124
9125         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9126         selected item.
9127
9128         * event-stream.c (Fdispatch_non_command_events): return something.
9129
9130         * gutter.c (output_gutter): use widget face.
9131         (clear_gutter): ditto.
9132
9133         * NEWS: adjust again.
9134
9135         * window.c (Fselect_window): make sure this runs to completion to
9136         avoid oddities with Fset_window_configuration.
9137         (Fcurrent_window_configuration): in general do not save the
9138         minibuffer as the selected window.
9139
9140         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9141
9142 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9143
9144         * emacs.c (Frunning_temacs_p): Revert previous patch.
9145         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9146
9147 2000-03-16  Andy Piper  <andy@xemacs.org>
9148
9149         * glyphs-x.c (x_tab_control_update): if no widget values then
9150         return.
9151
9152         * NEWS: update for new features.
9153
9154         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9155         synthetic event to the native system.
9156         (reinit_vars_of_event_Xt): set force_event_pending to
9157         emacs_Xt_force_event_pending.
9158
9159         * events.h (struct event_stream): add force_event_pending.
9160
9161         * specifier.c (recompute_one_cached_specifier_in_window): add
9162         comment.
9163
9164         * redisplay.c (redisplay_frame): don't call
9165         update_frame_subwindows. Reset subwindow cachels when
9166         subwindows_changed, removing this was an optimization too far.
9167
9168         * redisplay-output.c (compare_runes): reorganize so that we catch
9169         glyph changes when we want them. Set optimize_output when this
9170         would help layouts.
9171         (redisplay_output_layout): remove frame_really_changed, use
9172         optimize_output instead.
9173
9174         * redisplay-msw.c (mswindows_output_display_block): reset
9175         optimize_output after outputting a glyph.
9176         * redisplay-x.c (x_output_display_block): ditto.
9177         * redisplay-tty.c (tty_output_display_block): ditto.
9178
9179         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9180         functions.
9181         (gutter_specs_changed): do specific gutter positions.
9182         (top_gutter_specs_changed): new function. Only update the
9183         specified gutter specs.
9184         (bottom_gutter_specs_changed): ditto.
9185         (left_gutter_specs_changed): ditto.
9186         (right_gutter_specs_changed): ditto.
9187
9188         * gui.c (gui_item_hash_internal): new function, does a real hash.
9189         (gui_item_id_hash): use it.
9190         (gui_item_hash): hash the eval'ed gui_item.
9191
9192         * gui-x.c (popup_selection_callback): send an eval event to call
9193         Fupdate_widget_instances.
9194
9195         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9196         to call Fupdate_widget_instances.
9197
9198         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9199         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9200
9201         * glyphs.c: (update_frame_subwindows): deleted.
9202         (Fupdate_widget_instances): new function for updating the dirty
9203         state of widgets that might have changed.
9204         (syms_of_glyphs): add Qupdate_widget_instances.
9205         (full_list_hash): hash a list completely.
9206         (image_instance_hash): use it for items and properties.
9207
9208         * frame-msw.c (mswindows_size_frame_internal): remove unused
9209         variable.
9210
9211         * faces.h (struct face_cachel): fix comment.
9212
9213         * event-stream.c (Fdispatch_non_command_events): new
9214         function. Process non-command events, forcing an event cycle
9215         beforehand.
9216         (syms_of_event_stream): declare.
9217         (event_stream_force_event_pending): new function. Force an event
9218         on the native event queue so that an event cycle will occur next
9219         time we check.
9220
9221         * event-msw.c:
9222         (struct ntpipe_shove_stream):
9223         (mswindows_enqueue_dispatch_event):
9224         (mswindows_dequeue_dispatch_event):
9225         (mswindows_cancel_dispatch_event):
9226         (mswindows_pump_outstanding_events):
9227         (mswindows_drain_windows_queue):
9228         (mswindows_handle_paint):
9229         (mswindows_wnd_proc):
9230         (mswindows_key_to_emacs_keysym):
9231         (get_process_input_waitable):
9232         (emacs_mswindows_delete_stream_pair): re-indent file.
9233         (mswindows_need_event): do not process further fds if the windows
9234         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9235         fixes the 100% cpu problem.
9236         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9237
9238 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9239
9240         * alloc.h: New.
9241         * dumper.h: New.
9242         * dumper.c: New.
9243
9244         * emacs.c: Moved dump file searching to dumper.c.
9245         (Frunning_temacs_p): Fixed.
9246
9247         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9248         last_lrecord_type_index_assigned.
9249
9250 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9251
9252         * symsinit.h: Added reinit parameter to init_console_stream
9253         declaration.
9254
9255         * lisp.h: Added file parameter to pdump_load declaration.
9256
9257         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9258         support.  Added dump file searching.
9259
9260         * config.h.in: Added EMACS_PROGNAME.
9261
9262         * console-stream.c (init_console_stream): Fix reinitialisation
9263         when running from temacs.
9264
9265         * alloc.c (pdump): Add id support.
9266         (pdump_load): Add file parameter and signature/id support.
9267
9268         * Makefile.in.in: Add full pdump support.
9269
9270 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9271
9272         * postgresql.c: Update documentation to reflect latest code
9273         status.
9274         (print_result): Show tuple counts in printed representation when
9275         appropriate.
9276         (Fpq_put_nbytes): MULE-ize.
9277         (Fpq_get_line_async): Ditto.
9278
9279 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9280
9281         * postgresql.c (Fpq_lo_import): Fix return value.
9282         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9283
9284 2000-03-13  Ben Wing  <ben@xemacs.org>
9285
9286         * alloc.c (pdump_load):
9287         Fix compile warning under mswin.
9288
9289 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9290
9291         * postgresql.c: Mule-ization, bug fixes.
9292         Use PG_CODING to encapsulate coding system name changes.
9293         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9294         (pg-coding-system): Create.
9295
9296         (Fpq_conn_defaults): Mule-ize.
9297         (Fpq_connectdb): Mule-ize & bug fix.
9298         (Fpq_connect_start): Mule-ize.
9299         (Fpq_set_client_encoding): Mule-ize.
9300         (Fpq_finish): Document `DEAD' connection status.
9301         (Fpq_clear): Ditto.
9302         (Fpq_pgconn): Mule-ize.
9303         (Fpq_exec): Mule-ize & bug fix.
9304         (Fpq_send_query): Ditto.
9305         (Fpq_get_result): Ditto.
9306         (Fpq_res_status): Mule-ize.
9307         (Fpq_result_error_message): Mule-ize.
9308         (Fpq_ntuples): fix comments.
9309         (Fpq_fname): Mule-ize.
9310         (Fpq_fnumber): Mule-ize.
9311         (Fpq_ftype): fix comments.
9312         (Fpq_get_value): Mule-ize.
9313         (Fpq_cmd_status): Ditto.
9314         (Fpq_cmd_tuples): Ditto.
9315         (Fpq_oid_value): Ditto.
9316         (Fpq_notifies): Ditto.
9317         (Fpq_lo_import): Ditto.
9318         (Fpq_lo_export): Ditto.
9319         (Fpq_get_line): Ditto.
9320         (Fpq_put_line): Mule-ize and bug fix.
9321         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9322
9323 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9324
9325         * postgresql.c (vars_of_postgresql): Mule-ize.
9326         (Fpq_conn_defaults): Ditto.
9327
9328 2000-03-12  Ben Wing  <ben@xemacs.org>
9329
9330         * alloc.c (Fmake_byte_code):
9331         * alloc.c (debug_string_purity_print):
9332         * alloc.c (pdump_backtrace):
9333         * alloc.c (pdump_get_indirect_count):
9334         * alloc.c (pdump_register_sub):
9335         * alloc.c (pdump_register_object):
9336         * alloc.c (pdump_register_struct):
9337         * alloc.c (pdump_dump_data):
9338         * alloc.c (pdump_reloc_one):
9339         Minor cleanups.
9340
9341         * console-msw.c:
9342         * console-msw.c (GetConsoleHwnd):
9343         * console-msw.c (msw_hide_console):
9344         * console-msw.c (msw_show_console):
9345         * console-msw.c (msw_ensure_console_buffered):
9346         * console-msw.c (msw_output_console_string):
9347         * console-msw.c (console_type_create_mswindows):
9348
9349         a) Added functions to manipulate the console window for use with
9350         shell support.
9351
9352         b) Added support for writing text to the console, which is now
9353         used under Windows when xemacs is not being run non-interactively,
9354         to write text that would otherwise be destined for stdout because
9355         under these circumstances, text written to stdout tends to
9356         disappear and not be seen.
9357
9358         * console-msw.h:
9359         * event-Xt.c:
9360         * event-Xt.c (x_event_to_emacs_event):
9361         * event-Xt.c (describe_event_window):
9362         * events-mod.h (XEMACS_MOD_CONTROL):
9363         * events.c:
9364         * events.c (Fmake_event):
9365         * events.c (character_to_event):
9366         * events.c (event_to_character):
9367         * events.c (format_event_object):
9368         * events.c (Fevent_modifiers):
9369         * events.h:
9370         * events.h (struct key_data):
9371         * events.h (struct button_data):
9372         * events.h (struct misc_user_data):
9373         * frame-x.c (Fcde_start_drag_internal):
9374         * frame-x.c (Foffix_start_drag_internal):
9375         * gpmevent.c (Freceive_gpm_event):
9376         * keymap.c:
9377         * keymap.c (bucky_sym_to_bucky_bit):
9378         * keymap.c (control_meta_superify):
9379         * keymap.c (make_key_description):
9380         * keymap.c (keymap_lookup_directly):
9381         * keymap.c (create_bucky_submap):
9382         * keymap.c (keymap_store):
9383         * keymap.c (define_key_check_and_coerce_keysym):
9384         * keymap.c (define_key_parser):
9385         * keymap.c (define_key_alternate_name):
9386         * keymap.c (Fdefine_key):
9387         * keymap.c (raw_lookup_key_mapper):
9388         * keymap.c (struct map_keymap_unsorted_closure):
9389         * keymap.c (map_keymap_unsorted_mapper):
9390         * keymap.c (map_keymap_sort_predicate):
9391         * keymap.c (map_keymap_sorted):
9392         * keymap.c (accessible_keymaps_mapper_1):
9393         * keymap.c (where_is_recursive_mapper):
9394         * keymap.c (describe_map_mapper):
9395         * keymap.c (describe_map_sort_predicate):
9396         * keymap.c (describe_map):
9397         * keymap.c (complex_vars_of_keymap):
9398         And a number of other files, the key modifier preprocessor
9399         constants that xemacs uses have names that conflict with constants
9400         defined under MS Windows for other purposes, so they were renamed
9401         to begin with the prefix XEMACS_. The variables that hold such
9402         modifiers were changed to consistently be of type int to fix
9403         various compile warnings.
9404
9405         * console.c (complex_vars_of_console):
9406         * device.c:
9407         * device-msw.c:
9408         * device-msw.c (mswindows_finish_init_device):
9409         * device-msw.c (msw_get_workspace_coords):
9410         * device-msw.c (mswindows_device_system_metrics):
9411         and various other files, added support for a new
9412         device property called offset-workspace which returns the position
9413         of the upper left corner of the workspace area and goes along with
9414         the existing size-workspace property.
9415
9416         * dialog-msw.c:
9417         * dialog-msw.c (push_bufbyte_string_as_unicode):
9418         * dialog-msw.c (mswindows_popup_dialog_box):
9419         Added support for XEmacs-style accelerator specifications in
9420         button text.  Note: I didn't add support for this under X Windows,
9421         and somebody needs to do this.
9422
9423         * dialog.c:
9424         * dialog.c (Fpopup_dialog_box):
9425         Documented the support for accelerators that was just mentioned.
9426
9427         editfns.c (get_home_directory): Changed behavior under Windows
9428         when HOME not defined; former behavior was irretrievably broken.
9429
9430         * emacs.c:
9431         * emacs.c (main_1):
9432         * emacs.c (main):
9433         * minibuf.c (clear_echo_area_internal):
9434         * minibuf.c (echo_area_append):
9435         * print.c:
9436         * print.c (std_handle_out_external):
9437         * print.c (std_handle_out_va):
9438         * print.c (fatal):
9439         * print.c (write_string_to_stdio_stream):
9440         * print.c (output_string):
9441         * print.c (debug_print):
9442         * print.c (debug_backtrace):
9443         * print.c (debug_short_backtrace):
9444         Cleaned up the code that prints text to stdout so that this can be
9445         changed to output into a console window instead under MS Windows,
9446         as described above.
9447
9448         * eval.c:
9449         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9450         * eval.c (internal_catch):
9451         * eval.c (unwind_to_catch):
9452         * eval.c (throw_or_bomb_out):
9453         * eval.c (condition_case_1):
9454         * eval.c (signal_1):
9455         * eval.c (check_error_state_sanity):
9456         * eval.c (call_with_suspended_errors_1):
9457         * eval.c (call_with_suspended_errors):
9458         * eval.c (reinit_vars_of_eval):
9459         Added code to catch throw loops and check for a pesky bug that may
9460         be gone now.
9461
9462         * event-msw.c:
9463         * event-msw.c (key_needs_default_processing_p):
9464         * event-msw.c (mswindows_wnd_proc):
9465         * event-msw.c (mswindows_modifier_state):
9466         * event-msw.c (emacs_mswindows_quit_p):
9467         * event-msw.c (vars_of_event_mswindows):
9468         a) Added support for using the alt key to select menu items as is
9469         standard under MS Windows.  This is controlled using the variable
9470         menu-accelerator-enabled, just like under X Windows.  There is an
9471         option on the options menu to turn this support on.  I really
9472         think that it should be on by default under Windows, but I'm not
9473         going to make this change yet.
9474
9475         b)  Added support for dynamic display size changes under Windows.
9476
9477         * event-stream.c:
9478         * event-stream.c (maybe_echo_keys):
9479         * event-stream.c (Fnext_event):
9480         * event-stream.c (command_builder_find_leaf):
9481         * event-stream.c (lookup_command_event):
9482         * event-stream.c (execute_command_event):
9483         * event-stream.c (pre_command_hook):
9484         * event-stream.c (post_command_hook):
9485         * event-stream.c (syms_of_event_stream):
9486         * event-stream.c (vars_of_event_stream):
9487         * event-stream.c (complex_vars_of_event_stream):
9488         * events.h (struct command_builder):
9489
9490         a) Tried to clean up a little bit the horribly written x-specific
9491         accelerator code that crept into this file.  I moved this code
9492         into menubar-x.c where it belongs. I also needed to move the
9493         command builder structure into the file events.h because it is
9494         accessed directly by this accelerator code.  What I didn't do, but
9495         which should be done at some point, is to properly abstract this
9496         code using device methods instead of the kludgy way that it
9497         currently hooks into the event code.
9498
9499         b) Added the lisp variables this-command-properties and
9500         last-command- properties, which should be used to synchronize two
9501         adjacent commands in preference to playing games with the variable
9502         this-command, which is typically what happens.
9503
9504         c) Added some slightly nasty code to hook into the lisp support
9505         for shifted- motion-key selection.  This is actually necessary for
9506         somewhat complicated reasons, which are described in
9507         simple.el. (NB: I think the proper thing would be to have the code
9508         that calls the pre and post command hooks also call out to generic
9509         lisp functions in simple.el, where all built-in stuff could be
9510         added.  I will think about this more.)
9511
9512         * event-unixoid.c (poll_fds_for_input):
9513         * lread.c (readchar):
9514         * redisplay-tty.c (tty_clear_frame):
9515         * redisplay-x.c (x_get_gc):
9516         * signal.c (interrupt_signal):
9517         And a whole bunch of other files: fixed up places that printed
9518         directly to stderr to instead call the function stderr_out so that
9519         the changes I made under Windows work correctly.
9520
9521         * filemode.c (mode_string):
9522         Warning fixes.
9523
9524         * frame-msw.c:
9525         * frame-msw.c (mswindows_size_frame_internal):
9526         Fixed the computation of frame size and position to keep the frame
9527         within the workspace area, rather than within the physical
9528         dimensions of the screen, so that the frame doesn't overlap window
9529         manager decorations, such as the start menu and toolbar, typically
9530         at the bottom of the screen.
9531
9532         * frame.c (vars_of_frame):
9533         Changed the default frame title format under MS Windows to consist
9534         of buffername-XEmacs, which is standard under MS Windows.  I think
9535         it might be a good idea to change this everywhere because I think
9536         it is superior to the current frame title format, but this is the
9537         kind of change that is likely to cause some people to get annoyed,
9538         so I'm not making it.
9539
9540         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9541
9542         * gui-msw.c (mswindows_handle_gui_wm_command):
9543         Fixed compile warnings.
9544
9545         * gui-x.c:
9546         * gui-x.c (strdup_and_add_accel):
9547         * gui-x.c (button_item_to_widget_value):
9548         * gui-x.h:
9549         Added code to automatically put an accelerator onto the beginning
9550         of menu items that don't have one as is now the standard, and is
9551         described more later.  Also fixed things so that the menu item
9552         name can be an evaluated expression, again a new standard.
9553
9554         * gui.c:
9555         * gui.c (gui_item_add_keyval_pair):
9556         * gui.c (make_gui_item_from_keywords_internal):
9557         * gui.c (gui_add_item_keywords_to_plist):
9558         * gui.c (gui_item_accelerator):
9559         * gui.c (gui_name_accelerator):
9560         * gui.c (gui_item_included_p):
9561         * gui.c (gui_item_display_flush_left):
9562         * gui.c (gui_item_display_flush_right):
9563         * gui.c (parse_gui_item_tree_item):
9564         * gui.c (parse_gui_item_tree_children):
9565         * gui.c (parse_gui_item_tree_list):
9566         Mule-ized.  Cleanup.  GCPRO addition.
9567
9568         * line-number.c (buffer_line_number):
9569         * lisp.h:
9570         * lisp.h (EMACS_INT_MAX):
9571         Added the manifest constant EMACS_INT_MIN corresponding to the
9572         existing constant EMACS_INT_MAX.  This is partially to fix compile
9573         warnings under Windows, and partly for cleanliness.
9574
9575         * menubar-msw.c:
9576         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9577         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9578         * menubar-msw.c (displayable_menu_item):
9579         * menubar-msw.c (populate_menu_add_item):
9580         * menubar-msw.c (populate_or_checksum_helper):
9581         * menubar-msw.c (populate_menu):
9582         * menubar-msw.c (update_frame_menubar_maybe):
9583         * menubar-msw.c (prune_menubar):
9584         * menubar-msw.c (msw_char_is_accelerator):
9585         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9586         * menubar-msw.c (mswindows_handle_wm_command):
9587         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9588         * menubar-msw.c (mswindows_handle_wm_initmenu):
9589         * menubar-msw.c (mswindows_update_frame_menubars):
9590         * menubar-msw.c (mswindows_free_frame_menubars):
9591         * menubar-msw.c (mswindows_popup_menu):
9592         Fixed a bug in handling accelerators where an extra character
9593         would be displayed in the menu item.  Also generalized the
9594         function displayable_menu_item because it is now used by the
9595         dialog box code as well.  And finally, added code in the functions
9596         that create the menubar to extract a list of accelerators for the
9597         top level menubar, which is used in the event code to determine
9598         whether a particular alt-key combination should be used to invoke
9599         a menu item, or should be passed through to access the standard
9600         XEmacs keymap binding for this key combination.
9601
9602         Much needed GCPROing.
9603
9604         * menubar-x.c:
9605         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9606         * menubar-x.c (menu_item_descriptor_to_widget_value):
9607         * menubar-x.c (restore_in_menu_callback):
9608         * menubar-x.c (x_popup_menu):
9609         * menubar-x.c (menu_move_up):
9610         * menubar-x.c (menu_move_down):
9611         * menubar-x.c (menu_move_left):
9612         * menubar-x.c (menu_move_right):
9613         * menubar-x.c (menu_select_item):
9614         * menubar-x.c (command_builder_operate_menu_accelerator):
9615         * menubar-x.c (menu_accelerator_junk_on_error):
9616         * menubar-x.c (command_builder_find_menu_accelerator):
9617         * menubar-x.c (Faccelerate_menu):
9618         * menubar.h:
9619         Moved a whole bunch of code here that was previously in
9620         event-stream.c as described above.  There is also code connected
9621         to the new standard of adding an accelerator to the beginning of
9622         menu items that don't have one as described above and below.
9623
9624         * menubar.c:
9625         * menubar.c (menu_parse_submenu_keywords):
9626         * menubar.c (Fmenu_find_real_submenu):
9627         * menubar.c (Fnormalize_menu_item_name):
9628         * menubar.c (syms_of_menubar):
9629         * menubar.c (vars_of_menubar):
9630         * menubar.c (complex_vars_of_menubar):
9631
9632         a) Cleaned up a bunch of documentation and improved it.
9633
9634         b) XEmacs now automatically adds an accelerator onto the beginning
9635         of any menu items that don't have one.  I did this because there
9636         will inevitably be some menu items on the main menubar that don't
9637         have accelerators on them because the package that adds that
9638         particular menu item hasn't yet been fixed up to have accelerators
9639         in them and it looked rather strange to have some items with and
9640         some items without accelerators, especially since even in items
9641         without accelerators, you can, at least under windows, still
9642         access the item through an accelerator corresponding to the first
9643         character in the item's name.  If people don't like this behavior,
9644         I can add a variable to turn it off optionally, but I'm not sure
9645         this is a good idea because we really do need to have accelerators
9646         on all of the menu items, and if a package doesn't like the
9647         accelerators being put on the first character, then it should put
9648         the accelerators where they belong.
9649
9650         c) I made a behavior change, which is that the descriptor that
9651         specifies the text of the menu item, which formerly was just a
9652         string, can now also be an evaluated expression.  This makes this
9653         descriptor parallel with all of the others, which could also be
9654         evaluated expressions.  This also obviates the need for the
9655         keyword :label, which was previously listed in the documentation
9656         as unimplemented, and which was for the same purpose.
9657
9658         d) GCPROing.
9659
9660         * ntproc.c:
9661         * ntproc.c (new_child):
9662         * ntproc.c (sys_spawnve):
9663         * ntproc.c (find_child_console):
9664         * ntproc.c (sys_kill):
9665         Fixed compile warnings.  By the way, this file should really go
9666         away entirely, and this will happen as soon as Kirill makes his
9667         final round of process cleanups, which affect the function
9668         call-process.
9669
9670         * process-nt.c:
9671         * process-nt.c (struct nt_process_data):
9672         * process-nt.c (find_process_from_pid):
9673         * process-nt.c (send_signal_the_nt_way):
9674         * process-nt.c (enable_child_signals):
9675         * process-nt.c (find_child_console):
9676         * process-nt.c (send_signal_the_95_way):
9677         * process-nt.c (nt_finalize_process_data):
9678         * process-nt.c (ensure_console_window_exists):
9679         * process-nt.c (nt_create_process):
9680         * process-nt.c (nt_kill_child_process):
9681         * process-nt.c (nt_kill_process_by_pid):
9682         * process-nt.c (nt_open_network_stream):
9683         * process-nt.c (vars_of_process_nt):
9684         Copied over code from Emacs 20.5 to correctly send signals to sub-
9685         processes under Windows 95.  Also added code to automatically
9686         create and hide console window when a sub-process is created under
9687         Windows 95, which obviates the need for the separate runemacs.exe
9688         executable, and finally implemented some variables that were
9689         implemented in Emacs 20.5, but previously not in XEmacs.  These
9690         include mswindows- start-process-share-console and
9691         mswindows-start-process-inherit-error-mode. (Both of these only
9692         apply to Windows 95.)
9693
9694         * regex.c (regex_compile): Fixed a compile warning.
9695
9696         * select-msw.c:
9697         * select-msw.c (mswindows_own_selection):
9698         * select-msw.c (mswindows_get_foreign_selection):
9699         * select-msw.c (mswindows_disown_selection):
9700         * select-msw.c (console_type_create_select_mswindows):
9701         * select-msw.c (syms_of_select_mswindows):
9702         Cleaned up the file and implemented the device method
9703         selection_exists_p, which had accidentally been left out.  Also
9704         removed four lisp functions that were remnants from before the
9705         time when the selection code was properly device abstracted.
9706         These functions are no longer needed because there are generic
9707         equivalents, and because they were added recently and don't exist
9708         in FSF Emacs, I don't think there's any problem with just deleting
9709         them.
9710
9711         * sysdep.c:
9712         * sysdep.c (sys_subshell):
9713         Fixed a compile warning, although in this case there's probably
9714         something wrong with this code, and it ought to be looked into
9715         more thoroughly by somebody who understands it.
9716
9717         * window.c:
9718         * window.c (Fwindow_text_area_height):
9719         * window.c (Fwindow_width):
9720         * window.c (Fwindow_full_width):
9721         * window.c (Fwindow_pixel_width):
9722         * window.c (debug_print_window):
9723         * window.c (syms_of_window):
9724         Added functions window-text-area-height and window-full-width,
9725         which are functions for returning various width and height
9726         characteristics of a window. (One of these functions is necessary
9727         for making the file dialog box work correctly, and the other one
9728         was added for completeness.)  Also added a table to the
9729         documentation for window-height which describes the entire scheme
9730         for accessing width and height characteristics of a window.
9731
9732 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9733
9734         * nt.c (fstat): Added a comment for another problem with
9735         non-encapsulated [f]stat(), reported by Adrian Aichner
9736         <aichner@ecf.teradyne.com>.
9737
9738 2000-03-11  Andy Piper  <andy@xemacs.org>
9739
9740         * window.c (make_dummy_parent): initialize subwindow instance
9741         cache.
9742         (Fset_window_configuration): zero extent_modiff.
9743
9744 2000-03-10  Andy Piper  <andy@xemacs.org>
9745
9746         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
9747         more changes can be triggered.
9748         (Fredisplay_frame): ditto.
9749         (Fredraw_device): ditto.
9750         (Fredisplay_device): ditto.
9751         (redisplay_frame): make non-static.
9752         (redisplay_frame): call update_frame_gutter_geometry outside of
9753         display proper.
9754
9755         * gutter.h: declare update_frame_gutter_geometry.
9756
9757         * redisplay.h: declare redisplay_frame.
9758
9759         * gutter.c (update_frame_gutter_geometry): move geometry changes
9760         in update_frame_gutters here. Geometry changes can only occur
9761         outside of redisplay.
9762         (update_frame_gutters): remove geometry change code.
9763         (Fredisplay_gutter_area): make sure that we are in display when we
9764         update and that we have flushed any size changes.
9765
9766 2000-03-11  Andy Piper  <andy@xemacs.org>
9767
9768         * alloc.c (pdump_dump_data): remove i & count shadows.
9769
9770 2000-02-27  Mike Alexander  <mta@arbortext.com>
9771
9772         * sysdep.h: Declare pdump_read_file
9773
9774         * sysdep.c (pdump_read_file): New function
9775
9776         * alloc.c (pdump_load): Call pdump_read_file to get the portable
9777         dump data
9778
9779 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9780
9781         * lrecord.h: add `lrecord_type_pgsetenv'.
9782
9783 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
9784
9785         * symsinit.h: declare (vars|syms)_of* functions.
9786         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
9787
9788 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
9789
9790         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
9791
9792         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
9793         GCCs.
9794
9795         * emacs.c (main_1): Call postgres initialization code.
9796
9797         * postgresql.h: New file.  PostgreSQL RDBMS support.
9798         * postgresql.c: New file.
9799
9800 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
9801
9802         * redisplay-output.c (redisplay_output_display_block): Disable
9803         redundant code.
9804
9805 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9806
9807         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
9808         (Fcanna_henkan_next): Ditto.
9809         (Fcanna_bunsetu_henkou): Ditto.
9810         (Fcanna_henkan_kakutei): Ditto.
9811         (Fcanna_henkan_end): Ditto.
9812         (Fcanna_henkan_quit): Ditto.
9813         (Fcanna_henkan_next): Set retun value correctly.
9814         (c2mu): Use unsigned char instead of signed char.
9815
9816 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9817
9818         * emacs.c (main_1): Always call syms_of_gui.
9819         * inline.c: include gui.h
9820
9821 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
9822
9823         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
9824         converted to Lisp_Object.
9825         (Qtop_bottom): New variable.
9826         (syms_of_redisplay): Initialize it.
9827         * redisplay.h (Vvisible_bell): Ditto.
9828         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
9829         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
9830         only flash top and bottom.
9831
9832 2000-03-08  Andy Piper  <andy@xemacs.org>
9833
9834         * buffer.c (Frename_buffer): record new buffer name the right way.
9835
9836 2000-03-08  Andy Piper  <andy@xemacs.org>
9837
9838         * glyphs.c (update_subwindow): increase hash depth so that widget
9839         items get picked up properly.
9840
9841         * redisplay-output.c (compare_runes): increase hash depth so that
9842         widget items get picked up properly.
9843
9844 2000-03-08  Andy Piper  <andy@xemacs.org>
9845
9846         * gutter.c (output_gutter): add some debug.
9847
9848         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
9849         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
9850         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
9851
9852         * redisplay-output.c (compare_runes): use display_hash to
9853         determine if glyphs really are not the same.
9854
9855         * glyphs.c (update_subwindow): check display_hash to see if
9856         anything really needs to be updated. If not then do
9857         nothing. Record the display_hash after updating.
9858         (image_instance_equal): compare the image_instance face also.
9859
9860 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
9861
9862         * redisplay.h: Fix comment style.
9863
9864 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9865
9866         * consle-msw.h (struct mswindows_frame):
9867         Added new member paint_pending to indicate whether a WM_PAINT
9868         magic event has been queued for this frame.
9869
9870         * event-msw.c (mswindows_drain_windows_queue):
9871         Don't queue a WM_PAINT magic event if one is already queued.
9872         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
9873
9874         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
9875
9876 2000-03-07  Didier Verna  <didier@xemacs.org>
9877
9878         * dired.c: #include `regex.h' after `sysfile.h'.
9879
9880 2000-03-06  Martin Buchholz  <martin@xemacs.org>
9881
9882         * sound.c (init_nas_sound): Fix compiler warning.
9883
9884         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
9885         (FREE_STRUCT_P):
9886         (MARK_STRUCT_AS_FREE):
9887         (MARK_STRUCT_AS_NOT_FREE):
9888         Make `gcc -fstrict-aliasing' work properly.
9889
9890 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9891
9892         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
9893         (mswindows_delete_device): Call CoUnnitialize().
9894
9895         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
9896
9897 2000-02-25    <CraigL@DyCon.com>
9898
9899         * process-nt.c: MinGW now has <shellapi.h>, but still needs
9900         <errno.h>.
9901
9902         * sysdep.c: This extern declaration for environ prevents MinGW
9903         from finding the variable in CRTDLL.DLL.
9904
9905         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
9906         windows headers.
9907         (SHGFI_EXETYPE): ..
9908         (WM_MOUSEWHEEL): ..
9909         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
9910         definitions.
9911         (MMRESULT): Removed, now defined in cygwin's windows headers.
9912         (TIMECAPS): ..
9913         (uid_t,gid_t,pid_t,ssize_t): ..
9914         (_timeb): Removed, MinGW defines both _timeb and timeb.
9915         (HAVE_H_ERRNO): Added.
9916         (HAVE_TZNAME): Added, configure is not detecting this.
9917
9918 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
9919
9920         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
9921         * syntax.c (syntax_match): Use it.
9922
9923         * cmds.c: Import auto-fill-chars from FSF Emacs.
9924         (Vauto_fill_chars): New variables.
9925         (internal_self_insert): Check Vauto_fill_chars.
9926         (vars_of_cmds):
9927         Declare auto-fill-chars as a Lisp variable and initialize it.
9928
9929 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9930
9931         * fileio.c (Fmake_symbolic_link):
9932         (Ffile_symlink_p):
9933         Run handlers even if local machine doesn't have symlinks.
9934
9935 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9936
9937         * event-msw.c (mswindows_drain_windows_queue):
9938         Don't generate paint magic events for non-XEmacs frames.
9939
9940 2000-03-05  Andy Piper  <andy@xemacs.org>
9941
9942         * redisplay.c (redisplay_frame): generate_displayable_area and
9943         friends assumes that we are not in GC, we therefore have to make
9944         sure that this doesn't happen.
9945
9946         * gutter.c (calculate_gutter_size): generate_displayable_area
9947         assumes that we are not in GC, we therefore have to make sure that
9948         this doesn't happen.
9949
9950 2000-03-05  Martin Buchholz  <martin@xemacs.org>
9951
9952         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
9953
9954 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9955
9956         * redisplay.c (regenerate_window): Make sure we set a sane value
9957         for end_pos even if we jump out of the loop.
9958         (regenerate_window): Answer Ben's question :-).
9959         (start_end_of_last_line): Add may_error argument.
9960         (start_of_last_line):
9961         (end_of_last_line): Pass may_error = 0.
9962         (end_of_last_line_may_error): New function.
9963         (pixel_to_glyph_translation): Use it, so we don't crash in
9964         event_to_glyph.
9965
9966 2000-03-04  Andy Piper  <andy@xemacs.org>
9967
9968         * window.h (struct window): add gutter_extent_modiff.
9969
9970         * window.c (allocate_window): zero out gutter_extent_modiff.
9971
9972         * redisplay.h: declare sync_display_line_structs.
9973
9974         * redisplay.c (add_glyph_rune): add a better comment.
9975
9976         * redisplay-output.c (sync_display_line_structs): made non-static.
9977         (compare_runes): remove unneccesary glyph cachel access.
9978
9979         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
9980
9981         * gutter.c (output_gutter): don't output the gutter if extent
9982         changes only involve extents in buffers. use 4 sets of display
9983         lines.
9984         (gutter_extent_signal_changed_region_maybe): new function. Mark
9985         extents in gutters as changed.
9986         (update_frame_gutters): use 4 sets of display lines.
9987         (reset_gutter_display_lines): ditto.
9988         (free_frame_gutters): ditto.
9989         (redraw_exposed_gutter): force output of gutters.
9990
9991         * frame.h (struct frame): add 4 sets of gutter display lines.
9992
9993         * extents.c: (extent_changed_for_redisplay): signal changes to
9994         extents in strings in the gutter as well as extents in buffers.
9995
9996 2000-03-02  Andy Piper  <andy@xemacs.org>
9997
9998         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
9999
10000         * frame.c (Fmake_frame): make sure the gutters get initialized
10001         after the frame is visible.
10002         (set_frame_selected_window): re-arrange compilation macros a
10003         little.
10004         (change_frame_size_1): mark gutters changed.
10005
10006         * device.c (Fset_device_class): mark gutters changed.
10007
10008 2000-03-01  Andy Piper  <andy@xemacs.org>
10009
10010         * window.c (window_top_frame_gutter_height): deleted.
10011         (window_bottom_frame_gutter_height): ditto.
10012         (window_left_frame_gutter_height): ditto.
10013         (window_right_frame_gutter_height): ditto.
10014         (window_top_gutter_height): don't use them.
10015         (window_bottom_gutter_height): ditto.
10016         (window_left_gutter_width): ditto.
10017         (window_right_gutter_width): ditto.
10018         (Fsplit_window): ditto.
10019         (Fwindow_pixel_edges): don't use border dimensions here.
10020
10021         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10022         (update_scrollbar_instance): ditto.
10023
10024         * redisplay.c (generate_modeline): don't take gutters into account.
10025         (generate_modeline): ditto.
10026         (redisplay_frame): small gutter display optimization.
10027
10028         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10029
10030         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10031         gutters into account.
10032
10033         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10034         for window position and type.
10035
10036         * gutter.c (get_gutter_coords): fix for frame gutters.
10037         (update_frame_gutters): update frame geometry if the gutters have
10038         changed.
10039         (init_frame_gutters): record current gutter geometries.
10040
10041         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10042         var.
10043         (mswindows_widget_instantiate): ditto.
10044
10045         * frame.h (struct frame): add current_gutter_bounds.
10046
10047         * frame.c (change_frame_size_1): position window and minibuffer
10048         appropriately taking into account the frame gutters.
10049
10050         * frame-x.c: (x_initialize_frame_size): take into account the
10051         frame gutters.
10052
10053 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10054
10055         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10056
10057 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10058
10059         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10060
10061 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10062
10063         * file-coding.c (reset_decoding_stream): Clear previous
10064         detection state when autodetect.
10065
10066 2000-02-29  Didier Verna  <didier@xemacs.org>
10067
10068         * extents.c (set_extent_glyph_1): don't require extents to be
10069         attached.
10070
10071 2000-02-27  Andy Piper  <andy@xemacs.org>
10072
10073         * gutter.c (Fset_default_gutter_position): don't default left and
10074         right gutter visibility to t.
10075         (Fset_default_gutter_position): run
10076         default-gutter-position-changed-hook.
10077         (syms_of_gutter): add default-gutter-position-changed-hook.
10078
10079 2000-02-26  Andy Piper  <andy@xemacs.org>
10080
10081         * specifier.c (Fmake_specifier): add gutter references.
10082
10083         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10084
10085         * lisp.h: declare Fvalid_plist_p.
10086
10087         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10088         as changed.
10089         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10090         well as its visibility so that it gets reconstructed.
10091         (construct_window_gutter_spec): new function. Construct a string
10092         to be displayed in the gutter from a plist of strings. Take care
10093         to only use elements that are declared as visible.
10094         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10095         WINDOW_GUTTER.
10096         (gutter_validate): allow plists of strings in the specifier.
10097         (gutter_specs_changed): construct the real_gutter from the gutter
10098         specs using construct_window_gutter_spec.
10099         (gutter_visible_validate): gutter-visible is a new specifier type.
10100         (Fgutter_visible_specifier_p): new function for the new specifier.
10101         (syms_of_gutter): declare gutter-visible and
10102         Fgutter_visible_specifier_p.
10103         (specifier_type_create_gutter): intitalize new gutter-visible
10104         specifier.
10105         (reinit_specifier_type_create_gutter): ditto.
10106         (specifier_vars_of_gutter): use new specifier type for gutter
10107         visibility.
10108         (init_frame_gutters): construct real_gutter correctly.
10109         (Fgutter_specifier_p): beef up documentation.
10110         (Fgutter_size_specifier_p): ditto.
10111
10112         * winslots.h: add real_gutter slots.
10113
10114 2000-02-25  Andy Piper  <andy@xemacs.org>
10115
10116         * device-msw.c: Be kind to older cygwin versions. From Raymond
10117         Toy <toy@rtp.ericsson.se>.
10118
10119         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10120         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10121
10122 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10123
10124         * elhash.c (MARK_OBJ): Practice macro hygiene.
10125
10126 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10127
10128         * miscplay.c: s/__inline__/inline/g;
10129         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10130         (get_device_compdc): INLINE ==> static inline
10131         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10132         find -name '*.h' | \
10133         xargs global-replace \
10134         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10135
10136 2000-02-25  Andy Piper  <andy@xemacs.org>
10137
10138         * window.c (window_top_frame_gutter_height): new function.
10139         (window_top_window_gutter_height): ditto.
10140         (window_top_gutter_height): use them.
10141         (window_bottom_frame_gutter_height): new function.
10142         (window_bottom_window_gutter_height): ditto.
10143         (window_bottom_gutter_height): use them.
10144         (window_left_window_gutter_width): new function.
10145         (window_left_frame_gutter_width): ditto.
10146         (window_left_gutter_width): use them.
10147         (window_right_window_gutter_width): new function.
10148         (window_right_frame_gutter_width): ditto.
10149         (window_right_gutter_width): use them.
10150         (window_pixel_height): new function. calulate window pixel height
10151         with frame gutter involvement.
10152         (Fsplit_window): calculate new sizes taking frame gutters into
10153         account.
10154         (window_char_height_to_pixel_height): don't include frame gutters.
10155         (window_char_height): use window_pixel_height.
10156         (window_pixheight): rename from window_pixel_height.
10157         (change_window_height): use it.
10158         (window_pixel_height_to_char_height): don't include frame gutters.
10159         (window_char_width_to_pixel_width): ditto.
10160
10161 2000-02-25  Andy Piper  <andy@xemacs.org>
10162
10163         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10164         if it is.
10165
10166 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10167
10168         * alloc.c (staticpro):
10169         (staticpro_nodump):
10170         (dumpstruct):
10171         (dumpopaque):
10172         (pdump_wire):
10173         (pdump_wire_list):
10174         (compact_string_chars):
10175         (pdump_dump_wired):
10176         Convert:  if (foo) abort();  ==>  assert (! foo);
10177
10178         * eldap.c (Fldap_search_basic):
10179         (Fldap_add):
10180         (Fldap_modify):
10181         (Fldap_delete):
10182         Fix compiler warnings, and possible crashes if (random) return
10183         value were to be used.
10184
10185 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10186
10187         * device-msw.c: Workaround ResetDC failure.
10188
10189         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10190         applying a devmode.
10191
10192         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10193         (mswindows_text_width): Do not start printer page.
10194
10195         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10196
10197         * glyphs-msw.c: Added image methods to msprinter console and
10198         msprinter-specific image instantiation.
10199
10200 2000-02-20  Mike Alexander  <mta@arbortext.com>
10201
10202         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10203         to avoid crashes when selection-sets-clipboard is on
10204         (mswindows_own_selection): ditto
10205
10206 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10207
10208         * glyphs-msw.c:
10209         * redisplay-msw.c (get_frame_dc):
10210         (get_frame_compdc):
10211         * console-msw.h:
10212         * device-msw.c (mswindows_init_device):
10213         (mswindows_delete_device):
10214         (msprinter_init_device):
10215         (msprinter_delete_device):
10216         * frame-msw.c (mswindows_init_frame_1):
10217         (mswindows_delete_frame):
10218         (msprinter_init_frame_3):
10219         (msprinter_delete_frame): Move compatible DC to device object from
10220         frame object, for both mswindows and msprinter. Only one at a time
10221         is needed, it is a real waste to have one per frame!
10222
10223 2000-02-23  Andy Piper  <andy@xemacs.org>
10224
10225         * glyphs.c: add dynamic width and height elements.
10226         (image_instance_equal): ditto.
10227
10228         * glyphs-widget.c (widget_query_geometry): calculate width and
10229         height dynamically if required.
10230         (initialize_widget_image_instance): initialize dynamic dimensions.
10231         (widget_instantiate): pick-up dynamic dimensions.
10232
10233         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10234         dynamic determination. Add appropriate macros.
10235
10236         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10237         dimensions safe.
10238         (WINDOW_GUTTER_SIZE): ditto.
10239         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10240
10241         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10242         inline.
10243         (get_frame_dc): ditto.
10244
10245         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10246         here.
10247
10248 2000-02-23  Martin Buchholz <martin@xemacs.org>
10249
10250         * XEmacs 21.2.31 is released.
10251
10252 2000-02-22  Ben Wing <ben@xemacs.org>
10253
10254         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10255
10256 2000-02-22  Andy Piper  <andy@xemacs.org>
10257
10258         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10259
10260 2000-02-21  Mike Sperber <mike@xemacs.org>
10261
10262         * .dbxrc:
10263         * .gdbinit:
10264         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10265         variables.
10266
10267 2000-02-21  Mike Sperber <mike@xemacs.org>
10268
10269         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10270
10271 2000-02-21  Martin Buchholz <martin@xemacs.org>
10272
10273         * XEmacs 21.2.30 is released.
10274
10275 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10276
10277         Performance hacking.
10278         * *.c (syms_of_*):
10279         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10280         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10281         * emacs.c (main_1):
10282         * lisp.h (DEFUN):
10283         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10284         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10285         * symeval.h (DEFVAR_SYMVAL_FWD):
10286         * symbols.c (guts_of_unbound_marker):
10287         Make all c_readonly objects also lisp_readonly and marked for life.
10288         * lrecord.h (struct lrecord_implementation):
10289         Document flags better.
10290         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10291         * lrecord.h (DECLARE_LRECORD):
10292         * lrecord.h (XSETRECORD):
10293         * lrecord.h (RECORDP):
10294         * lrecord.h (RECORD_TYPEP):
10295         * lrecord.h (RECORD_MARKER): New.
10296         * lrecord.h (error_check_*):
10297         * lrecord.h (CONCHECK_NONRECORD):
10298         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10299         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10300         * lrecord.h (set_lheader_implementation):
10301         * lrecord.h (enum lrecord_type): New.
10302         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10303         * alloc.c (disksave_object_finalization_1):
10304         * alloc.c (mark_object):
10305         * alloc.c (lrecord_type_index):
10306         * alloc.c (tick_lcrecord_stats):
10307         * alloc.c (Fgarbage_collect):
10308         * alloc.c (init_alloc_once_early):
10309         * alloc.c (pdump_load):
10310         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10311         * alloc.c (lrecord_type_index): Delete.
10312         Make lisp object type indexes be constant.
10313           Makes (byte-compile) 5% faster.
10314         Put all marker functions into their own array.
10315           Makes (garbage-collect) 5% faster.
10316         Optimize SYMBOL_VALUE_MAGIC_P.
10317           Makes (byte-compile) 2-3% faster.
10318         * config.h.in (gc_checking_assert): New.
10319         * alloc.c: Use gc_checking_assert().
10320         * .dbxrc: Make compatible with new object type implementation.
10321         * .gdbinit: Make compatible with new object type implementation.
10322         * alloc.c: Delete all symbols defined only for debugging, such as
10323         Lisp_Type_Vector and lrecord_charset.
10324
10325 2000-02-21  Andy Piper  <andy@xemacs.org>
10326
10327         * gui-msw.c (Fmswindows_shell_execute): fix file location
10328         problems.
10329
10330         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10331         unshowing so that set_window_buffer doesn't undo
10332         kill_buffer_hook's hard work.
10333
10334         * glyphs-widget.c (tab_control_query_geometry): don't count the
10335         first item when calculating geometry.
10336
10337         * glyphs.c (map_subwindow): remove redundant code.
10338         (update_frame_subwindows): be more circumspect about when to
10339         update subwindows.
10340
10341         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10342         when items haven't changed. Update faces if faces have changed as
10343         well as just the widget face.
10344         (x_tab_control_update): Update faces if faces have changed as well
10345         as just the widget face.
10346
10347 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10348
10349         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10350         registration.
10351         (build_syscolor_string): Use mswindows_color_to_string to try to
10352         get a named color.
10353         (mswindows_device_system_metrics): Reverse the foreground and
10354         background colors so that they match the documentation.
10355
10356         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10357         they match the default Windows palette.
10358         (mswindows_color_to_string): New function.
10359
10360 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10361
10362         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10363
10364 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10365
10366         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10367         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10368
10369         * symbols.c (init_symbols_once_early): Removed obsolete
10370         DATA_SEG_BITS related kludge.
10371         (defvar_magic): Ditto.
10372
10373         * malloc.c: Removed obsolete DATA_SEG_BITS
10374         * ralloc.c: Ditto.
10375         * mem-limits.h: Ditto.
10376
10377         * Makefile.in.in: Removed obsolete HAVE_SHM
10378         * emacs.c: Ditto.
10379
10380 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10381
10382         *  device-msw.c (mswindows_delete_device): Free DDE string
10383         handles.
10384
10385 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10386
10387         * keymap.c (get_keyelt):
10388         * unexnt.c (unexec):
10389         * vm-limit.c (memory_warnings):
10390         * ntheap.c (recreate_heap):
10391         * ntheap.h (UNINIT_PTR):
10392         * select-msw.c (Fmswindows_get_clipboard):
10393         (Fmswindows_set_clipboard):
10394         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10395         * objects-msw.c:
10396         * menubar-msw.c (displayable_menu_item):
10397         * glyphs-msw.c:
10398         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10399         * sysdep.c (sys_subshell):
10400         * process-nt.c (nt_create_process):
10401         * nt.c (normalize_filename):
10402         (dostounix_filename):
10403         (unixtodos_filename):
10404         * ntproc.c (win32_executable_type):
10405         * ntplay.c (play_sound_data_1):
10406         (play_sound_file):
10407         * editfns.c (get_home_directory):
10408         * event-msw.c (struct winsock_stream):
10409         (mswindows_dde_callback):
10410         * device-msw.c (msprinter_init_device):
10411         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10412
10413         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10414         mswindows_clear_toolbar were swapped!
10415
10416         * objects-msw.c:(colormap_t):
10417         (fontmap_t):
10418         * emacs.c (struct standard_args): Fixed const jumble.
10419
10420         * glyphs-widget.c (update_widget): Fixed comparison notation.
10421
10422         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10423
10424         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10425         __declspec(noreturn) syntax.
10426
10427 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10428
10429         * eldap.c (Fldap_open):
10430         (Fldap_search_basic):
10431         (Fldap_add):
10432         (Fldap_modify):
10433         Use new coding system conversion macros.
10434
10435 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10436
10437         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10438
10439 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10440
10441         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10442         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10443
10444         * eldap.c (Qadd, Qreplace): New constant symbols
10445         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10446         interruptions by XEmacs signals
10447         Remove unnecessary calls to slow_down_interrupts and
10448         speed_up_interrupts
10449         (Fldap_search_basic): Renamed from Fldap_search_internal
10450         Added new optional parameter VERBOSE that triggers the
10451         display of progress messages
10452         Remove unnecessary calls to slow_down_interrupts and
10453         speed_up_interrupts
10454         LDAP result code analysis rewritten
10455         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10456         (syms_of_eldap): Define the new symbols and functions
10457
10458
10459 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10460
10461         * realpath.c: Determine PATH_MAX maximally portably.
10462
10463         * insdel.c (bytecount_to_charcount): Optimize.
10464         The function used to be optimized for entirely ASCII sequences.
10465         Now it is optimized for successive characters from the same
10466         charset.  This also wins big for _mostly_ ASCII sequences.
10467
10468         * fileio.c (Ffile_truename): convert return from realpath() using
10469         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10470         - Rewrite GCPROing slightly.
10471
10472         * sysdep.c (sys_open): Do filename conversion, like all other
10473         sys_* functions.  Fixes bug:
10474         (let ((file-name-coding-system 'iso-8859-2))
10475            (write-region x y latin2-name))
10476         ==> writes filename using internal encoding.
10477
10478 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10479
10480         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10481         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10482         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10483         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10484         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10485         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10486         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10487         (CONST_IF_NOT_DEBUG): Delete.
10488         * alloc.c (this_one_is_unmarkable): Delete.
10489         (mark_object): Don't check for this_one_is_unmarkable. Use the
10490         c_readonly flag instead.
10491         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10492
10493 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10494
10495         * event-msw.c (mswindows_drain_windows_queue):
10496         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10497         away redundant repaint events.
10498
10499 2000-02-17  Andy Piper  <andy@xemacs.org>
10500
10501         * redisplay.h: declare mark_redisplay_structs.
10502
10503         * redisplay.c (redisplay_window):
10504         (redisplay_frame): don't check subwindows_state_changed.
10505         (mark_redisplay): mark gutters here.
10506
10507         * glyphs.c: (instantiate_image_instantiator): always layout if we
10508         haven't done so already.
10509         (allocate_image_instance): don't mark as dirty.
10510         (update_subwindow): bind inhibit_quit.
10511
10512         * gutter.c (mark_gutters): new function.
10513
10514         * glyphs-x.c (x_update_widget): Always resize to get round a
10515         widget bug.
10516
10517         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10518         breaking absolutely everything.
10519
10520         * gutter.h: declare mark_gutters.
10521
10522 2000-02-16  Martin Buchholz <martin@xemacs.org>
10523
10524         * XEmacs 21.2.29 is released.
10525
10526 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10527
10528         * fns.c (size_bit_vector): Fix computation of the size.
10529
10530 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10531
10532         * *.[ch]: Change CONST to const globally.
10533         find -name '*.[ch]' | \
10534         xargs global-replace \
10535         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10536         - Remove vestigial references to CONST_IS_LOSING
10537
10538 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10539
10540         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10541         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10542         events instead of dispatching them directly.
10543         (mswindows_handle_paint): New function to do repainting.
10544         (mswindows_wnd_proc):
10545         (emacs_mswindows_handle_magic_event): Call above function.
10546
10547 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10548
10549         * objects-msw.c (mswindows_create_font_variant): Return the new
10550         font handle.
10551         (initialize_font_instance): Get font metrics from the underlined
10552         variant of the font to cope with the case where the underlined
10553         font has a bigger descent.
10554
10555 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10556
10557         * gui.c (gui_item_accelerator): Return the first underlined
10558         character in item name.
10559
10560 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10561
10562         * lisp.h: Added Qprinter.
10563
10564         * general.c (syms_of_general): Initialized it.
10565
10566         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10567         (get_frame_dc):
10568         (get_frame_compdc): Made inline.
10569
10570         * console.h (struct console_methods): Added eject_page method.
10571
10572         * frame.h: Added FRAME_DISPLAY_P and friends.
10573         Aligned backslahes in many macros in more readable fashion.
10574         Added page_number to struct frame, and an accessor macro
10575         for it.
10576
10577         * defice.h: Added DEVICE_DISPLAY_P and friends.
10578
10579         * device.c (Fdevice_printer_p): Used these.
10580
10581         * frame.c (allocate_frame_core): Initialize page number.
10582         (Fprint_job_page_number):
10583         (Fprint_job_eject_page): Implemented.
10584
10585         * frame-msw.c (msprinter_eject_page): Added method.
10586         (msprinter_start_page): Added.
10587
10588         * window.c (Fwindow_truncated_p): Fixed docstring.
10589         (Fwindow_last_line_visible_height): Implemented.
10590
10591 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10592
10593         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10594
10595 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10596
10597         * syntax.c (scan_words): Always advance at least one character.
10598
10599 2000-02-13  Andy Piper  <andy@xemacs.org>
10600
10601         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10602         to make sure the glyph is in the cachels.
10603
10604         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
10605         global image instance flag.
10606         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
10607         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
10608
10609         * glyphs.c (allocate_image_instance): set dirty bits correctly.
10610         (Fset_image_instance_property): mark layout as changed.
10611         (invalidate_glyph_geometry_maybe): mark layout as changed.
10612         (glyph_width): use new NEEDS_LAYOUT macro.
10613         (glyph_ascent): ditto.
10614         (glyph_descent): ditto.
10615         (glyph_height): ditto.
10616         (image_instance_layout): mark layout as clean after laying out.
10617         (update_subwindow): don't mark layout as clean here.
10618
10619         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
10620         should no longer be needed.
10621
10622         * glyphs-x.c (x_update_widget): sanitize asserts.
10623         (x_finalize_image_instance): sanitize assignment to widgets.
10624
10625         * glyphs-widget.c (widget_instantiate): don't need to clear the
10626         layout flag here.
10627
10628 2000-02-13  Martin Buchholz  <martin@xemacs.org>
10629
10630         * sysdep.c (getcwd): Use standard prototype.
10631         * sysdep.h (getcwd): Use standard prototype.
10632
10633         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
10634         (sequence, start, end).
10635         Remove redundant type checking.
10636         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
10637         view of `caller-protects') to avoid a crash where the real fix was
10638         found elsewhere.
10639
10640 2000-02-12  Martin Buchholz  <martin@xemacs.org>
10641
10642         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
10643
10644         * s/sol2.h: Remove feature macro initialization.
10645
10646         * alloc.c (alloc_lcrecord): Add more type checking assertions.
10647         (vector_hash): New.  Code from internal_hash.
10648         * lrecord.h:
10649         Fix up allocation subsystem comments.
10650
10651         * config.h.in: Add __EXTENSIONS__ for Solaris.
10652
10653         * systime.h (EMACS_GETTIMEOFDAY): New.
10654         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
10655         Remove Solaris-specific code.
10656         Use void* for the (ignored) second arg for gettimeofday().
10657
10658         * elhash.c (hash_table_hash): Implement it, finally.
10659         * elhash.c:  Use hashcode_t.
10660
10661         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
10662         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
10663
10664         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
10665         * fns.c (size_bit_vector):
10666         * alloc.c (size_vector):
10667         (make_vector_internal):
10668         (make_bit_vector_internal):
10669         (sweep_bit_vectors_1):
10670         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
10671
10672 2000-02-10  Martin Buchholz  <martin@xemacs.org>
10673
10674         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
10675         Include strings.h to avoid warnings for bzero and strcasecmp.
10676
10677 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10678
10679         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
10680         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
10681
10682         * fns.c (size_bit_vector): New.  Declare bit vectors as a
10683         sequence.
10684
10685 2000-02-10  Olivier Galibert  <galibert@pobox.com>
10686
10687         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
10688         use a value field instead.
10689         (symbol_value_forward_forward): Use value field.
10690         (DEFVAR_SYMVAL_FWD): Use value field.
10691         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
10692         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
10693         (DEFVAR_CONST_INT): Ditto.
10694         (DEFVAR_BOOL): Ditto.
10695         (DEFVAR_CONST_BOOL): Ditto.
10696         (DEFVAR_INT_MAGIC): Ditto.
10697         (DEFVAR_BOOL_MAGIC): Ditto.
10698
10699         * symbols.c (guts_of_unbound_marker): Use value field.
10700         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
10701         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
10702
10703         * lisp.h: Declare dumpopaque and noninteractive1.
10704
10705         * alloc.c (dumpopaque): Added.
10706         (pdump_dump_opaquevec): Added.
10707         (pdump): Call pdump_dump_opaquevec to dump opaque data.
10708         (pdump_load): Reload opaque data.  Sync noninteractive1 with
10709         noninteractive.
10710
10711 2000-02-10  Andy Piper  <andy@xemacs.org>
10712
10713         * glyphs.c (image_instance_layout): if the size changes, mark it
10714         as such.
10715
10716         * redisplay-output.c (redisplay_output_layout): Update the
10717         subwindow here.
10718         (redisplay_output_subwindow): ditto.
10719
10720         * glyphs.c (update_subwindow): make sure we reset flags for
10721         layouts as well as everything else.
10722
10723         * glyphs-widget.c (layout_layout): don't need to set the instances
10724         dimensions here.
10725
10726 2000-02-09  Martin Buchholz  <martin@xemacs.org>
10727
10728         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
10729         not HAVE_DLOPEN, which is a lower-level thing.
10730
10731         * .cvsignore: Ignore gmon.out
10732
10733 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
10734
10735         * .cvsignore: Ignore portable dumper xemacs.dmp file
10736
10737 2000-02-09  Andy Piper  <andy@xemacs.org>
10738
10739         * redisplay-output.c (redisplay_output_layout): be more clever
10740         about when we output based on the changed flags.
10741
10742         * glyphs.h (struct image_instantiator_methods): add update_method.
10743         (struct Lisp_Image_Instance): add changed flags. Declare new
10744         macros for manipulating them.
10745
10746         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
10747         (image_instance_parent_glyph): find an image_instance's parent
10748         glyph or image_instance.
10749         (image_instance_layout): mark the size as changed.
10750         (set_image_instance_dirty_p): new function. mark an image
10751         instance, plus all of its parents, as dirty.
10752         (Fset_image_instance_property): use it.
10753         (Fglyph_animated_timeout_handler): use it.
10754         (update_subwindow): call update_widget and device methods for
10755         update_subwindow. Mark all changed flags as clean.
10756         (Fresize_subwindow): mark size as changed.
10757
10758         * glyphs-x.c (x_finalize_image_instance): try and detect gc
10759         failures.
10760         (x_update_subwindow): only resize subwindows here.
10761         (x_update_widget): new function. Update all changed properties of
10762         a widget.
10763         (x_resize_subwindow): deleted.
10764         (x_widget_set_property): deleted.
10765         (x_progress_gauge_set_property): deleted.
10766         (x_progress_gauge_update): new function. Implement recorded
10767         changes.
10768         (x_tab_control_update): ditto.
10769         (x_tab_control_set_property): deleted.
10770         (console_type_create_glyphs_x): declare new functions.
10771         (image_instantiator_format_create_glyphs_x): ditto.
10772
10773         * glyphs-widget.c (widget_set_property): mark text changed.
10774         (update_widget): new function. Update properties of a widget.
10775         (widget_instantiate): for layouts make sure we set their
10776         children's parent correctly.
10777         (tab_control_set_property): new function. Record changes that will
10778         take place under redisplay's control.
10779         (progress_gauge_set_property): ditto.
10780         (image_instantiator_progress_guage): declare new functions.
10781         (image_instantiator_tab_control): ditto.
10782
10783         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
10784         now.
10785         (mswindows_update_widget): new function. Update all properties on
10786         a widget that have changed.
10787         (mswindows_button_update): new function. Update a button's set
10788         state.
10789         (mswindows_tab_control_update): new function. Update the items in
10790         a tab.
10791         (mswindows_tab_control_set_property): deleted.
10792         (mswindows_progress_gauge_update): new function. Update the
10793         progress gauge's progress.
10794         (mswindows_widget_set_property): deleted. This is all done
10795         asynchronously now.
10796         (mswindows_progress_gauge_set_property): ditto.
10797         (console_type_create_glyphs_mswindows): declare new methods.
10798         (image_instantiator_format_create_glyphs_mswindows): ditto.
10799
10800         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
10801         (msprinter_set_frame_properties): ditto.
10802
10803         * console.h (struct console_methods): Add update_widget_method.
10804
10805 2000-02-09  Andy Piper  <andy@xemacs.org>
10806
10807         * gui-msw.c (Fmswindows_shell_execute): Make
10808         mswindows-shell-execute industrial strength.
10809
10810 2000-02-08  Martin Buchholz  <martin@xemacs.org>
10811
10812         * lrecord.h: Make macro argument `props' match member function `plist'.
10813         * fns.c (Fget):
10814         * fns.c (Fput):
10815         * fns.c (Fremprop):
10816         * fns.c (Fobject_plist):
10817         * alloc.c:
10818         * symbols.c:
10819         Object property list frobbing cleanup.
10820         - Allow any lisp object (compared with `eq'), not just symbols, as
10821           keys in object plists.
10822         - Move symbol plist frobbing into symbols.c, where it belongs.
10823         - Move string plist frobbing into alloc.c, where it belongs.
10824         - Everything's an lrecord now, so no need to test for symbolp, etc.
10825         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
10826
10827         * extents.c: Reorder code to remove declarations.
10828
10829         * frame.h (store_in_alist): Remove useless declaration.
10830
10831 2000-02-07  Martin Buchholz  <martin@xemacs.org>
10832
10833         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
10834         * config.h.in: Add HAVE_XCONVERTCASE.
10835
10836 2000-02-07  Andy Piper  <andy@xemacs.org>
10837
10838         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
10839         it breaks many things.
10840
10841 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
10842
10843         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
10844         actually can start a common comment type.
10845         * src/syntax.h (SYNTAX_END_P): ditto for end.
10846
10847 2000-02-07  Martin Buchholz <martin@xemacs.org>
10848
10849         * XEmacs 21.2.28 is released.
10850
10851 2000-02-06  Martin Buchholz  <martin@xemacs.org>
10852
10853         * event-Xt.c (x_keysym_to_character): New.
10854         (maybe_define_x_key_as_self_inserting_character): New.
10855         (x_has_keysym): New.
10856         Auto-define all keys on the keyboard as self-insert-key.
10857
10858 2000-02-02  Martin Buchholz  <martin@xemacs.org>
10859
10860         * menubar.c (vars_of_menubar): A small code simplification.
10861
10862         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
10863
10864         * ExternalShell.c:
10865         * ExternalClient.c:
10866         * EmacsShell-sub.c:
10867         * EmacsManager.c:
10868         * EmacsFrame.c:
10869         Use consistent style for specifying X resources.
10870
10871         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
10872         This makes (dontusethis-set-symbol-value-handler) actually usable.
10873
10874         * lrecord.h (lrecord_decription_type):
10875         * alloc.c (pdump_register_sub):
10876         (pdump_dump_data):
10877         (pdump_reloc_one):
10878         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
10879         Comply with XEmacs coding style.
10880         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
10881         args, and XD_LISP_OBJECT_ARRAY with 3 args.
10882
10883         * keymap.c (Faccessible_keymaps):
10884         Make (accessible-keymaps map "\C-h") do the Right Thing.
10885         Make (accessible-keymaps map []) do the Right Thing.
10886         Make (accessible-keymaps map "") do the Right Thing.
10887         (check_keymap_definition_loop): New function.
10888         (keymap_store_internal): Keep luser from shooting self in foot,
10889           via (define-key ctl-x-4-map "p" global-map).
10890         Remove fullness slot from struct Lisp_Keymap, since hash tables
10891         are now reliable.
10892         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
10893
10894 2000-01-30  Martin Buchholz  <martin@xemacs.org>
10895
10896         * redisplay.c (init_redisplay): Fix small memory leak.
10897         * elhash.h:
10898         * elhash.c (pdump_reorganize_hash_table):
10899         Rename from reorganize_hash_table. Change prototype.
10900         Reuse the original memory for hentries.  Save 100k.
10901         * alloc.c (PDUMP_READ): new macro.
10902         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
10903         * alloc.c: No need to #ifndef before #undef.
10904
10905         * print.c: Allow debug_print() to print readably by modifying
10906         debug_print_readably.  Use consistent variable names.
10907
10908         * .dbxrc: Try to get things to work even if stopped in a function
10909         without source available by explicitly specifying source files.
10910 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10911
10912         * unexnt.c (_start): Removed bogus code which caused loading heap
10913         from differrent executable file.
10914         Removed bogus assignment to _fmode, which caused inconsistencies.
10915
10916 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10917
10918         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
10919         Have spawnve encapsulation regard DONT_ENCAPSULATE.
10920         Do not preliminary `#define signal sigset'.
10921
10922         * systime.h: Do not prototype environ on windows nt and cygwin,
10923         this conflicts with system header.
10924
10925         * syssignal.h: Use correct define for WINDOWSNT
10926
10927         * sysdep.h: Do not prototype environ on windows nt, this conflicts
10928         with system header.
10929
10930         * sysdep.c (near start of file): Fixed commentary and rearranged
10931         ifdefs in readable order.
10932         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
10933         (start_of_text):
10934         (end_of_text):
10935         (end_of_data): Do not compile in if using PDUMP.
10936
10937         * symsinit.h: Prototyped vars_of_nt().
10938
10939         * ntproc.c (windows9x_p): Added, instead of os_subtype.
10940         (find_child_console): Use it.
10941         (sys_kill): Use it.
10942
10943         * ntheap.h: Do not extern os_subtype.
10944
10945         * ntheap.c (cache_system_info): Do not cache unneeded:
10946         nt_major_version, nt_minor_version and os_subtype.
10947         (recreate_heap): Do not compile in when PDUMPing.
10948
10949         * nt.c (geteuid and friends): Use the new varibale
10950         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
10951         (init_user_info): Removed the above mentioned hackery.
10952         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
10953         stat has been fixed in the C runtime.
10954         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
10955
10956         * file-coding.c (struct file_coding_dump): Do not define
10957         ucs_to_mule_table in the struct if not MULE.
10958         (struct struct lrecord_description fcd_description_1): Do not dump
10959         the above.
10960
10961         * emacs.c (main_1): Call vars_of_nt().
10962         (right before Fdump_emacs_data): Don't need lastfile if using both
10963         portabe dumper and system malloc.
10964
10965         * alloc.c (Fmemory_limit): Conditionalized out.
10966         (pdump): Use OPEN_BINARY for the portable dump file.
10967         (pdump_load): Ditto.
10968
10969 2000-02-02  Mike Alexander  <mta@arbortext.com>
10970
10971         * nt.c (convert_time): Set tm_isdst before calling mktime and
10972         avoid calling it at all if the compiler supports 64 bit integers.
10973         Also initialize utc_base_ft before using it.
10974
10975 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10976
10977         * frame.c (change_frame_size_1): Take f->internal_border_width
10978         into consideration when calculating the width of the frame.
10979
10980 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10981
10982         * window.c (frame_min_height):
10983         (frame_size_valid_p):
10984         (frame_pixsize_valid_p): Added.
10985         (check_frame_size): Generalized.
10986
10987         * window.h: Prototyped the above.
10988
10989         * lisp.h:
10990         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
10991         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
10992         Deleted Vwin32_* and Vbinary_process_* unused variables.
10993
10994         * device-msw.c (msprinter_init_device): Do not get printer font
10995         list; Added DEVMODE functions.
10996
10997         * frame-msw.c: Added lots of printer code.
10998
10999         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11000         general.c.
11001
11002         * console-msw.h: Added more msprinter device private slots.
11003
11004 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11005
11006         * event-msw.c (key_needs_default_processing_p): Added.
11007         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11008
11009 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11010
11011         * glyphs.c (image_instance_layout): Mark image instance as clean
11012         after layout.
11013         (glyph_dirty_p): Removed redundant function.
11014         (invalidate_glyph_geometry_maybe): Added.
11015         (update_glyph_cachel_data): Call it.
11016
11017         * glyphs.h: Prototyped it.
11018
11019         * redisplay.c (add_glyph_rune): Call it.
11020         (redisplay_window): Reset glyphs cachels when frame faces have
11021         changed, thus forcing recomputation of built-in border glyphs.
11022
11023 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11024
11025         * Makefile.in.in: Make portable dumper and purify play well together.
11026         Add imperfect, but better than nothing, support for pdump.
11027         Remove xemacs.dmp when temacs is re-generated.
11028         Don't ignore errors when dumping xemacs.
11029
11030         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11031
11032 2000-01-28  Andy Piper  <andy@xemacs.org>
11033
11034         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11035         (setup_normal_frame): ditto.
11036         (setup_frame_without_minibuffer): ditto.
11037         (setup_minibuffer_frame): ditto.
11038         (delete_frame_internal): ditto.
11039         (Fmake_frame_invisible): ditto.
11040         (Ficonify_frame): ditto.
11041
11042         * window.h: change Fset_window_buffer signature.
11043
11044         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11045         (Fset_window_buffer): allow recording of buffer if the window is
11046         the selected window.
11047         (window_loop): Use new Fset_window signature.
11048
11049 2000-01-23  Daniel Pittman  <daniel@danann.net>
11050
11051         * config.h.in: Added template for `HAVE_ATHENA_3D'
11052
11053 2000-01-29  Andy Piper  <andy@xemacs.org>
11054
11055         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11056
11057         * gutter.c (output_gutter): Don't output if the window isn't live.
11058
11059 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11060
11061         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11062         of 01/12/00: Moved SetFocus back here where it belongs.
11063
11064 2000-01-23  Andy Piper  <andy@xemacs.org>
11065
11066         * s/cygwin32.h: declare printer things.
11067
11068 2000-01-26  Andy Piper  <andy@xemacs.org>
11069
11070         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11071         Alexander.
11072
11073 2000-01-24  Andy Piper  <andy@xemacs.org>
11074
11075         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11076         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11077
11078         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11079
11080         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11081
11082         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11083
11084         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11085         (mswindows_output_display_block): Avoid local shadows.
11086
11087         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11088         (mswindows_enqueue_mouse_button_event): ditto.
11089         (mswindows_handle_gui_wm_command): remove declaration.
11090
11091         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11092         warnings.
11093
11094         * console-msw.h: Avoid shadows.
11095         (mswindows_get_toolbar_button_text):
11096         (emacs_mswindows_create_stream_pair):
11097         (emacs_mswindows_delete_stream_pair):
11098         (mswindows_handle_toolbar_wm_command): declare.
11099
11100         * device-msw.c (build_syscolor_string): Avoid shadows.
11101
11102 2000-01-23  Andy Piper  <andy@xemacs.org>
11103
11104         * glyphs-widget.c (widget_instantiate): reverse the items for
11105         layouts so that children are in the expected order.
11106
11107 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11108
11109         * ralloc.c: safe_bcopy ==> memmove
11110         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11111         * s/msdos.h: Remove BCOPY macros.
11112         * insdel.c (gap_right): Remove BCOPY conditional code.
11113         * insdel.c (gap_left): Remove BCOPY conditional code.
11114         XEmacs demands a working ANSI C compiler - hence memmove.
11115
11116         * regex.c (regex_compile): Remove accidental use of trigraphs.
11117
11118 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11119
11120         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11121         event timestamp.
11122
11123 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11124
11125         * event-msw.c (mswindows_drain_windows_queue): Added the
11126         parameter.
11127         (mswindows_need_event): Commented the call to
11128         mswindows_drain_windows_queue().
11129         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11130         only.
11131
11132         * console-msw.h: Moved a few function prototypes here from
11133         event-msw.c.
11134
11135         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11136         parameter from unsigned short to unsigned long.
11137         (Fmswindows_shell_execute): Added return value.
11138
11139 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11140
11141         * sysdep.c (init_system_name):
11142           process-unix.c (unix_canonicalized_host_name):
11143         Don't call freeaddrinfo() if getaddrinfo() fails.
11144
11145         * process-unix.c (unix_open_unix_network_stream):
11146         Moved the code to get a port # into address loop.
11147
11148 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11149
11150         * buffer.c (reinit_vars_of_buffer):
11151         The right place to initialize conversion_in_dynarr and
11152         conversion_out_dynarr.
11153
11154         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11155
11156         * process-unix.c (unix_canonicalize_host_name): Muleize.
11157         (unix_open_network_stream): Muleize.
11158
11159         * buffer.h: Fix up prototypes for ralloc.c functions.
11160
11161 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11162         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11163         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11164                 instead of gethostbyname()
11165         * process-unix.c: In unix_canonicalize_host_name() and
11166                 unix_open_network_stream(), add code to use getaddrinfo()
11167                 instead of gethostbyname().
11168
11169 2000-01-27  Daniel Pittman <daniel@danann.net>
11170
11171         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11172         libs when built with flat Athena.
11173
11174 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11175
11176         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11177         Use coding standards for function prototypes.
11178
11179 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11180
11181         * dialog-msw.c (push_lisp_string_as_unicode):
11182         * doc.c (unparesseuxify_doc_string):
11183         * dired.c (Fuser_name_completion_1):
11184         * dired.c (Fuser_name_all_completions):
11185         * dired.c (free_user_cache):
11186         * dired.c (user_name_completion):
11187         * console-x.c (get_display_arg_connection):
11188         * minibuf.c (clear_echo_area_internal):
11189         * minibuf.c (echo_area_append):
11190         * eldap.c (Fldap_open):
11191         * eldap.c (Fldap_search_internal):
11192         * frame-x.c (x_set_frame_text_value):
11193         * frame-x.c (x_set_frame_properties):
11194         * frame-x.c (x_create_widgets):
11195         * redisplay-tty.c (term_get_fkeys_1):
11196         * objects-x.c (x_parse_nearest_color):
11197         * objects-x.c (x_valid_color_name_p):
11198         * objects-x.c (x_initialize_font_instance):
11199         * objects-x.c (x_list_fonts):
11200         * objects-x.c (x_find_charset_font):
11201         * tooltalk.c (Fadd_tooltalk_message_arg):
11202         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11203         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11204         * process-unix.c (unix_create_process):
11205         * ntproc.c (sys_spawnve):
11206         * sound.c (Fplay_sound_file):
11207         * sound.c (Fplay_sound):
11208         * buffer.c (init_initial_directory):
11209         * buffer.c (init_buffer):
11210         * editfns.c (init_editfns):
11211         * editfns.c (Ftemp_directory):
11212         * editfns.c (Fuser_full_name):
11213         * editfns.c (uncache_home_directory):
11214         * editfns.c (get_home_directory):
11215         * editfns.c (Fuser_home_directory):
11216         * editfns.c (Fformat_time_string):
11217         * editfns.c (Fcurrent_time_string):
11218         * gui-x.c (button_item_to_widget_value):
11219         * database.c (Fopen_database):
11220         * event-Xt.c (x_to_emacs_keysym):
11221         * event-Xt.c (x_event_to_emacs_event):
11222         * event-Xt.c (describe_event_window):
11223         * event-msw.c (mswindows_wnd_proc):
11224         * glyphs-eimage.c (jpeg_instantiate):
11225         * glyphs-eimage.c (gif_instantiate):
11226         * glyphs-eimage.c (png_instantiate):
11227         * glyphs-eimage.c (tiff_instantiate):
11228         * glyphs-x.c (xbm_instantiate_1):
11229         * glyphs-x.c (x_xbm_instantiate):
11230         * glyphs-x.c (x_xface_instantiate):
11231         * glyphs-x.c (autodetect_instantiate):
11232         * glyphs-x.c (cursor_font_instantiate):
11233         * glyphs-x.c (x_widget_instantiate):
11234         * glyphs-x.c (x_widget_set_property):
11235         * glyphs-x.c (x_widget_property):
11236         * glyphs-x.c (BUILD_GLYPH_INST):
11237         * print.c (write_string_to_stdio_stream):
11238         * print.c (output_string):
11239         * print.c (Falternate_debugging_output):
11240         * print.c (Fexternal_debugging_output):
11241         * glyphs-msw.c (extract_xpm_color_names):
11242         * glyphs-msw.c (mswindows_xpm_instantiate):
11243         * glyphs-msw.c (bmp_instantiate):
11244         * glyphs-msw.c (resource_name_to_resource):
11245         * glyphs-msw.c (mswindows_resource_instantiate):
11246         * glyphs-msw.c (xbm_instantiate_1):
11247         * glyphs-msw.c (mswindows_xbm_instantiate):
11248         * glyphs-msw.c (mswindows_xface_instantiate):
11249         * glyphs-msw.c (mswindows_widget_instantiate):
11250         * glyphs-msw.c (add_tree_item):
11251         * glyphs-msw.c (add_tab_item):
11252         * glyphs-msw.c (mswindows_combo_box_instantiate):
11253         * glyphs-msw.c (mswindows_widget_property):
11254         * glyphs-msw.c (mswindows_combo_box_property):
11255         * glyphs-msw.c (mswindows_widget_set_property):
11256         * console.c (stuff_buffered_input):
11257         * objects-msw.c (mswindows_initialize_color_instance):
11258         * objects-msw.c (mswindows_valid_color_name_p):
11259         * objects-msw.c (mswindows_list_fonts):
11260         * objects-msw.c (mswindows_font_instance_truename):
11261         * bytecode.c (optimize_compiled_function):
11262         * select-x.c (symbol_to_x_atom):
11263         * select-x.c (x_atom_to_symbol):
11264         * select-x.c (hack_motif_clipboard_selection):
11265         * select-x.c (selection_data_to_lisp_data):
11266         * select-x.c (lisp_data_to_selection_data):
11267         * select-x.c (Fx_get_cutbuffer_internal):
11268         * select-x.c (Fx_store_cutbuffer_internal):
11269         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11270         * buffer.h (TO_INTERNAL_FORMAT): New function.
11271         * emacs.c (make_arg_list_1):
11272         * emacs.c (make_argc_argv):
11273         * emacs.c (main_1):
11274         * emacs.c (Fdump_emacs):
11275         * emacs.c (split_string_by_emchar_1):
11276         * file-coding.h:
11277         * lisp.h:
11278         * lstream.h:
11279         * symsinit.h:
11280         * device-x.c (x_init_device):
11281         * device-x.c (Fx_valid_keysym_name_p):
11282         * device-x.c (Fx_get_font_path):
11283         * device-x.c (Fx_set_font_path):
11284         * glyphs.c (bitmap_to_lisp_data):
11285         * glyphs.c (pixmap_to_lisp_data):
11286         * alloc.c (make_ext_string): Use coding system arguments.  Update
11287         all callers.
11288         * alloc.c (build_string):
11289         * callproc.c (child_setup):
11290         * callproc.c (init_callproc):
11291         * fileio.c (lisp_strerror):
11292         * fileio.c (directory_file_name):
11293         * fileio.c (Fexpand_file_name):
11294         * fileio.c (Ffile_truename):
11295         * fileio.c (Fsysnetunam):
11296         * fileio.c (Fdo_auto_save):
11297         * sysdep.c (sys_readdir):
11298         * tests.c: New file.  Allow adding C tests.
11299         Replace GET_* macros with a more comprehensible and flexible
11300         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11301         Modify all calls.
11302         Any coding system can be used to do format conversion.
11303         Eliminate enum external_data_format.
11304         Eliminate convert_to_external_format.
11305         Eliminate convert_to_internal_format.
11306         Make sure file-name, keyboard, terminal, and ctext are always
11307         defined as coding systems or aliases.  Make
11308         file-name-coding-system, terminal-coding-system, and
11309         keyboard-coding-system magical variables that are equivalent to
11310         defining the corresponding coding system aliases.
11311
11312         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11313         * file-coding.c (Fcoding_system_alias_p): New function.
11314         * file-coding.c (Fcoding_system_aliasee): New function.
11315         * file-coding.c (append_suffix_to_symbol): New function.
11316         * file-coding.c (dangling_coding_system_alias_p): New function.
11317         * file-coding.c (Ffind_coding_system):
11318         * file-coding.c (Fcopy_coding_system):
11319         * file-coding.c (encode_coding_no_conversion):
11320         * file-coding.c (syms_of_file_coding):
11321         * file-coding.c (vars_of_file_coding):
11322         Rewrite coding system alias code.
11323         Allow nested aliases, like symbolic links.
11324         Allow redefinition of coding system aliases.
11325         Prevent existence of dangling coding system aliases.
11326
11327         * dired.c (Fuser_name_completion_1):
11328         * dired.c (Fuser_name_all_completions):
11329         A crash would happen if user did QUIT in the middle of building
11330         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11331
11332         * lisp.h:
11333         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11334
11335         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11336         an unsigned char *.  Update all callers.
11337
11338 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11339
11340         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11341
11342 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11343
11344         * elhash.c (hentry_description): Use more portable definition.
11345         (resize_hash_table): Initialize new hentries using
11346         xnew_array_and_zero, thereby simplifying the code.
11347
11348         * mule-charset.c (make_charset): Make sure entire object is
11349         initialized, to avoid Purify warnings.
11350
11351         * alloc.c (resize_string): Fix unlikely crash with big strings.
11352
11353 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11354
11355         * realpath.c (xrealpath):
11356         Don't call getwd().
11357
11358 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11359
11360         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11361
11362 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11363
11364         * unexelfsgi.c (unexec): Change the way we decide which segment
11365         should be extended.
11366
11367         Assumption that .bss section should be outside the PT_LOADable
11368         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11369         it's present) is inside the 'data' segment. This would fail the
11370         test which was used to find a segment to grow and cover new
11371         heap. Instead of this assumption, I created another one - on IRIX
11372         the segment to grow should start below .bss and it's address
11373         should extent above the end of .bss. Once this segment is
11374         identified, it's grown to accommodate the new heap and new
11375         zero-length .bss section is added at the end of .data2.
11376
11377 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11378
11379         * eval.c (Feval): Wrong number of arguments should use original
11380         function, not the indirect_function version of it.
11381
11382 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11383
11384         * glyphs-x.c (x_button_instantiate): Don't add image if
11385         it is not a pixmap.
11386         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11387         is relative.
11388
11389 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11390
11391         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11392         declaration.
11393         (DEFVAR_INT_MAGIC): Ditto.
11394         (DEFVAR_BOOL_MAGIC): Ditto.
11395         * glyphs.h: Reindent backslash.
11396
11397 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11398
11399         * glyphs-widget.c (layout_query_geometry):
11400         (layout_layout): Use correct types for gheight, gwidth.
11401
11402 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11403
11404         * EmacsManager.c (QueryGeometry): Purified.
11405
11406 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11407
11408         * alloc.c (make_float): Make sure entire object is initialized, to
11409         avoid Purify warnings.
11410         (pdump_register_sub): Remove useless assignment.
11411         (pdump): Use xmalloc, not malloc.
11412         (pdump_load): Use xmalloc, not malloc.
11413
11414 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11415
11416         * callproc.c:
11417         * dired-msw.c:
11418         * fileio.c:
11419         * process-nt.c:
11420         * redisplay-msw.c:
11421         * sysdep.c: Removed redundant #include <windows.h>
11422
11423 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11424
11425         * frame.c (delete_frame_internal): Do not delete device when its
11426         implementation so declares.
11427         (delete_frame_internal): Set device selected frame to nil when
11428         last frame goes away.
11429
11430         * device-msw.c (msprinter_device_system_metrics): Implemented.
11431         (mswindows_device_system_metrics): Added 'device-dpi property.
11432
11433         * device.c: (Fdevice_printer_p): Added.
11434         Added 'offset-workspace device metric.
11435
11436         * console.h (device_metrics): Declared DM_offset_workspace.
11437
11438 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11439
11440         * fileio.c (Ffile_truename): Remove pointless and confusing
11441         initialization of elen.
11442
11443         * glyphs-widget.c: Compiler warning fixes.
11444
11445 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11446
11447         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11448         instead of a Lisp_Object as argument to make it consistent with
11449         the other LIVE_P macros.
11450         (CHECK_LIVE_PROCESS): New macro.
11451
11452         * process.c: Declare Qprocess_live_p.
11453         (Fprocess_live_p): New function.
11454         (create_process): Use PROCESS_LIVE_P.
11455         (read_process_output): Ditto.
11456         (set_process_filter): Ditto.
11457         (Fdelete_process): Ditto.
11458         (kill_buffer_processes): Ditto
11459         (process_send_signal): Use CHECK_LIVE_PROCESS.
11460         (Fprocess_input_coding_system): Check whether process is still
11461         alive (fix PR#1061).
11462         (Fprocess_output_coding_system): Ditto.
11463         (Fprocess_coding_system): Ditto.
11464         (Fset_process_input_coding_system): Ditto.
11465         (Fset_process_output_coding_system): Ditto.
11466
11467 2000-01-23  Andy Piper  <andy@xemacs.org>
11468
11469         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11470         layout and widget.
11471
11472         * glyphs.c (mark_image_instance): take into account changed
11473         image_instance format.
11474         (image_instance_equal): ditto.
11475         (image_instance_hash): ditto.
11476
11477         * glyphs-widget.c (widget_instantiate): Incorporate layout
11478         instantiation here. Delay layout of the layout until later.
11479         (layout_instantiate): deleted.
11480         (layout_query_geometry): new function. get the geometry of a
11481         layout.
11482         (layout_layout): layout a layout dynamically.
11483         (image_instantiator_widget): New function - splitting up
11484         image_instantiator_format_create_glyphs_widget for netwinder
11485         compilation.
11486         (image_instantiator_buttons):
11487         (image_instantiator_edit_fields):
11488         (image_instantiator_combo_box):
11489         (image_instantiator_scrollbar):
11490         (image_instantiator_progress_guage):
11491         (image_instantiator_tree_view):
11492         (image_instantiator_tab_control):
11493         (image_instantiator_labels):
11494         (image_instantiator_layout): ditto.
11495         (image_instantiator_format_create_glyphs_widget): Call preceding
11496         functions.
11497
11498 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11499
11500         * process.c (Fset_process_coding_system):
11501         * device-x.c (Fx_keysym_hash_table):
11502         Docstring fixes.
11503
11504         * lstream.c (Lstream_write): Return documented value, not 0.
11505
11506         * fileio.c (directory_file_name):
11507         (Fsubstitute_in_file_name):
11508         (Fsubstitute_insert_file_contents_internal):
11509         (Fwrite_region_internal):
11510         * emacs.c:
11511         * sysdep.c:
11512         * getloadavg.c:
11513         * systty.h:
11514         Remove vestigial APOLLO-conditional code.
11515
11516 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11517
11518         * getpagesize.h: Add guard macros.
11519         * libsst.h: Add guard macros.
11520         * libst.h: Add guard macros.
11521         * line-number.h: Add guard macros.
11522         * ndir.h: Add guard macros.
11523         * sysfloat.h: Add guard macros.
11524         * sysfile.h: Add guard macros.
11525         * sysproc.h: Add guard macros.
11526         * syswait.h: Add guard macros.
11527         * xintrinsic.h: Add guard macros.
11528         * xintrinsicp.h: Add guard macros.
11529         * xmmanager.h: Add guard macros.
11530         * xmmanagerp.h: Add guard macros.
11531         * xmprimitive.h: Add guard macros.
11532         * xmu.h: Add guard macros.
11533         * gpmevent.h: Add copyright statement. Add guard macros.
11534         * miscplay.h: Add guard macros.
11535         * *.h: Use consistent C-standards-approved guard macro names.
11536
11537         * opaque.c (make_opaque): Switch parameter order.
11538         * opaque.h (make_opaque): Switch parameter order.
11539         Update all callers.
11540         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11541
11542         * config.h.in (type_checking_assert): Added.
11543         (bufpos_checking_assert): Added.
11544
11545 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11546
11547         * alloc.c: Harmless pdump changes.
11548         - Use countof().
11549         - spell alignment correctly.
11550         * sysdep.c: Use countof()
11551
11552 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11553
11554         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11555         initially_selected_for_input() console method, default to 0.
11556         (semi_canonicalize_console_connection): Try to delegate to
11557         canonicalize_console_connection if no such console method.
11558         (canonicalize_console_connection): Vice versa.
11559         (print_console): Do not print nil connection.
11560
11561         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11562         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11563         (XDEVIMPF_FRAMELESS_OK): Added.
11564         (CONSOLE_INHERITS_METHOD): Added.
11565
11566         * console-msw.c (mswindows_canonicalize_console_connection):
11567         Added.
11568         (mswindows_canonicalize_device_connection): Added.
11569
11570         * console-msw.h (struct msprinter_device): Added this struct and
11571         accessor macros.
11572         (mswindows_device): Made fontlist a lisp object.
11573
11574         * device.c (semi_canonicalize_device_connection):  Try to delegate
11575         to canonicalize_device_connection if no such console method.
11576         (canonicalize_device_connection): Vice versa.
11577         (print_device): Do not print nil connection.
11578
11579         * device-msw.c (mswindows_init_device): Call InitCommonControls
11580         when have widgets.
11581         (mswindows_delete_device): Removed fontlist deallocation.
11582         (mswindows_mark_device): Added.
11583
11584         * events.c (event_equal): Added abort() at unreached code.
11585         (event_hash): Ditto.
11586
11587         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11588         fallback tags of Windows devices.
11589
11590         * general.c (syms_of_general): Initialized Qmsprinter.
11591
11592         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11593         of fallback tags of Windows devices.
11594
11595         * lisp.h: Declared Qmsprinter.
11596
11597         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11598         of strings.
11599         (mswindows_list_fonts): Ditto.
11600         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11601         that it can be used by both mswindows and msprinter devices.
11602         (initialize_font_instance): Added.
11603         (mswindows_initialize_font_instance): Use it.
11604         (msprinter_initialize_font_instance): Added.
11605
11606         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
11607         and implementation flags check.
11608         (redisplay_without_hooks): Changed the call to the above.
11609         (Fredraw_device): Ditto.
11610         (Fredisplay_device): Ditto.
11611
11612         * redisplay-msw.c (get_frame_dc): Implemented.
11613         (get_frame_compdc): Implemented.
11614         (many functions): Use the two functions above to get device
11615         contexts, ether for a window or a printer.
11616
11617 2000-01-21  Olivier Galibert  <galibert@pobox.com>
11618
11619         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
11620         initialization here.
11621         (init_symbols_once_early): Call it.
11622         * emacs.c (main_1): Call it.
11623         * symsinit.h: Declare it.
11624
11625 2000-01-19  Olivier Galibert  <galibert@pobox.com>
11626
11627         * alloc.c: Use a lrecord_header * in the backtrace instead of a
11628         Lisp_Object.
11629         (pdump_backtrace): Ditto.
11630         (pdump_register_object): Ditto.  Cleanup use of the pointers.
11631         (pdump_get_entry): Abort if trying to register a null pointer.
11632         (pdump_dump_data): Cleanup types when relocating.
11633         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
11634         (pdump_dump_rtables): Remove bad casts.
11635         (pdump_load): Cleanup relocation w.r.t union type.  Use a
11636         Lisp_Object instead of a EMACS_INT for the hashtable
11637         reorganization.
11638
11639 2000-01-20  Martin Buchholz  <martin@xemacs.org>
11640
11641         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
11642
11643         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
11644
11645         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
11646
11647         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
11648
11649 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11650
11651         * faces.h (FACE_STRIKETHRU_P): Added.
11652
11653         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
11654         of font variants.
11655
11656         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
11657         (mswindows_set_dc_font): New function, aware of font variants,
11658         separated from mswindows_update_dc.
11659
11660         * objects-msw.h (struct mswindows_font_instance_data): Added
11661         definition.
11662
11663         * objects-msw.c (mswindows_finalize_font_instance): Delete all
11664         cached fonts and the data structure.
11665         (mswindows_initialize_font_instance): Added creation of font data
11666         structure.
11667         (mswindows_print_font_instance): Print at least something.
11668         (mswindows_create_font_variant): Implemented.
11669         (mswindows_get_hfont): Implemented.
11670
11671 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
11672
11673         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
11674         prototyping problem with msvc.
11675
11676         * emacs.c (main_1): added syms_of_gui_mswindows() call
11677
11678         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
11679         syms_of_gui_mswindows() function
11680
11681         * symsinit.h: added the prototype for syms_of_gui_mswindows()
11682
11683 2000-01-18  Martin Buchholz <martin@xemacs.org>
11684
11685         * XEmacs 21.2.27 is released.
11686
11687 2000-01-18  Martin Buchholz  <martin@xemacs.org>
11688
11689         * glyphs-eimage.c (struct tiff_error_struct):
11690         (tiff_error_func):
11691         (tiff_warning_func):
11692         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
11693
11694         * unexmips.c:
11695         * unexhp9k3.c:
11696         * unexfreebsd.c:
11697         * unexec.c: Remove vestigial Lucid C code.
11698         * unexalpha.c:
11699         * unexaix.c:
11700         * termcap.c:
11701         * libsst.c: Ansify.
11702         Remove declarations of errno and strerror().
11703
11704         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
11705
11706         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
11707
11708 2000-01-16  Martin Buchholz  <martin@xemacs.org>
11709
11710         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
11711         Optimize.
11712
11713 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11714
11715         * md5.c:
11716         * file-coding.c:
11717         * file-coding.h:
11718         Change enum eol_type to eol_type_t.
11719
11720 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11721
11722         * gui.c (get_gui_callback): Check cons before accessing car.
11723
11724 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11725
11726         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
11727         (XSETSPECIFIER_TYPE): Ditto.
11728
11729 2000-01-17  Didier Verna  <didier@xemacs.org>
11730
11731         * redisplay.c (generate_fstring_runes): compute string size in
11732         characters, not bytes.
11733
11734 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11735
11736         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
11737
11738 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
11739
11740         * print.c (print_error_message): Call print_prepare().
11741
11742 2000-01-14  Martin Buchholz  <martin@xemacs.org>
11743
11744         * .dbxrc: Renamed from dbxrc.
11745
11746         * events.c (event_to_character):
11747         Use `assert (foo)' instead of `if (!foo) abort()'
11748
11749         * .gdbinit (xtype): Add documentation.
11750         * .gdbinit (check-temacs): New function.
11751         * .gdbinit (check-xemacs): New function.
11752         * dbxrc (check-xemacs): New function.
11753         * dbxrc (check-xemacs): New function.
11754
11755 2000-01-14  Andy Piper  <andy@xemacs.org>
11756
11757         * glyphs-widget.c (widget_query_geometry): Make sure that we
11758         calculate default dimensions correctly.
11759
11760 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11761
11762         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
11763
11764         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
11765         pdump_wire'd variable.
11766
11767         * emacs.c: (main_1): Conditionalized calls to
11768         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
11769
11770 2000-01-13  Martin Buchholz  <martin@xemacs.org>
11771
11772         * window.c (Fset_window_configuration):
11773         * sysdep.c (_start):
11774         * input-method-motif.c (res):
11775         * event-Xt.c (Xt_process_to_emacs_event):
11776         Simple compiler warning fixes.
11777
11778         * bytecode.c (funcall_compiled_function): Use the original
11779         function symbol on the backtrace list in preference to the
11780         compiled_function object in error messages.
11781
11782 2000-01-13  Andy Piper  <andy@xemacs.org>
11783
11784         * glyphs-x.c (update_widget_face): Make sure we update the widget
11785         background as well as foreground.
11786
11787 2000-01-13  Andy Piper  <andy@xemacs.org>
11788
11789         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
11790         fields to subwindow.
11791         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
11792         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
11793         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11794         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
11795
11796         * glyphs-widget.c (check_valid_tab_orientation): new function.
11797         (initialize_widget_image_instance): zero orientation and
11798         justification.
11799         (widget_instantiate): pick up orientation.
11800         (tab_control_query_geometry): return appropriate values for
11801         vertical tabs.
11802
11803         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
11804         appropriate creation flags for left, right and bottom tabs.
11805
11806         * s/cygwin32.h: add tab definitions.
11807
11808 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11809
11810         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
11811         frame upon hiding a subwindow.
11812         (mswindows_button_instantiate): Changed the push button style to
11813         BS_PUSHBUTTON.
11814         (mswindows_button_instantiate): Removed button BS_NOTIFY
11815         style.
11816         (mswindows_button_instantiate): Removed redundant check for
11817         a disabled gui item.
11818         (mswindows_button_instantiate): Made use of WS_TABSTOP
11819         consistent: "operable" controls (edit, button, tree, scroll) have
11820         this style, "display-only" ones (static, progress gauge) do
11821         not. This style is currently ignored by XEmacs though. Also,
11822         removed the WS_EX_CONTROLPARENT style - it is not for children,
11823         it is for their parents!
11824         (mswindows_edit_field_instantiate): Ditto.
11825         (mswindows_progress_gauge_instantiate): Ditto.
11826         (mswindows_tree_view_instantiate): Ditto.
11827         (mswindows_tab_control_instantiate): Ditto.
11828         (mswindows_scrollbar_instantiate): Ditto.
11829         (mswindows_combo_box_instantiate): Ditto.
11830         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
11831         style to the "clip" window.
11832         (mswindows_button_instantiate): Removed compilation warning by
11833         equally typing terms of the ?: operator.
11834
11835 2000-01-12  Didier Verna  <didier@xemacs.org>
11836
11837         * redisplay.c (generate_fstring_runes): new parameter holding the
11838         last modeline-format extent.
11839         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
11840         extent, fill the glyph block with it.
11841         (generate_fstring_runes): handle these parameters.
11842         (generate_formatted_string_db): ditto.
11843
11844         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
11845         glyphs'extents in the modeline.
11846
11847 1999-01-11  Mike Woolley  <mike@bulsara.com>
11848
11849         * ntheap.c: Reduced the reserved heap space from 1Gb down to
11850         256Mb, as a workaround for the non-starting problem many people
11851         have experienced.
11852
11853 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
11854
11855         * console-tty.c (Fset_console_tty_output_coding_system):
11856         Force redrawing tty frame.
11857
11858 2000-01-10  Didier Verna  <didier@xemacs.org>
11859
11860         * redisplay.c (generate_fstring_runes): fix size computation bug.
11861
11862 2000-01-09  William M. Perry <wmperry@aventail.com>
11863
11864         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
11865
11866 2000-01-09  Andy Piper  <andy@xemacs.org>
11867
11868         * glyphs-msw.c: index -> i to avoid shadows.
11869         (xbm_create_bitmap_from_data): make static.
11870         (check_valid_string_or_int): deleted.
11871         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
11872
11873         * glyphs-x.c (x_update_subwindow): remove unused args.
11874
11875         * glyphs.c (glyph_image_instance): return the thing. Don't set the
11876         back pointer - this is done in allocate_image_instance.
11877         (query_string_font): return Qnil to make the compiler happy.
11878         (unmap_subwindow): set to ~0 to make the compiler happy.
11879         (glyph_query_geometry): comment out until used.
11880         (glyph_layout): ditto.
11881
11882 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
11883
11884         * insdel.c (signal_after_change): Remove extraneous unbind_to().