(M-18985): Separate C5-2E4F; map to U-000241EF; add
[chise/xemacs-chise.git-] / src / ChangeLog
1 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * lrecord.h (struct lrecord_header): Delete `older'.
4         (set_lheader_implementation): Delete code for `older'.
5         (set_lheader_older_implementation): Deleted.
6         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
7         (OLDER_RECORD_P): Deleted.
8         (OLDER_RECORD_HEADER_P): Deleted.
9         (alloc_older_lcrecord): Deleted.
10         (alloc_older_lcrecord_type): Deleted.
11
12         * alloc.c (all_older_lcrecords): Deleted.
13         (alloc_older_lcrecord): Deleted.
14         (disksave_object_finalization_1): Delete code for older objects.
15         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
16         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
17
18 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
19
20         * mule-charset.c (decoding_table_put_char): Use `make_vector'
21         instead of `make_older_vector'.
22         (put_char_ccs_code_point): Likewise.
23         (mark_charset): Mark `cs->decoding_table'.
24         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
25
26         * lisp.h (make_older_vector): Deleted.
27         (make_vector_newer): Deleted.
28
29         * config.h.in (HAVE_GGC): Deleted.
30
31         * alloc.c (make_older_vector): Deleted.
32         (make_vector_newer_1): Deleted.
33         (make_vector_newer): Deleted.
34
35 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
36
37         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
38         (Qideograph_daikanwa_2): New variable.
39         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
40         (complex_vars_of_mule_charset): Add new coded-charset
41         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
42         `LEADING_BYTE_DAIKANWA'.
43
44         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
45         (LEADING_BYTE_DAIKANWA_1): New macro.
46         (LEADING_BYTE_DAIKANWA_2): New macro.
47         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
48
49 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
50
51         * mule-charset.c (complex_vars_of_mule_charset): Change
52         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
53         the second revised version.
54
55 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
56
57         * mule-charset.c (Vcharset_ucs_smp): New variable.
58         (Vcharset_ucs_sip): New variable.
59         (Qucs_smp): New variable.
60         (Qucs_sip): New variable.
61         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
62         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
63         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
64         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
65         `ucs-bmp'; addn new coded-charset `ucs-smp' and `ucs-sip'; change
66         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
67
68         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
69         (LEADING_BYTE_UCS_SIP): New macro.
70         (MIN_CHAR_SMP): New macro.
71         (MAX_CHAR_SMP): New macro.
72         (MIN_CHAR_SIP): New macro.
73         (MAX_CHAR_SIP): New macro.
74
75 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
76
77         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
78         utf-2000.
79
80 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
81
82         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
83         value; don't store value into `encoding_table' of `Lisp_Charset'.
84         (mark_charset): `encoding_table' was deleted.
85         (charset_description): Likewise.
86         (make_charset): Likewise.
87         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
88         `put_char_ccs_code_point'.
89
90         * chartab.h (Fput_char_attribute): New EXFUN.
91
92         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
93         is unified with normal symbol space.
94         (Fget_char_attribute): Likewise.
95         (Fput_char_attribute): Likewise; behavior of
96         `put_char_ccs_code_point' is changed.
97
98         * char-ucs.h: Include "elhash.h".
99         (Vchar_attribute_hash_table): New external variable.
100         (struct Lisp_Charset): Delete `encoding_table'.
101         (CHARSET_ENCODING_TABLE): New implementation; refer
102         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
103         `Lisp_Charset'.
104
105 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
106
107         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
108         (cs) == 0.
109
110 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
111
112         * text-coding.c (char_encode_big5): Prefer charset-g1 than
113         `chinese-big5'.
114
115 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
116
117         * chartab.c (uint8_byte_table_description): New constant.
118         (uint8-byte-table): Use `uint8_byte_table_description'.
119         (uint16_byte_table_description): New constant.
120         (uint16-byte-table): Use `uint16_byte_table_description'.
121
122 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
123
124         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
125         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
126
127 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
128
129         * mule-charset.c (Vcharset_ucs_ks): New variable.
130         (Qucs_ks): New variable.
131         (syms_of_mule_charset): Add new symbol `ucs-ks'.
132         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
133
134         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
135
136 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
137
138         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
139         (Fdecode_char): Likewise.
140
141         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
142         chartab.h.
143         (Fdefine_char): Modify for Fdecode_char.
144         (Ffind_char): Likewise.
145
146         * mule-charset.c (Fdecode_char): Add new optional argument
147         `defined-only'.
148         (Fdecode_builtin_char): Modify for `Fdecode_char'.
149
150 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
151
152         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
153         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
154         (allocate_coding_system): Initialize initial-charsets of
155         CODESYS_BIG5 in XEmacs UTF-2000.
156         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
157         CODESYS_BIG5 in XEmacs UTF-2000.
158         (decode_coding_big5): Use initial-charset-g0 and -g1 of
159         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
160
161         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
162         variables.
163         (Qideograph_hanziku_{1 .. 12}): Likewise.
164         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
165         .. 12}'.
166         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
167         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
168         `ideograph-hanziku-{1 .. 12}'.
169
170         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
171         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
172         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
173         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
174         (DECODE_DEFINED_CHAR): New inline function.
175         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
176
177 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
178
179         * mule-charset.c (Vcharset_china3_jef): Renamed from
180         `Vcharset_japanese_jef_china3'.
181         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
182         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
183         `{MIN|MAX}_CHAR_JEF_CHINA3'..
184         (syms_of_mule_charset): Rename `china3-jef' from
185         `japanese-jef-china3'.
186         (complex_vars_of_mule_charset): Likewise; rename
187         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
188
189         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
190         `LEADING_BYTE_JEF_CHINA3'.
191         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
192         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
193
194 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
195
196         * mule-charset.c (encode_builtin_char_1): Comment out special code
197         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
198
199         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
200         (MAX_CHAR_MOJIKYO_0): Comment out.
201         (MIN_CHAR_CBETA): Changed to 0x00E20000.
202         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
203         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
204         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
205
206 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
207
208         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
209         (Qideograph_cbeta): New variable.
210         (encode_builtin_char_1): Comment out special code for
211         coded-charset `mojikyo' and `japanese-jef-china3'.
212         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
213         (complex_vars_of_mule_charset): Add new coded-charset
214         `ideograph-cbeta'.
215
216         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
217         (MIN_CHAR_CBETA): New macro.
218         (MAX_CHAR_CBETA): New macro.
219
220 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
221
222         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
223         (LEADING_BYTE_JEF_CHINA3): New macro.
224         (MIN_CHAR_JEF_CHINA3): New macro.
225         (MAX_CHAR_JEF_CHINA3): Likewise.
226         (DECODE_CHAR): Fixed.
227
228 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
229
230         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
231         (Qjapanese_jef_china3): New variable.
232         (encode_builtin_char_1): Support `japanese-jef-china3'.
233         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
234         (complex_vars_of_mule_charset): Add new coded-charset
235         `japanese-jef-china3'.
236
237 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
238
239         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
240         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
241         94^4, 96^3, 96^4, 128^n and 256^n set.
242         (put_char_table): Use `XCHARSET_CELL_RANGE'.
243         (map_char_table): Likewise.
244
245 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
246
247         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
248         UTF-2000.
249
250 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
251
252         * chartab.h (get_char_id_table): New inline function.
253
254         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
255         function.
256
257 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
258
259         * chartab.h (decode_char_table_range): New prototype in XEmacs
260         UTF-2000.
261         (put_char_id_table): New inline function in XEmacs UTF-2000.
262
263         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
264         function.
265         (decode_char_table_range): Delete static declaration in XEmacs
266         UTF-2000.
267
268 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
269
270         * chartab.c (put_char_id_table): Use `put_char_table'.
271
272 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
273
274         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
275         (map_over_uint16_byte_table): Likewise.
276         (map_over_byte_table): Likewise.
277         (map_char_table): Modify for `map_over_uint8_byte_table',
278         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
279         UTF-2000.
280
281 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
282
283         * chartab.c (struct map_char_table_for_charset_arg): New
284         structure.
285         (map_char_table_for_charset_fun): New function.
286         (map_char_table): Use `map_char_table' for encoding_table of
287         `range->charset'.
288
289 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
290
291         * chartab.c (map_char_table): Check a character is found in
292         range->charset instead of non default value is defined in
293         char-table when range is CHARTAB_RANGE_ROW.
294
295 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
296
297         * chartab.c (map_char_id_table): Deleted.
298         (Fmap_char_attribute): Use `map_char_table' instead of
299         `map_char_id_table'.
300
301 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
302
303         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
304         UTF-2000.
305         (update_syntax_table): Deleted in XEmacs UTF-2000.
306
307         * syntax.c (find_defun_start): Use `syntax_table' instead of
308         `mirror_syntax_table' in XEmacs UTF-2000.
309         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
310         UTF-2000.
311         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
312         XEmacs UTF-2000.
313         (Fmatching_paren): Likewise.
314         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
315         in XEmacs UTF-2000.
316         (find_start_of_comment): Likewise.
317         (find_end_of_comment): Likewise.
318         (Fforward_comment): Likewise.
319         (scan_lists): Likewise.
320         (char_quoted): Likewise.
321         (Fbackward_prefix_chars): Likewise.
322         (scan_sexps_forward): Likewise.
323         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
324         (update_syntax_table): Likewise.
325
326         * search.c (skip_chars): Use `syntax_table' instead of
327         `mirror_syntax_table' in XEmacs UTF-2000.
328         (wordify): Likewise.
329         (Freplace_match): Likewise.
330
331         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
332         `mirror_syntax_table' in XEmacs UTF-2000.
333         (WORDCHAR_P_UNSAFE): Likewise.
334         (re_match_2_internal): Likewise.
335
336         * font-lock.c (find_context): Use `buf->syntax_table' instead of
337         `buf->mirror_syntax_table' in XEmacs UTF-2000.
338
339         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
340         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
341
342         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
343         XEmacs UTF-2000.
344
345         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
346         UTF-2000.
347         (print_char_table): Print `default_value' in XEmacs UTF-2000.
348         (char_table_description): Delete `mirror_table' in XEmacs
349         UTF-2000.
350         (fill_char_table): Don't call `update_syntax_table' in XEmacs
351         UTF-2000.
352         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
353         (Fcopy_char_table): Likewise.
354         (put_char_table): Don't call `update_syntax_table' in XEmacs
355         UTF-2000.
356
357         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
358         `buf->mirror_syntax_table' in XEmacs UTF-2000.
359         (casify_region_internal): Likewise.
360
361         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
362
363         * buffer.c (common_init_complex_vars_of_buffer): Don't use
364         `mirror_syntax_table' in XEmacs UTF-2000.
365
366         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
367         `buf->mirror_syntax_table' in XEmacs UTF-2000.
368         (Fexpand_abbrev): Likewise.
369
370 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
371
372         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
373
374 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
375
376         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
377         (map_over_uint16_byte_table): Likewise.
378         (map_over_byte_table): Likewise.
379         (get_char_id_table): Refer `cit->default_value'.
380         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
381         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
382         of character-id ranges.
383         (mark_char_table): Mark `ct->default_value'.
384         (char_table_description): Add `default_value'.
385         (fill_char_table): Use `default_value'.
386         (decode_char_table_range): Decode `nil' as
387         `CHARTAB_RANGE_DEFAULT'.
388         (get_char_id_table): Refer `cit->default_value'.
389         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
390         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
391         temporary hack; check value of char-table is bound or not.
392         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
393
394         * chartab.h (struct Lisp_Char_Table): Add new member
395         `default_value' in XEmacs UTF-2000.
396         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
397         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
398         UTF-2000.
399
400 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
401
402         * chartab.h (Lisp_Char_ID_Table): Deleted.
403
404         * chartab.c (char_table_description): Fix typo.
405         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
406         `Lisp_Char_ID_Table'.
407
408 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
409
410         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
411         `CHAR_ID_TABLE_P'.
412
413         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
414         `CHAR_ID_TABLE_P'.
415
416         * chartab.h (XCHAR_ID_TABLE): Deleted.
417         (XSETCHAR_ID_TABLE): Deleted.
418         (CHAR_ID_TABLE_P): Deleted.
419
420         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
421         `CHAR_ID_TABLE_P'.
422         (Fget_composite_char): Likewise.
423         (put_char_table): Likewise.
424         (add_char_attribute_alist_mapper): Fixed.
425         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
426         `CHAR_ID_TABLE_P'.
427         (Fget_char_attribute): Likewise.
428         (Fget_char_attribute): Likewise.
429         (Fmap_char_attribute): Likewise.
430
431         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
432         `CHAR_ID_TABLE_P'.
433         (encode_char_1): Likewise.
434
435 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
436
437         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
438         `XCHAR_ID_TABLE'.
439
440         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
441         instead of `XCHAR_ID_TABLE'.
442         (remove_char_ccs): Likewise.
443
444         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
445         `XCHAR_ID_TABLE'.
446         (Fget_composite_char): Likewise.
447         (Fchar_variants): Likewise.
448         (put_char_table): Likewise.
449         (add_char_attribute_alist_mapper): Likewise.
450         (Fchar_attribute_alist): Likewise.
451         (Fget_char_attribute): Likewise.
452         (Fput_char_attribute): Likewise.
453         (Fmap_char_attribute): Likewise.
454         (Fmap_char_attribute): Likewise.
455
456         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
457         `XCHAR_ID_TABLE'.
458         (encode_char_1): Likewise.
459
460 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
461
462         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
463         `Lisp_Char_ID_Table'.
464         (mark_char_id_table): Deleted.
465         (print_char_id_table): Likewise.
466         (char_id_table_equal): Likewise.
467         (char_id_table_hash): Likewise.
468         (char_id_table_description): Likewise.
469         (char_id_table): Likewise.
470         (make_char_id_table): Use `Fmake_char_table' and
471         `fill_char_table'.
472         (get_char_id_table): Use `Lisp_Char_Table' instead of
473         `Lisp_Char_ID_Table'.
474         (put_char_id_table): Likewise.
475         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
476         `XCHAR_ID_TABLE'.
477         (Fremove_char_attribute): Likewise.
478         (syms_of_chartab): Don't define type `char-id-table'.
479
480         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
481         (char_id_table): Likewise.
482         (GC_CHAR_ID_TABLE_P): Likewise.
483         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
484         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
485         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
486         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
487         (get_char_id_table): Use `Lisp_Char_Table' instead of
488         `Lisp_Char_ID_Table'.
489         (put_char_id_table_0): Likewise.
490         (put_char_id_table): Likewise.
491
492 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
493
494         * chartab.h: Lisp_Byte_Table related codes are moved from
495         chartab.h.
496
497         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
498
499 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
500
501         * chartab.h: Don't include "chartab.h".
502         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
503         (Lisp_Char_ID_Table): Likewise.
504         (char_id_table): Likewise.
505         (XCHAR_ID_TABLE): Likewise.
506         (XSETCHAR_ID_TABLE): Likewise.
507         (CHAR_ID_TABLE_P): Likewise.
508         (GC_CHAR_ID_TABLE_P): Likewise.
509         (get_char_id_table): Likewise.
510
511         * char-ucs.h: Include "chartab.h".
512         (struct Lisp_Char_ID_Table): Moved to chartab.h.
513         (Lisp_Char_ID_Table): Likewise.
514         (char_id_table): Likewise.
515         (XCHAR_ID_TABLE): Likewise.
516         (XSETCHAR_ID_TABLE): Likewise.
517         (CHAR_ID_TABLE_P): Likewise.
518         (GC_CHAR_ID_TABLE_P): Likewise.
519         (get_char_id_table): Likewise.
520
521 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
522
523         * chartab.c (copy_uint8_byte_table): New function.
524         (copy_uint16_byte_table): New function.
525         (copy_byte_table): New function.
526         (map_over_uint8_byte_table): Modify to avoid huge numbers of
527         characters to call.
528         (map_over_uint16_byte_table): Likewise.
529         (map_over_byte_table): Likewise.
530         (get_byte_table): Move prototype to chartab.h.
531         (put_byte_table): Likewise.
532         (put_char_id_table_0): Moved to chartab.h.
533         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
534         (char_table_entry_equal): Likewise.
535         (char_table_entry_hash): Likewise.
536         (char_table_entry_description): Likewise.
537         (char_table_entry): Likewise.
538         (make_char_table_entry): Likewise.
539         (copy_char_table_entry): Likewise.
540         (get_non_ascii_char_table_value): Likewise.
541         (map_over_charset_ascii): Likewise.
542         (map_over_charset_control_1): Likewise.
543         (map_over_charset_row): Likewise.
544         (map_over_other_charset): Likewise.
545         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
546         (print_char_table): Likewise.
547         (char_table_equal): Likewise.
548         (char_table_hash): Likewise.
549         (char_table_description): Likewise.
550         (fill_char_table): Likewise.
551         (Fcopy_char_table): Likewise.
552         (get_char_table): Likewise.
553         (Fget_range_char_table): Likewise.
554         (put_char_table): Likewise.
555         (map_char_table): Likewise.
556         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
557         UTF-2000.
558
559 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
560
561         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
562         `Vauto_fill_chars' in XEmacs UTF-2000.
563
564         * chartab.h (get_byte_table): New prototype [moved from
565         chartab.c].
566         (put_byte_table): Likewise [moved from chartab.c].
567         (put_char_id_table_0): New inline function [moved from chartab.c].
568         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
569         (Lisp_Char_Table_Entry): Likewise.
570         (char_table_entry): Likewise.
571         (XCHAR_TABLE_ENTRY): Likewise.
572         (XSETCHAR_TABLE_ENTRY): Likewise.
573         (CHAR_TABLE_ENTRYP): Likewise.
574         (CHECK_CHAR_TABLE_ENTRY): Likewise.
575         (NUM_ASCII_CHARS): Likewise.
576         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
577         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
578
579 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
580
581         * chartab.c (get_char_id_table): Change interface.
582         (put_char_id_table_0): New function.
583         (put_char_id_table): Change interface; new implementation.
584         (Fget_composite_char): Modify for interface change of
585         `get_char_id_table'.
586         (Fchar_variants): Likewise.
587         (add_char_attribute_alist_mapper): Likewise.
588         (Fchar_attribute_alist): Likewise.
589         (Fget_char_attribute): Likewise.
590         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
591         as same as character as the first argument like `put-char-table';
592         modify for interface change of `put_char_id_table'.
593         (Fremove_char_attribute): Modify for interface change of
594         `put_char_id_table'.
595
596 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
597
598         * text-coding.c: Sync up with XEmacs 21.2.41.
599         (COMPOSE_ADD_CHAR): Modify for interface change of
600         `get_char_id_table'.
601
602         * mule-charset.c (put_char_ccs_code_point): Modify for interface
603         change of `put_char_id_table'.
604         (remove_char_ccs): Likewise.
605
606         * chartab.h (put_char_id_table): Change interface.
607
608         * char-ucs.h (get_char_id_table): Change interface.
609         (charset_code_point): Modify for interface change of
610         `get_char_id_table'.
611         (encode_char_1): Likewise.
612
613 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
614
615         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
616         argument `ccs'.
617         (map_over_uint16_byte_table): Likewise.
618         (map_over_byte_table): Likewise.
619         (map_char_id_table): Add new argument `range' like
620         `map_char_table'.
621         (Fmap_char_attribute): Add new argument `range' like
622         `Fmap_char_table'.
623
624 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
625
626         * chartab.c (map_over_uint8_byte_table): Change interface of
627         mapping function to use struct chartab_range instead of Emchar.
628         (map_over_uint16_byte_table): Likewise.
629         (map_over_byte_table): Likewise.
630         (map_char_id_table): Likewise.
631         (struct slow_map_char_id_table_arg): Deleted.
632         (slow_map_char_id_table_fun): Deleted.
633         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
634         function `slow_map_char_table_fun' instead of struct
635         `slow_map_char_id_table_arg' and function
636         `slow_map_char_id_table_fun'.
637
638 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
639
640         * mule-charset.c: Move char-it-table related codes to chartab.c.
641         (Vutf_2000_version): Moved to chartab.c.
642         (Fdefine_char): Likewise.
643         (Ffind_char): Likewise.
644         (syms_of_mule_charset): Move types `uint8-byte-table',
645         `uint16-byte-table', `byte-table' and `char-id-table' to
646         chartab.c; move functions `char_attribute_list,
647         `find_char_attribute_table, `char_attribute_alist,
648         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
649         `map_char_attribute, `define_char, `find_char, `char_variants and
650         `get_composite_char to chartab.c; move symbols `=>ucs',
651         `->decomposition', `compat', `isolated', `initial', `medial',
652         `final', `vertical', `noBreak', `fraction', `super', `sub',
653         `circle', `square', `wide', `narrow', `small' and `font' to
654         chartab.c.
655         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
656         setting codes for `Vcharacter_composition_table' and
657         `Vcharacter_variant_table' to chartab.c.
658         (complex_vars_of_mule_charset): Move setting code for
659         `Vchar_attribute_hash_table' to chartab.c.
660
661         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
662         (make_char_id_table): New prototype.
663         (put_char_id_table): Likewise.
664         (Fget_char_attribute): Likewise.
665
666         * chartab.c: Move char-id-table related code from mule-charset.c.
667         (Vutf_2000_version): Moved from mule-charset.c.
668
669         * char-ucs.h (Qucs): New external variable.
670         (put_char_ccs_code_point): New prototype.
671         (remove_char_ccs): Likewise.
672
673 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
674
675         * mule-charset.c (Vcharset_ucs_jis): New variable.
676         (Qucs_jis): Likewise.
677         (syms_of_mule_charset): Add new symbol `ucs-jis'.
678         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
679
680         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
681
682 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
683
684         * mule-charset.c (map_over_uint8_byte_table): New function.
685         (map_over_uint16_byte_table): Likewise.
686         (map_over_byte_table): Likewise.
687         (map_char_id_table): Likewise.
688         (slow_map_char_id_table_fun): Likewise.
689         (Fmap_char_attribute): Likewise.
690         (syms_of_mule_charset): Add new function `map-char-attribute'.
691
692 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
693
694         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
695         (syms_of_mule_charset): Add new function `find-char'.
696
697 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
698
699         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
700         XEmacs UTF-2000.
701         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
702         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
703         XEmacs UTF-2000.
704         (complex_vars_of_mule_charset): Add new coded-charset
705         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
706         `ideograph-gt-pj-*'.
707
708         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
709
710 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
711
712         * mule-charset.c (encode_builtin_char_1): Purge codes about
713         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
714         {MIN|MAX}_CHAR_HEBREW.
715         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
716         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
717
718         * char-ucs.h (MIN_CHAR_GREEK): Purged.
719         (MAX_CHAR_GREEK): Purged.
720         (MIN_CHAR_CYRILLIC): Purged.
721         (MAX_CHAR_CYRILLIC): Purged.
722         (MIN_CHAR_HEBREW): Commented out.
723         (MAX_CHAR_HEBREW): Likewise.
724
725 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
726
727         * mule-charset.c (Qto_ucs): New variable.
728         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
729         (Fdefine_char): Likewise.
730         (syms_of_mule_charset): Add new symbol `=>ucs'.
731
732 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
733
734         * mule-charset.c (Fdecode_char): Fixed.
735
736 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
737
738         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
739         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
740         "tcvn5712-1".
741
742 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
743
744         * mule-charset.c (Vcharset_ucs_big5): New variable.
745         (Qucs_big5): Likewise.
746         (syms_of_mule_charset): Add new symbol `ucs-big5'.
747         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
748
749         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
750
751 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
752
753         * mule-charset.c (decode_builtin_char): Check Big5 code range
754         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
755
756 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
757
758         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
759         (Qchinese_gb12345): Likewise.
760         (Fdecode_builtin_char): Fixed.
761         (syms_of_mule_charset): Add `chinese-gb12345'.
762         (complex_vars_of_mule_charset): Add coded-charset
763         `chinese-gb12345'.
764
765         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
766         (LEADING_BYTE_CHINESE_GB12345): New macro.
767
768 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
769
770         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
771         and `latin-viscii-upper' for `latin-viscii'.
772
773 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
774
775         * mule-charset.c (Fdecode_builtin_char): Comment out
776         regularization code for ISO-IR GR representation.
777
778 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
779
780         * mule-charset.c (decode_builtin_char): New function; renamed from
781         `make_builtin_char'; return -1 instead of signal.
782         (Fdecode_builtin_char): Use `decode_builtin_char'.
783
784         * char-ucs.h (decode_builtin_char): New prototype; renamed from
785         `make_builtin_char'.
786         (DECODE_CHAR): Use `decode_builtin_char' instead of
787         `make_builtin_char'; use mapping table of `chinese-big5' for
788         `chinese-big5-{1,2}'.
789
790 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
791
792         * text-coding.c (char_encode_big5): New function.
793         (char_finish_big5): Likewise.
794         (reset_encoding_stream): Use `char_encode_big5' and
795         `char_finish_big5' for CODESYS_BIG5.
796         (mule_encode): Don't use `encode_coding_big5'.
797         (encode_coding_big5): Deleted.
798
799 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
800
801         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
802         0x81- in XEmacs UTF-2000.
803         (detect_coding_big5): Likewise.
804
805 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
806
807         * mule-charset.c (Fdefine_char): Don't use a CCS property to
808         generate character-id if the CCS property does not have
809         corresponding predefined character.
810         (make_builtin_char): Return -1 if corresponding predefined
811         character is not found.
812         (Fdecode_char): Return nil if corresponding character is not
813         found.
814         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
815         don't map to builtin ucs space.
816
817 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
818
819         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
820         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
821
822 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
823
824         * mule-charset.c (Vcharset_ideograph_gt): New variable.
825         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
826         (Qideograph_gt): Likewise.
827         (Qideograph_gt_pj_{1..11}): Likewise.
828         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
829         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
830         `ideograph-gt-pj-11'.
831         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
832         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
833         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
834
835         * char-ucs.h (LEADING_BYTE_GT): New macro.
836         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
837         (MIN_CHAR_GT): Likewise.
838         (MAX_CHAR_GT): Likewise.
839
840 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
841
842         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
843         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
844
845         * doprnt.c (unsigned_int_converters): Add `c'.
846         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
847
848         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
849         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
850         `MIN_CHAR_MOJIKYO'.
851         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
852         (MAX_CHAR_MOJIKYO_0): New macro.
853         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
854
855 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * mule-charset.c (Fdefine_char): Delete cemented out code.
858         (encode_builtin_char_1): Modify for new allocation of builtin
859         Mojikyo characters.
860
861         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
862
863 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
864
865         * mule-charset.c (Vcharset_ucs_cns): New variable.
866         (Qucs_cns): New variable.
867         (syms_of_mule_charset): Add new symbol `ucs-cns'.
868         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
869
870 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
871
872         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
873
874 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
875
876         * search.c (search_buffer): Make `charset_base_code' as
877         character-id >> 6 to eliminate the corresponding last byte in
878         UTF-8 representation [I'm not sure it is right thing].
879         (boyer_moore): Likewise.
880
881 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
882
883         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
884         representation in MULE.
885
886 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
887
888         * text-coding.c (Fmake_coding_system): Use
889         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
890         `EXTERNAL_PROPERTY_LIST_LOOP'.
891
892 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
893
894         * text-coding.c (decode_output_utf8_partial_char): New function.
895         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
896
897 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
898
899         * text-coding.c (decode_coding_utf8): Output original byte
900         sequence if it is broken; change order of conditions.
901
902         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
903         of conditions.
904
905         * mb-multibyte.h (BYTE_ASCII_P):
906         Use bit ops for char-signedness safety.
907         (BYTE_C0_P): Use bit ops for char-signedness safety.
908         (BYTE_C1_P): Use bit ops for char-signedness safety.
909
910         * character.h: (XCHAR_OR_CHAR_INT):
911         Always use inline function.
912         Remove redundant type checking assert() - XINT will abort quite
913         nicely.
914
915 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
916
917         * text-coding.c: (Fencode_shift_jis_char):
918         (Fencode_big5_char):
919         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
920         Replace 0 with '\0' when working with bytes.
921         Replace initial "(" with "\(" in docstrings.
922
923         (Fmake_coding_system):
924         When type is ccl and value is vector, register it with a proper
925         symbol.  And checks whether the given ccl program is valid.
926         (mule_decode): When calling ccl_driver, if src indicates
927         NULL pointer, set an empty string instead.
928         (mule_encode): Likewise.
929
930         (detect_eol_type):
931         (detect_coding_sjis):
932         (decode_coding_sjis):
933         (detect_coding_big5):
934         (decode_coding_big5):
935         (detect_coding_ucs4):
936         (decode_coding_ucs4):
937         (detect_coding_utf8):
938         (decode_coding_utf8):
939         (detect_coding_iso2022):
940         (decode_coding_iso2022):
941         (decode_coding_no_conversion):
942         (mule_decode):
943         Make all detecting and decoding functions take an Extbyte * arg.
944         (text_encode_generic):
945         (encode_coding_big5):
946         (encode_coding_no_conversion):
947         (mule_encode):
948         Make all encoding functions take a Bufbyte * arg.
949         Use size_t instead of unsigned int for memory sizes.
950         Only cast to unsigned char whenever dereferencing Extbyte *.
951
952         (struct lrecord_description fcd_description_1): Use countof.
953         (complex_vars_of_file_coding):
954         Use countof instead of sizeof.
955         Use CHECK_NATNUM instead of CHECK_INT.
956
957 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
958
959         * mule-charset.c (Fget_char_attribute): Add new optional argument
960         `default-value'.
961         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
962         (remove_char_ccs): Likewise.
963
964 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
965
966         * text-coding.c (char_encode_shift_jis): New implementation in
967         UTF-2000.
968         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
969         ...)'.
970
971         * mule-charset.c (Vcharset_chinese_big5): New variable in
972         UTF-2000.
973         (Qchinese_big5): New variable in UTF-2000.
974         (BIG5_SAME_ROW): New macro in UTF-2000.
975         (make_builtin_char): Use builtin characters of
976         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
977         characters of `Vcharset_chinese_big5'.
978         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
979         (complex_vars_of_mule_charset): Add new coded-charset
980         `chinese-big5' in UTF-2000.
981
982         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
983         (Vcharset_chinese_big5): New external variable declaration.
984         (Vcharset_japanese_jisx0208_1990): Likewise.
985
986 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
987
988         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
989         function.
990         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
991
992 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
993
994         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
995         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
996         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
997         `mojikyo-pj-*'.
998
999 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1000
1001         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
1002
1003 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1004
1005         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1006         to 0.17.
1007
1008 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1009
1010         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
1011         for `CHARSET_BY_ATTRIBUTES'.
1012         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1013         `CHARSET_BY_ATTRIBUTES'.
1014
1015         * text-coding.c (struct decoding_stream): Rename member `CH' to
1016         `CPOS'.
1017         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
1018         (decode_coding_sjis): Likewise.
1019         (decode_coding_big5): Likewise.
1020         (decode_coding_ucs4): Likewise.
1021         (decode_coding_utf8): Likewise.
1022         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
1023         `CHARSET_BY_ATTRIBUTES'.
1024         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
1025         `str->counter'; decode 3, 4 bytes sets.
1026         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
1027         sets.
1028         (decode_coding_no_conversion): Use `str->cpos' instead of
1029         `str->ch'.
1030
1031         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
1032         (Qmojikyo_2022_1): New variable.
1033         (make_charset): Don't use `CHARSET_TYPE_*'.
1034         (range_charset_code_point): Support coded-charset
1035         `mojikyo-2022-1'.
1036         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
1037         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
1038         `CHARSET_BY_ATTRIBUTES'.
1039         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
1040         `CHARSET_BY_ATTRIBUTES'.
1041         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
1042         (complex_vars_of_mule_charset): Add new coded-charset
1043         `mojikyo-2022-1'.
1044
1045         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
1046         interface; changed to inline function.
1047
1048         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
1049         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
1050         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
1051         (CHARSET_TYPE_94): Deleted.
1052         (CHARSET_TYPE_94X94): Deleted.
1053         (CHARSET_TYPE_96): Deleted.
1054         (CHARSET_TYPE_96X96): Deleted.
1055         (CHARSET_TYPE_128): Deleted.
1056         (CHARSET_TYPE_128X128): Deleted.
1057         (CHARSET_TYPE_256): Deleted.
1058         (CHARSET_TYPE_256X256): Deleted.
1059         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
1060         to inline function.
1061         (DECODE_MOJIKYO_2022): New inline function.
1062         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
1063         `Vcharset_mojikyo_2022_1'.
1064
1065 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1066
1067         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
1068         instead of `EQ'.
1069         (put_byte_table): Likewise.
1070         (char_id_table_equal): Use `get_byte_table' [new implementation].
1071
1072 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1073
1074         * mule-charset.c: Include <limits.h> in UTF-2000.
1075         (BT_UINT8_MIN): New macro in UTF-2000.
1076         (BT_UINT8_MAX): New macro in UTF-2000.
1077         (BT_UINT8_t): New macro in UTF-2000.
1078         (BT_UINT8_nil): New macro in UTF-2000.
1079         (BT_UINT8_unbound): New macro in UTF-2000.
1080         (INT_UINT8_P): New inline function in UTF-2000.
1081         (UINT8_VALUE_P): New inline function in UTF-2000.
1082         (UINT8_ENCODE): New inline function in UTF-2000.
1083         (UINT8_DECODE): New inline function in UTF-2000.
1084         (mark_uint8_byte_table): New function in UTF-2000.
1085         (print_uint8_byte_table): New function in UTF-2000.
1086         (uint8_byte_table_equal): New function in UTF-2000.
1087         (uint8_byte_table_hash): New function in UTF-2000.
1088         (make_uint8_byte_table): New function in UTF-2000.
1089         (uint8_byte_table_same_value_p): New function in UTF-2000.
1090         (BT_UINT16_MIN): New macro in UTF-2000.
1091         (BT_UINT16_MAX): New macro in UTF-2000.
1092         (BT_UINT16_t): New macro in UTF-2000.
1093         (BT_UINT16_nil): New macro in UTF-2000.
1094         (BT_UINT16_unbound): New macro in UTF-2000.
1095         (INT_UINT16_P): New inline function in UTF-2000.
1096         (UINT16_VALUE_P): New inline function in UTF-2000.
1097         (UINT16_ENCODE): New inline function in UTF-2000.
1098         (UINT16_DECODE): New inline function in UTF-2000.
1099         (UINT8_TO_UINT16): New inline function in UTF-2000.
1100         (mark_uint16_byte_table): New function in UTF-2000.
1101         (print_uint16_byte_table): New function in UTF-2000.
1102         (uint16_byte_table_equal): New function in UTF-2000.
1103         (uint16_byte_table_hash): New function in UTF-2000.
1104         (make_uint16_byte_table): New function in UTF-2000.
1105         (uint16_byte_table_same_value_p): New function in UTF-2000.
1106         (print_byte_table): New function in UTF-2000.
1107         (byte-table): Use `print_byte_table' as printer.
1108         (make_byte_table): Delete second argument `older'.
1109         (byte_table_same_value_p): New function in UTF-2000.
1110         (copy_byte_table): Deleted.
1111         (get_byte_table): New function in UTF-2000.
1112         (put_byte_table): New function in UTF-2000.
1113         (print_char_id_table): New function in UTF-2000.
1114         (char-id-table): Use `print_char_id_table' as printer.
1115         (make_char_id_table): Delete second argument `older'.
1116         (get_char_id_table): Use `get_byte_table [new implementation].
1117         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
1118         implementation].
1119         (Ffind_char_attribute_table): New function in UTF-2000.
1120         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
1121         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
1122         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
1123         (syms_of_mule_charset): Add new function
1124         `find-char-attribute-table' in UTF-2000.
1125
1126         * lrecord.h (enum lrecord_type): Add
1127         `lrecord_type_uint16_byte_table' and
1128         `lrecord_type_uint8_byte_table'.
1129
1130         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
1131         (Lisp_Uint8_Byte_Table): New type.
1132         (XUINT8_BYTE_TABLE): New macro.
1133         (XSETUINT8_BYTE_TABLE): New macro.
1134         (UINT8_BYTE_TABLE_P): New macro.
1135         (GC_UINT8_BYTE_TABLE_P): New macro.
1136         (struct Lisp_Uint16_Byte_Table): New structure.
1137         (Lisp_Uint16_Byte_Table): New type.
1138         (XUINT16_BYTE_TABLE): New macro.
1139         (XSETUINT16_BYTE_TABLE): New macro.
1140         (UINT16_BYTE_TABLE_P): New macro.
1141         (GC_UINT16_BYTE_TABLE_P): New macro.
1142
1143 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1144
1145         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
1146         (Vcharacter_ideographic_strokes_table): Deleted.
1147         (Vcharacter_total_strokes_table): Deleted.
1148         (Vcharacter_morohashi_daikanwa_table): Deleted.
1149         (Vcharacter_decomposition_table): Deleted.
1150         (Qname): Deleted because it is duplicated.
1151         (Qideographic_radical): Deleted.
1152         (Qideographic_strokes): Deleted.
1153         (Qtotal_strokes): Deleted.
1154         (Qmorohashi_daikanwa): Deleted.
1155         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
1156         `ideographic-radical', `ideographic-strokes', `total-strokes',
1157         `morohashi-daikanwa' and `->decomposition'.
1158         (Fget_char_attribute): Likewise.
1159         (Fput_char_attribute): Likewise; use `make-vector' instead of
1160         `make_older_vector' for `->decomposition' value.
1161         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
1162         `ideograph-daikanwa'.
1163         (syms_of_mule_charset): Delete builtin symbols `name',
1164         `ideographic-radical', `ideographic-strokes', `total-strokes' and
1165         `morohashi-daikanwa'.
1166         (vars_of_mule_charset): Don't setup
1167         `Vcharacter_ideographic_radical_table',
1168         `Vcharacter_ideographic_strokes_table',
1169         `Vcharacter_total_strokes_table',
1170         `Vcharacter_morohashi_daikanwa_table' and
1171         `Vcharacter_decomposition_table'.
1172
1173 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1174
1175         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
1176         `make_older_vector', `make_vector_newer_1' and
1177         `make_vector_newer'.
1178
1179         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
1180         `make_older_vector' and `make_vector_newer'.
1181
1182         * config.h.in (HAVE_GGC): New macro.
1183
1184 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1185
1186         * mule-charset.c (struct char_attribute_list_closure): New
1187         structure in UTF-2000.
1188         (add_char_attribute_to_list_mapper): New function in UTF-2000.
1189         (Fchar_attribute_list): Likewise.
1190         (Fset_charset_mapping_table): Use `make_vector_newer'.
1191         (Fdecode_builtin_char): New function in UTF-2000.
1192         (syms_of_mule_charset): Add new function `char-attribute-list' and
1193         `decode-builtin-char' in UTF-2000.
1194
1195         * lisp.h (make_vector_newer): New prototype.
1196
1197         * alloc.c (make_vector_newer_1): New function.
1198         (make_vector_newer): New function.
1199
1200 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1201
1202         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
1203         50100)'.
1204
1205 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1206
1207         * mule-charset.c (Vchar_attribute_hash_table): New variable.
1208         (Vcharacter_attribute_table): Deleted.
1209         (Vcharacter_name_table): Deleted.
1210         (put_char_attribute): Deleted.
1211         (remove_char_attribute): Deleted.
1212         (struct char_attribute_alist_closure): New structure.
1213         (add_char_attribute_alist_mapper): New function.
1214         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
1215         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
1216         (Fget_char_attribute): Likewise.
1217         (Fput_char_attribute): Likewise.
1218         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
1219         of `remove_char_attribute'.
1220         (Fdefine_char): Return character.
1221         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
1222         and `Vcharacter_name_table'.
1223         (complex_vars_of_mule_charset): Likewise
1224         `Vchar_attribute_hash_table'.
1225
1226 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1227
1228         * character.h (CHARC_CHARSET): New macro.
1229         (CHARC_CHARSET_ID): New macro.
1230         (CHARC_CODE_POINT): New macro.
1231         (CHARC_COLUMNS): New macro.
1232         (CHARC_TO_CHAR): New inline function.
1233         (CHARC_EQ): New inline function.
1234         (CHARC_ASCII_EQ): New inline function.
1235         (CHARC_IS_SPACE): New inline function.
1236         (ASCII_TO_CHARC): New inline function.
1237
1238         * char-ucs.h (encode_char_2): Deleted.
1239         (ENCODE_CHAR): Use `encode_char_1' again.
1240         (breakup_char_1): Likewise.
1241         (CHAR_TO_CHARC): New inline function.
1242
1243         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
1244
1245 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1246
1247         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
1248         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
1249         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
1250         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
1251         (create_string_text_block): Use `CHARC_ASCII_EQ' and
1252         `CHARC_IS_SPACE'.
1253         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
1254
1255         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
1256         `CHARC_CODE_POINT'.
1257         (x_output_display_block): Use `CHARC_CHARSET' and
1258         `CHARC_ASCII_EQ'.
1259
1260         * redisplay-tty.c (tty_output_display_block): Use
1261         `CHARC_ASCII_EQ'.
1262         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
1263
1264         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
1265
1266         * insdel.c (find_charsets_in_charc_string): Use
1267         `CHARC_CHARSET_ID'.
1268         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
1269         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
1270         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
1271         (convert_charc_string_into_malloced_string): Likewise.
1272
1273 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1274
1275         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
1276         instead of <Emchar_dynarr *> for buf; use
1277         `convert_bufbyte_string_into_charc_dynarr' instead of
1278         `convert_bufbyte_string_into_emchar_dynarr'; use
1279         `find_charsets_in_charc_string' instead of
1280         `find_charsets_in_emchar_string'.
1281
1282         * redisplay.h:
1283         - Include "character.h".
1284         (struct rune): New member `cglyph'; delete member `chr'.
1285
1286         * redisplay.c (redisplay_text_width_charc_string): New function;
1287         delete `redisplay_text_width_emchar_string'.
1288         (rtw_charc_dynarr): New variable; renamed from
1289         `rtw_emchar_dynarr'.
1290         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
1291         `rtw_emchar_dynarr'; use
1292         `convert_bufbyte_string_into_charc_dynarr' instead of
1293         `convert_bufbyte_string_into_emchar_dynarr'; use
1294         `redisplay_text_width_charc_string' instead of
1295         `redisplay_text_width_emchar_string'.
1296         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
1297         instead of `rtw_emchar_dynarr'; use
1298         `convert_bufbyte_string_into_charc_dynarr' instead of
1299         `convert_bufbyte_string_into_emchar_dynarr'.
1300         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
1301         `redisplay_text_width_charc_string' instead of
1302         `redisplay_text_width_emchar_string'.
1303         (create_text_block): Modify for <struct rune> change.
1304         (generate_formatted_string_db): Likewise.
1305         (create_string_text_block): Likewise.
1306         (pixel_to_glyph_translation): Likewise.
1307
1308         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
1309         instead of <const Emchar *>.
1310         (x_text_width): Likewise.
1311         (x_output_display_block): Use <Charc_dynarr *> instead
1312         <Emchar_dynarr *>; modify for <structure rune> change.
1313         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
1314         *>.
1315
1316         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
1317         <const Emchar *>; use `charc_string_displayed_columns' instead of
1318         `emchar_string_displayed_columns'.
1319         (tty_output_display_block): Use <Charc_dynarr *> instead of
1320         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
1321         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
1322         (tty_output_charc_dynarr_dynarr): New variable; renamed from
1323         `tty_output_emchar_dynarr_dynarr'.
1324         (tty_output_charc_dynarr): New function; delete
1325         `tty_output_charc_dynarr'.
1326
1327         * redisplay-output.c (compare_runes): Modify for `struct rune'.
1328         (redisplay_output_layout): Use <Charc_dynarr *> instead of
1329         <Emchar_dynarr *> for buf; use
1330         `convert_bufbyte_string_into_charc_dynarr' instead of
1331         `convert_bufbyte_string_into_emchar_dynarr'.
1332
1333         * frame.c (title_string_charc_dynarr): New variable; renamed from
1334         `title_string_emchar_dynarr'.
1335         (generate_title_string): Use `title_string_charc_dynarr' instead
1336         of `title_string_emchar_dynarr'; use
1337         `convert_charc_string_into_malloced_string' instead of
1338         `convert_emchar_string_into_malloced_string'.
1339         (init_frame): Use `title_string_charc_dynarr' instead of
1340         `title_string_emchar_dynarr'.
1341
1342         * console.h:
1343         - Include "character.h".
1344         (struct console_methods): Use <const Charc *> instead of <const
1345         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
1346         <Emchar_dynarr *> in output_string_method.
1347
1348         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
1349         <Emchar_dynarr *>.
1350
1351         * console-stream.c (stream_text_width): Use <const Charc *>
1352         instead of <const Emchar *>.
1353
1354         * character.h (Charc_dynarr): New type.
1355
1356         * char-ucs.h (structure Charc): New structure; define new type
1357         `Charc'.
1358
1359         * char-lb.h (DECODE_CHAR): New inline function.
1360         (encode_char_1): New inline function.
1361         (ENCODE_CHAR): New macro.
1362         (structure Charc): New structure; define new type `Charc'.
1363
1364         * char-1byte.h (Vcharset_control_1): New macro.
1365         (Vcharset_latin_iso8859_1): New macro.
1366         (DECODE_CHAR): New inline function.
1367         (encode_char_1): New inline function.
1368         (ENCODE_CHAR): New macro.
1369         (structure Charc): New structure; define new type `Charc'.
1370
1371         * insdel.c (find_charsets_in_charc_string): New function; delete
1372         `find_charsets_in_emchar_string'.
1373         (charc_string_displayed_columns): New function; delete
1374         `emchar_string_displayed_columns'.
1375         (convert_bufbyte_string_into_charc_dynarr): New function; delete
1376         `convert_bufbyte_string_into_emchar_dynarr'.
1377         (convert_charc_string_into_bufbyte_dynarr): New function; delete
1378         `convert_charc_string_into_bufbyte_dynarr'.
1379         (convert_charc_string_into_malloced_string): New function; delete
1380         `convert_charc_string_into_malloced_string'.
1381
1382         * buffer.h (find_charsets_in_charc_string): New prototype; delete
1383         `find_charsets_in_emchar_string'.
1384         (charc_string_displayed_columns): New prototype; delete
1385         `emchar_string_displayed_columns'.
1386         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
1387         `convert_charc_string_into_bufbyte_dynarr'.
1388         (convert_charc_string_into_malloced_string): New prototype; delete
1389         `convert_charc_string_into_malloced_string'.
1390
1391 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1392
1393         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
1394
1395 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1396
1397         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
1398
1399         * char-ucs.h: Use <short> for <Charset_ID>.
1400
1401         * mule-charset.h, char-1byte.h: Use <unsigned char> for
1402         <Charset_ID>.
1403
1404 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1405
1406         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1407         to 0.16.
1408
1409 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1410
1411         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
1412         variable.
1413         (Qmorohashi_daikanwa): New variable.
1414         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
1415         for `morohashi-daikanwa' attribute.
1416         (Fget_char_attribute): Likewise.
1417         (Fput_char_attribute): Likewise.
1418         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
1419         has the same value of `ideograph-daikanwa'.
1420         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
1421         (vars_of_mule_charset): Setup
1422         `Vcharacter_morohashi_daikanwa_table'.
1423
1424 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1425
1426         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
1427         attributes.
1428         (add_charset_to_list_mapper): Add `key' instead of
1429         `XCHARSET_NAME (value)' to return aliases.
1430
1431 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1432
1433         * mule-charset.c (Vcharacter_ideographic_radical_table): New
1434         variable.
1435         (Vcharacter_ideographic_strokes_table): New variable.
1436         (Qideographic_radical): New variable.
1437         (Qideographic_strokes): New variable.
1438         (Fchar_attribute_alist): Use
1439         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
1440         attribute; use `Vcharacter_ideographic_strokes_table' for
1441         `ideographic-strokes' attribute.
1442         (Fget_char_attribute): Likewise.
1443         (Fput_char_attribute): Likewise.
1444         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
1445         `ideographic-strokes'.
1446         (vars_of_mule_charset): Setup
1447         `Vcharacter_ideographic_radical_table' and
1448         `Vcharacter_ideographic_strokes_table'.
1449
1450 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1451
1452         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
1453         (Qtotal_strokes): New variable.
1454         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
1455         `total-strokes' attribute.
1456         (Fget_char_attribute): Likewise.
1457         (Fput_char_attribute): Likewise.
1458         (syms_of_mule_charset): Add new symbol `total-strokes'.
1459         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
1460
1461 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1462
1463         * mule-charset.c (Vcharacter_decomposition_table): New variable.
1464         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
1465         are found.
1466         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
1467         `->decomposition' attribute.
1468         (Fput_char_attribute): Likewise.
1469         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
1470
1471 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1472
1473         * mule-charset.c (decoding_table_check_elements): New function.
1474         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
1475
1476 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1477
1478         * mule-charset.c (Fset_charset_mapping_table): Use
1479         `put_char_ccs_code_point'.
1480
1481 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1482
1483         * mule-charset.c (decoding_table_put_char): New inline function.
1484         (put_char_ccs_code_point): Use `decoding_table_put_char'.
1485
1486 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1487
1488         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
1489         (XCHARSET_BYTE_SIZE): New macro.
1490         (decoding_table_remove_char): New inline function.
1491         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
1492         `decoding_table_remove_char'.
1493         (remove_char_ccs): Use `decoding_table_remove_char'.
1494         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
1495
1496 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1497
1498         * mule-charset.c (Vcharacter_name_table): New variable.
1499         (Qname): New variable.
1500         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
1501         attribute.
1502         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
1503         `Vcharacter_name_table' for `name' attribute.
1504         (Fremove_char_attribute): Use function `remove_char_ccs'.
1505         (put_char_ccs_code_point): New function.
1506         (remove_char_ccs): New function.
1507         (syms_of_mule_charset): Add new symbol `name'.
1508         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
1509
1510 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1511
1512         * mule-charset.c (make_byte_table): Add new argument `older'.
1513         (make_char_id_table): Likewise.
1514         (copy_char_id_table): Comment out because it is not used.
1515         (put_char_id_table): Modify for `make_byte_table'.
1516         (Fput_char_attribute): Make encoding_table as older object;
1517         inherit older bit of `Vcharacter_composition_table'.
1518         (mark_charset): Don't mark `cs->encoding_table'.
1519         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
1520         normal object; make `Vcharacter_composition_table' as an older
1521         object; delete staticpro for `Vcharacter_composition_table'; make
1522         `Vcharacter_variant_table' as a normal object.
1523
1524         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
1525         (mark_object): Don't check older object in UTF-2000.
1526
1527         * lrecord.h (struct lrecord_header): Add new member `older' in
1528         UTF-2000.
1529         (set_lheader_implementation): Setup `SLI_header->older' in
1530         UTF-2000.
1531         (set_lheader_older_implementation): New macro in UTF-2000.
1532         (OLDER_RECORD_P): New macro in UTF-2000.
1533         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
1534         (alloc_older_lcrecord): New prototype in UTF-2000.
1535         (alloc_older_lcrecord_type): New macro in UTF-2000.
1536
1537 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1538
1539         * mule-charset.c (byte_table_description): Use
1540         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
1541         (char_id_table_description): Delete bogus `, 1'.
1542         (Fget_char_attribute): Refer encoding_table of each coded-charset
1543         to get value of coded-charset attribute of a character.
1544         (Fput_char_attribute): Use `make_older_vector' instead of
1545         `make_vector'; use encoding_table of each coded-charset to store
1546         value of coded-charset attribute of a character.
1547         (Fremove_char_attribute): Use encoding_table of each coded-charset
1548         to store value of coded-charset attribute of a character.
1549         (mark_charset): Mark `cs->encoding_table'; don't mark
1550         `cs->decoding_table'.
1551         (charset_description): Add description of new member
1552         `encoding_table'.
1553         (make_charset): Initialize `encoding_table'.
1554
1555         * char-ucs.h (struct Lisp_Charset): Add new member
1556         `encoding_table'.
1557         (CHARSET_ENCODING_TABLE): New macro.
1558         (XCHARSET_ENCODING_TABLE): New macro.
1559         (charset_code_point): New implementation.
1560         (encode_char_1): Likewise.
1561
1562         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
1563         (disksave_object_finalization_1): Call finalizers of
1564         `all_older_lcrecords' in UTF-2000.
1565         (make_older_vector): New function in UTF-2000.
1566         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
1567         UTF-2000.
1568
1569         * lisp.h (make_older_vector): New prototype in UTF-2000.
1570
1571 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1572
1573         * lrecord.h (enum lrecord_type): Rename
1574         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
1575
1576         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
1577         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
1578         `get_char_code_table'.
1579
1580         * mule-charset.c (mark_char_id_table): Renamed from
1581         `mark_char_code_table'.
1582         (char_id_table_equal): Renamed from `char_code_table_equal'.
1583         (char_id_table_hash): Renamed from `char_code_table_hash'.
1584         (make_char_id_table): Renamed from `make_char_code_table'.
1585         (copy_char_id_table): Renamed from `copy_char_code_table'.
1586         (get_char_id_table): Renamed from `get_char_code_table'.
1587         (put_char_id_table): Renamed from `put_char_code_table'.
1588         (to_char_id): Renamed from `to_char_code'.
1589
1590         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
1591         `Lisp_Char_Code_Table'.
1592         (char_id_table): Renamed from `char_code_table'.
1593         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
1594         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
1595         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
1596         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
1597         (get_char_id_table): Renamed from `get_char_code_table'.
1598
1599 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1600
1601         * lrecord.h (enum lrecord_type): Rename
1602         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
1603
1604         * mule-charset.c (mark_byte_table): Renamed from
1605         `mark_char_byte_table'.
1606         (byte_table_equal): Renamed from `char_byte_table_equal'.
1607         (byte_table_hash): Renamed from `byte_table_hash'.
1608         (make_byte_table): Renamed from `make_byte_table'.
1609         (copy_byte_table): Renamed from `copy_char_byte_table'.
1610
1611         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
1612         `Lisp_Char_Byte_Table'.
1613         (byte_table): Renamed from `char_byte_table'.
1614         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
1615         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
1616         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
1617         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
1618
1619 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1620
1621         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
1622         (dfc_convert_to_internal_format): Likewise.
1623         
1624         * text-coding.c (Fcoding_system_canonical_name_p): New function.
1625         * text-coding.c (Fcoding_system_alias_p): New function.
1626         * text-coding.c (Fcoding_system_aliasee): New function.
1627         * text-coding.c (append_suffix_to_symbol): New function.
1628         * text-coding.c (dangling_coding_system_alias_p): New function.
1629         * text-coding.c (Ffind_coding_system):
1630         * text-coding.c (Fcopy_coding_system):
1631         * text-coding.c (encode_coding_no_conversion):
1632         * text-coding.c (syms_of_file_coding):
1633         * text-coding.c (vars_of_file_coding):
1634         Rewrite coding system alias code.
1635         Allow nested aliases, like symbolic links.
1636         Allow redefinition of coding system aliases.
1637         Prevent existence of dangling coding system aliases.
1638         Eliminate convert_to_external_format.
1639         Eliminate convert_to_internal_format.
1640         
1641         * text-coding.c: Change enum eol_type to eol_type_t.
1642
1643 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1644
1645         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
1646         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1647
1648         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
1649         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
1650
1651 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1652
1653         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
1654         `ideograph-daikanwa'.
1655
1656         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
1657         (Vcharset_ucs_bmp): Likewise.
1658         (Vcharset_mojikyo): Add new extern variable definition.
1659         (Vcharset_latin_iso8859_2): Deleted because it is not used.
1660         (Vcharset_latin_iso8859_3): Likewise.
1661         (Vcharset_latin_iso8859_4): Likewise.
1662         (Vcharset_latin_iso8859_9): Likewise.
1663         (Vcharset_latin_viscii_lower): Likewise.
1664         (Vcharset_latin_viscii_upper): Likewise.
1665         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
1666         `mojikyo' code-point is used to decode.
1667         (encode_char_2): New function [to convert `mojikyo' code-point to
1668         Mojikyo font encoding].
1669         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
1670         (breakup_char_1): Likewise.
1671         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
1672
1673 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1674
1675         * text-coding.c (Fmake_coding_system): Add document about
1676         `disable-composition' property.
1677
1678 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1679
1680         * text-coding.c (Qdisable_composition): New variable; delete
1681         `Qcomposite'.
1682         (Fmake_coding_system): Add new property `disable-composite';
1683         delete property `composite'.
1684         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
1685         instead of `!CODING_SYSTEM_COMPOSITE'.
1686         (syms_of_file_coding): Add new symbol `disable-composition';
1687         delete symbol `composite'.
1688
1689         * file-coding.h (struct Lisp_Coding_System): Add
1690         `disable_composition'; delete `enable_composition'.
1691         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1692         `CODING_SYSTEM_COMPOSITE'.
1693         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
1694         `XCODING_SYSTEM_COMPOSITE'.
1695
1696 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1697
1698         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1699         to 0.15.
1700
1701 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1702
1703         * text-coding.c (Qcomposite): New variable.
1704         (Fmake_coding_system): Add new property `composite'.
1705         (struct decoding_stream): Add `combined_char_count',
1706         `combined_chars' and `combining_table' in UTF-2000.
1707         (COMPOSE_FLUSH_CHARS): New macro.
1708         (COMPOSE_ADD_CHAR): New macro.
1709         (reset_decoding_stream): Reset `str->combined_char_count' and
1710         `str->combining_table' in UTF-2000.
1711         (decode_coding_iso2022): Modify for character-decomposition.
1712         (syms_of_file_coding): Add new symbol `composite'.
1713
1714 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1715
1716         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
1717         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
1718         of `Vcharacter_composition_table' if `->decomposition' property
1719         has only 1 element.
1720         (Qlatin_tcvn5712): New variable.
1721         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
1722         (complex_vars_of_mule_charset): Add new coded-charset
1723         `latin-tcvn5712'.
1724
1725         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
1726
1727 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1728
1729         * file-coding.h (struct Lisp_Coding_System): Add
1730         `enable_composition'.
1731         (CODING_SYSTEM_COMPOSITE): New macro.
1732         (XCODING_SYSTEM_COMPOSITE): New macro.
1733
1734 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
1735
1736         * mule-canna.c (c2mu): Fix problem with UTF-2000.
1737
1738 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
1739
1740         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
1741         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
1742
1743 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
1744
1745         * mule-charset.c (Vcharset_mojikyo): New variable.
1746         (Fdefine_char): Don't use coded-charset which does not have
1747         non-builtin character range to allocate character-id.
1748         (Qmojikyo): New variable.
1749         (syms_of_mule_charset): Add new symbol `mojikyo'.
1750         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
1751
1752         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
1753         (LEADING_BYTE_MOJIKYO): New macro.
1754         (MIN_CHAR_MOJIKYO): New macro.
1755         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
1756         (MAX_CHAR_MOJIKYO): New macro.
1757
1758 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
1759
1760         * mule-charset.c (remove_char_attribute): Fixed.
1761
1762 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
1763
1764         * mule-charset.c (remove_char_attribute): New function.
1765         (Fremove_char_attribute): New function.
1766         (encode_builtin_char_1): Comment out builtin-support for
1767         greek-iso8859-7 and cyrillic-iso8859-5.
1768         (Fdecode_char): Check `code' is an integer.
1769         (syms_of_mule_charset): Add `remove-char-attribute'.
1770         (MIN_CHAR_GREEK): Deleted.
1771         (MAX_CHAR_GREEK): Likewise.
1772         (MIN_CHAR_CYRILLIC): Likewise.
1773         (MAX_CHAR_CYRILLIC): Likewise.
1774         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
1775         MAX_CHAR_GREEK for `greek-iso8859-7'.
1776
1777         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
1778         (MAX_CHAR_GREEK): Likewise.
1779         (MIN_CHAR_CYRILLIC): Likewise.
1780         (MAX_CHAR_CYRILLIC): Likewise.
1781
1782 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
1783
1784         * mule-charset.c (Fdefine_char): Fix problem when new code-point
1785         format is used without `ucs' property.
1786         (Fdecode_char): Fix problem with GR representation.
1787         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
1788         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
1789
1790 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
1791
1792         * mule-charset.c (make_builtin_char): New function.
1793         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
1794         (Fset_charset_mapping_table): Modify for new representation of
1795         code-point.
1796         (Fdecode_char): New function.
1797         (syms_of_mule_charset): Add new builtin function `decode-char' in
1798         UTF-2000.
1799
1800         * char-ucs.h (make_builtin_char): New prototype.
1801         (DECODE_CHAR): New inline function.
1802         (MAKE_CHAR): Use `DECODE_CHAR'.
1803
1804 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
1805
1806         * text-coding.c (parse_charset_conversion_specs): Use
1807         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
1808         `XCHARSET_TYPE'.
1809         (iso2022_designate): Likewise.
1810
1811         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
1812         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
1813
1814         * mule-charset.c (Vcharset_ucs): New variable.
1815         (print_charset): Change design; use `CHARSET_CHARS' and
1816         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
1817         (make_charset): Change signature to specify `chars' and
1818         `dimension' instead of `type'.
1819         (range_charset_code_point): Modify for 256^n-set.
1820         (encode_builtin_char_1): Encode as `ucs' in default.
1821         (Fmake_charset): Modify for `make_charset'.
1822         (Fmake_reverse_direction_charset): Likewise.
1823         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
1824         UTF-2000.
1825         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
1826         for `make_charset'.
1827
1828         * char-ucs.h (Vcharset_ucs): New variable.
1829         (LEADING_BYTE_UCS): New macro.
1830         (struct Lisp_Charset): Delete `type'; change type of `dimension'
1831         and `chars' to `unsigned short' from `unsigned int'.
1832         (CHARSET_TYPE): Deleted.
1833         (XCHARSET_TYPE): Deleted.
1834
1835 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
1836
1837         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
1838
1839         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
1840         (ENCODE_CHAR): New macro.
1841
1842 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1843
1844         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1845         to 0.14 (Kawachi-Katakami).
1846
1847 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
1848
1849         * text-coding.c (char_encode_shift_jis): Modify for
1850         `charset_code_point'.
1851         (char_encode_iso2022): Likewise.
1852
1853         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
1854         (integer) instead of list of <Lisp_Object>s (integers) as the
1855         format of code-point of a coded-charset.
1856         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1857         (encode_builtin_char_1): New function; delete
1858         `split_builtin_char'.
1859         (charset_code_point): Return <int> instead of <Lisp_Object>.
1860         (Fsplit_char): Don't use `SPLIT_CHAR'.
1861
1862         * char-ucs.h (encode_builtin_char_1): New prototype; delete
1863         prototype for `split_builtin_char'.
1864         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
1865         (charset_code_point): Likewise.
1866         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
1867         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
1868
1869 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
1870
1871         * mule-charset.c (complex_vars_of_mule_charset): Don't define
1872         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
1873
1874 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1875
1876         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
1877
1878         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
1879         (MAX_CHAR_OBS_94x94): Deleted.
1880
1881 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
1882
1883         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
1884
1885         * char-ucs.h (MAX_CHAR_BMP): New macro.
1886
1887 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
1888
1889         * text-coding.c: Sync with r21-2-24.
1890
1891 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
1892
1893         * file-coding.c: Modify for UTF-2000.
1894
1895 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1896
1897         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
1898         to 0.13 (Takaida).
1899
1900 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
1901
1902         * mule-charset.c (split_builtin_char): Delete builtin support for
1903         `katakana-jisx0201'.
1904         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
1905         BMP area in builtin representation.
1906
1907         * char-ucs.h (MAKE_CHAR): Delete builtin support for
1908         `Vcharset_katakana_jisx0201'.
1909
1910 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
1911
1912         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
1913         (Qisolated): New variable.
1914         (Qinitial): New variable.
1915         (Qmedial): New variable.
1916         (Qfinal): New variable.
1917         (Qvertical): New variable.
1918         (Qsmall): New variable.
1919         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
1920         `Qvertical' and `Qsmall'.
1921         (Qmojikyo_pj_[1 .. 21]): New variable.
1922         (syms_of_mule_charset): Add new symbols `isolated', `initial',
1923         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
1924         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
1925         .. 21]'.
1926
1927 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
1928
1929         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
1930         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
1931         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
1932
1933 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
1934
1935         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
1936         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
1937         BMP.
1938         (Qjapanese_jisx0208_1990): New variable.
1939         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
1940         (complex_vars_of_mule_charset): Add new coded-charset
1941         `japanese-jisx0208-1990'.
1942
1943         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
1944         (MIN_CHAR_JIS_X0208_1990): New macro.
1945         (MAX_CHAR_JIS_X0208_1990): New macro.
1946
1947 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1948
1949         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
1950         coded-charset is not found.
1951
1952 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1953
1954         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
1955         (Fdefine_char): Use `Fmake_char'.
1956
1957 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1958
1959         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
1960         (Vcharset_hiragana_jisx0208): Deleted.
1961         (Vcharset_katakana_jisx0208): Deleted.
1962         (Qideograph_daikanwa): New variable.
1963         (Qhiragana_jisx0208): Deleted.
1964         (Qkatakana_jisx0208): Deleted.
1965         (split_builtin_char): Split `ideograph-daikanwa'.
1966         (Fsplit_char): New implementation for UTF-2000.
1967         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
1968         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
1969         (complex_vars_of_mule_charset): Add new coded-charset
1970         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
1971         `katakana-jisx0208'.
1972
1973         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
1974         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
1975         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
1976         (MIN_CHAR_DAIKANWA): New macro.
1977         (MAX_CHAR_DAIKANWA): New macro.
1978
1979 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1980
1981         * data.c (Fstring_to_number): Don't recognize floating point if
1982         base is not 10.
1983
1984 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1985
1986         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
1987
1988 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1989
1990         * mule-charset.c (Qsquare): New variable.
1991         (to_char_code): Add `Qsquare'.
1992         (syms_of_mule_charset): Add new symbol `square'.
1993
1994 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
1995
1996         * mule-charset.c (Qcircle): New variable.
1997         (to_char_code): Add `Qcircle'.
1998         (syms_of_mule_charset): Add new symbol `circle'.
1999
2000 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2001
2002         * mule-charset.c (Qfont): New variable.
2003         (to_char_code): Add `Qfont'.
2004         (syms_of_mule_charset): Add new symbol `font'.
2005
2006 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2007
2008         * mule-charset.c (Qsub): New variable.
2009         (to_char_code): Add `Qsub'.
2010         (syms_of_mule_charset): Add new symbol `sub'.
2011
2012 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2013
2014         * mule-charset.c (Fput_char_attribute): Convert each element of
2015         VALUE to GL position if ATTRIBUTE is a GR-set,
2016
2017 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2018
2019         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
2020         coded-charset is a GR-set.
2021
2022 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2023
2024         * mule-charset.c (Fput_char_attribute): Check each element of
2025         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
2026
2027 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2028
2029         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
2030         UTF-2000.
2031         (Qethiopic_ucs): New variable in UTF-2000.
2032         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
2033         (complex_vars_of_mule_charset): Add new coded-charset
2034         `ethiopic-ucs' in UTF-2000.
2035
2036         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
2037         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2038         9)'.
2039         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
2040         10)'.
2041         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
2042
2043 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2044
2045         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
2046         `ascii'.
2047
2048 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2049
2050         * mule-charset.c (Vcharacter_variant_table): New variable.
2051         (Q_ucs): New variable.
2052         (Fchar_variants): New function.
2053         (Fput_char_attribute): Register `->ucs' value to
2054         `Vcharacter_variant_table'.
2055         (syms_of_mule_charset): Add new function `char-variants' and new
2056         symbol `->ucs'.
2057         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
2058
2059 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2060
2061         * mule-charset.c (get_char_code_table): Allow negative character
2062         code.
2063         (put_char_code_table): Likewise.
2064         (Vcharacter_composition_table): New variable.
2065         (Q_decomposition): New variable.
2066         (Qwide): New variable.
2067         (Qnarrow): New variable.
2068         (Qcompat): New variable.
2069         (QnoBreak): New variable.
2070         (Qsuper): New variable.
2071         (Qfraction): New variable.
2072         (to_char_code): New function.
2073         (Fget_composite_char): New function.
2074         (Fput_char_attribute): Register `->decomposition' value to
2075         `Vcharacter_composition_table'.
2076         (syms_of_mule_charset): Add new function `get-composite-char', new
2077         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
2078         `super' and `fraction'.
2079         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
2080
2081 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2082
2083         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
2084         character; copy the return value.
2085
2086 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2087
2088         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
2089
2090         * mule-charset.c (range_charset_code_point): Must use make_int.
2091         (split_builtin_char): New function.
2092
2093 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2094
2095         * mule-charset.c (char_byte_table): Change name from
2096         "char-code-table" to "char-byte-table".
2097         (mark_char_code_table): New function.
2098         (char_code_table_equal): New function.
2099         (char_code_table_hash): New function.
2100         (char_code_table_description): New constant.
2101         (char_code_table): New type.
2102         (make_char_code_table): New function.
2103         (copy_char_code_table): New function.
2104         (get_char_code_table): Modify for `char_code_table' type.
2105         (put_char_code_table): Likewise.
2106         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
2107         (Kashiwara).
2108
2109         * char-ucs.h (char_code_table): New type.
2110         (XCHAR_CODE_TABLE): New macro.
2111         (XSETCHAR_CODE_TABLE): New macro.
2112         (CHAR_CODE_TABLE_P): New macro.
2113         (GC_CHAR_CODE_TABLE_P): New macro.
2114         (struct Lisp_Char_Code_Table): New structure.
2115
2116 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2117
2118         * mule-charset.c (Fmake_charset): Setup byte_offset for
2119         {94|96}^n-set.
2120
2121 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2122
2123         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
2124         character.
2125
2126 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2127
2128         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
2129         is found.
2130
2131 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2132
2133         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
2134         charset, it is regarded as a charset.
2135         (put_char_attribute): New function in UTF-2000.
2136         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
2137         charset, mapping-table of the charset is modified.
2138         (Fdefine_char): New function in UTF-2000.
2139         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
2140         `Fput_char_attribute'.
2141         (syms_of_mule_charset): Add new function `define-char' and new
2142         symbol `ucs' in UTF-2000.
2143         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
2144
2145 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2146
2147         * mule-charset.c (Fcharset_name): Define `byte_offset' in
2148         non-UTF-2000 configuration.
2149
2150 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2151
2152         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
2153         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
2154
2155         * mule-charset.c (mark_charset): `cs->encoding_table' has been
2156         deleted.
2157         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
2158         (Fset_charset_mapping_table): Likewise.
2159
2160         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
2161         (CHARSET_ENCODING_TABLE): Delete.
2162         (XCHARSET_ENCODING_TABLE): Delete.
2163         (charset_code_point): New interface.
2164
2165 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
2166
2167         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
2168         instead of `charset_get_byte1' and `charset_get_byte2'.
2169
2170         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
2171         (charset_get_byte2): Deleted.
2172
2173 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
2174
2175         * char-ucs.h (SPLIT_CHAR): New inline function.
2176         (breakup_char_1): Use `SPLIT_CHAR'.
2177
2178         * mule-charset.c (range_charset_code_point): New function.
2179         (charset_code_point): New function.
2180
2181         * char-ucs.h (range_charset_code_point): New interface.
2182         (breakup_char_1): Use `range_charset_code_point'.
2183
2184 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2185
2186         * mule-charset.c (Fmake_charset): Delete unused local variable
2187         `code_offset'.
2188
2189         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
2190         (breakup_char_1): Find a charset and code-point in
2191         `Vcharacter_attribute_table'.
2192
2193 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2194
2195         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2196         to 0.10 (Yao).
2197
2198 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
2199
2200         * mule-charset.c (Vcharacter_attribute_table): New variable.
2201         (Fchar_attribute_alist): New function.
2202         (Fget_char_attribute): New function.
2203         (Fput_char_attribute): New function.
2204         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
2205         too.
2206         (syms_of_mule_charset): Add new function `char-attribute-alist',
2207         `get-char-attribute' and `put-char-attribute'.
2208         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
2209
2210 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
2211
2212         * mule-charset.c (Fmake_charset): Just use
2213         `get_unallocated_leading_byte'.
2214
2215         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
2216         sets; don't use final-byte based number for private sets.
2217
2218 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2219
2220         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
2221         integer.
2222
2223 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
2224
2225         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2226         to 0.9.
2227
2228 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2229
2230         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
2231         of `CHAR_LEADING_BYTE' in UTF-2000.
2232
2233         * insdel.c (find_charsets_in_bufbyte_string): Use
2234         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2235         (find_charsets_in_emchar_string): Likewise.
2236
2237         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
2238         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
2239
2240         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
2241         (CHAR_CHARSET_ID): New macro.
2242
2243 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2244
2245         * chartab.c (get_char_table): Don't use type `Charset_ID' for
2246         charset-id - MIN_LEADING_BYTE.
2247         (put_char_table): Likewise.
2248
2249 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2250
2251         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
2252         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
2253         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
2254         (CHARSET_ID_OFFSET): New macro.
2255         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
2256         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
2257         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
2258         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2259         4).
2260         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
2261         5).
2262         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
2263         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
2264         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
2265         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
2266         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
2267
2268 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2269
2270         * mule-charset.c (next_allocated_leading_byte): New variable in
2271         UTF-2000.
2272         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
2273         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
2274         (get_unallocated_leading_byte): Simply use
2275         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
2276         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
2277         UTF-2000.
2278
2279         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
2280         (MAX_LEADING_BYTE_PRIVATE): New macro.
2281         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
2282         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
2283
2284 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2285
2286         * mule-charset.c (Fmake_charset): Allocate final-byte based
2287         charset-id for 94-set, 96-set and 94x94-set.
2288
2289 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2290
2291         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
2292         ambiguous `else'.
2293         (Fmake_charset): Likewise.
2294         (complex_vars_of_mule_charset): Modify the font registry of
2295         `ucs-bmp' not to match `Ethiopic-Unicode'.
2296
2297 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2298
2299         * mule-charset.c (complex_vars_of_mule_charset): Add font
2300         registory of `ucs-bmp'.
2301
2302 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2303
2304         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
2305         coded-charsets in `default-coded-charset-priority-list' when
2306         breaking up a character.
2307
2308         * mule-charset.c (Vcharset_latin_viscii): New variable.
2309         (Qlatin_viscii): New variable.
2310         (make_charset): Don't use `decoding_table'.
2311         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
2312         byte_offset.
2313         (Fset_charset_mapping_table): New implementation.
2314         (syms_of_mule_charset): Add new symbol `latin-viscii'.
2315         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
2316         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
2317         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
2318         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
2319         charset `latin_viscii'.
2320
2321         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
2322         (CHARSET_TYPE_94X94): Change to 1 from 2.
2323         (CHARSET_TYPE_96): Change to 2 from 1.
2324         (CHARSET_TYPE_128): New macro.
2325         (CHARSET_TYPE_128X128): Change to 5 from 4.
2326         (CHARSET_TYPE_256): New macro.
2327         (CHARSET_TYPE_256X256): Change to 7 from 5.
2328         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
2329
2330 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2331
2332         * text-coding.c (char_encode_shift_jis): Refer
2333         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
2334         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
2335
2336         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
2337         (char_byte_table_equal): New function in UTF-2000.
2338         (char_byte_table_hash): New function in UTF-2000.
2339         (char_byte_table_description): New constant in UTF-2000.
2340         (char_byte_table): New type in UTF-2000.
2341         (make_char_byte_table): New function in UTF-2000.
2342         (copy_char_byte_table): New function in UTF-2000.
2343         (make_char_code_table): New macro in UTF-2000.
2344         (get_char_code_table): New function in UTF-2000.
2345         (put_char_code_table): New function in UTF-2000.
2346         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2347         (charset_description): Add setting in UTF-2000.
2348         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
2349         `CHARSET_TO_BYTE1_TABLE(cs)'.
2350         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
2351         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
2352         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
2353         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
2354         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
2355         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
2356         `CHARSET_TO_BYTE2_TABLE(cs)'.
2357
2358         * char-ucs.h (char_byte_table): New type.
2359         (XCHAR_BYTE_TABLE): New macro.
2360         (XSETCHAR_BYTE_TABLE): New macro.
2361         (CHAR_BYTE_TABLE_P): New macro.
2362         (GC_CHAR_BYTE_TABLE_P): New macro.
2363         (struct Lisp_Char_Byte_Table): New structure.
2364         (get_char_code_table): New interface.
2365         (Emchar_to_byte_table): Deleted.
2366         (get_byte_from_character_table): Deleted.
2367         (struct Lisp_Charset): Add `encoding_table'; delete
2368         `to_byte1_table' and `to_byte2_table'.
2369         (CHARSET_ENCODING_TABLE): New macro.
2370         (CHARSET_TO_BYTE1_TABLE): Deleted.
2371         (CHARSET_TO_BYTE2_TABLE): Deleted.
2372         (XCHARSET_ENCODING_TABLE): New macro.
2373         (XCHARSET_TO_BYTE1_TABLE): Deleted.
2374         (XCHARSET_TO_BYTE2_TABLE): Deleted.
2375
2376 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2377
2378         * mule-charset.c (syms_of_mule_charset): Delete charset alias
2379         `vietnamese-viscii-*'.
2380
2381 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2382
2383         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
2384         (Qvietnamese_viscii_upper): New variable.
2385         (Fdefine_charset_alias): New function.
2386         (syms_of_mule_charset): Add new function `define-charset-alias'.
2387         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
2388         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
2389         `latin-viscii-*'.
2390
2391 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
2392
2393         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
2394         (MAX_CHAR_OBS_94x94): New macro.
2395         (breakup_char_1): Support obsolete XEmacs-UCS private code space
2396         for 94x94 sets.
2397
2398         * mule-charset.c (put_byte_from_character_table): Change unit size
2399         from 128 to 256.
2400         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
2401         not defined.
2402         (Fmake_reverse_direction_charset): Modify dummy argument of
2403         `make_charset' for non-UTF-2000 environment.
2404
2405 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2406
2407         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
2408
2409         * mule-charset.c (destroy_byte_from_character_table): New macro.
2410         (latin_jisx0201_to_ucs): Deleted.
2411         (latin_iso8859_2_to_ucs): Deleted.
2412         (latin_iso8859_3_to_ucs): Deleted.
2413         (latin_iso8859_4_to_ucs): Deleted.
2414         (latin_iso8859_9_to_ucs): Deleted.
2415         (latin_viscii_lower_to_ucs): Deleted.
2416         (latin_viscii_upper_to_ucs): Deleted.
2417         (mark_charset): Mark `cs->decoding_table'.
2418         (Fcharset_mapping_table): Fix DOC-string.
2419         (Fset_charset_mapping_table): New function.
2420         (syms_of_mule_charset): Add nwe function
2421         `set-charset-mapping-table'.
2422         (complex_vars_of_mule_charset): Don't setup and use
2423         `latin_*_to_ucs'.
2424
2425 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2426
2427         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
2428         charset.
2429
2430 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2431
2432         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
2433         (Vcharset_katakana_jisx0208): New variable.
2434         (Qhiragana_jisx0208): New variable.
2435         (Qkatakana_jisx0208): New variable.
2436         (make_charset): Add new argument `byte_offset'.
2437         (charset_get_byte1): Modify for new coded-charset definition; use
2438         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2439         `XCHARSET_BYTE_OFFSET'.
2440         (Fmake_charset): Modify for `make_charset'.
2441         (Fmake_reverse_direction_charset): Likewise.
2442         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
2443         `katakana-jisx0208'.
2444         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
2445         `.'  in font registry of charset `katakana-jisx0201',
2446         `latin-jisx0201', `vietnamese-viscii-lower' and
2447         `vietnamese-viscii-upper'; modify DOC-string of charset
2448         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
2449         registry of charset `japanese-jisx0208' not to use font for JIS
2450         X0208:1990; add new charset `hiragana-jisx0208' and
2451         `katakana-jisx0208'.
2452
2453         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
2454         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
2455         (struct Lisp_Charset): Add `byte_offset'.
2456         (CHARSET_BYTE_OFFSET): New macro.
2457         (XCHARSET_UCS_MIN): New macro.
2458         (XCHARSET_UCS_MAX): New macro.
2459         (XCHARSET_CODE_OFFSET): New macro.
2460         (XCHARSET_BYTE_OFFSET): New macro.
2461         (MIN_CHAR_HIRAGANA): New macro.
2462         (MAX_CHAR_HIRAGANA): New macro.
2463         (MIN_CHAR_KATAKANA): New macro.
2464         (MAX_CHAR_KATAKANA): New macro.
2465         (MAKE_CHAR): Modify for new coded-charset definition; use
2466         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
2467         `XCHARSET_BYTE_OFFSET'.
2468
2469 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
2470
2471         * mule-charset.c (CHAR96): Deleted.
2472         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
2473         <Lisp_Object>.
2474         (latin_iso8859_2_to_ucs): Likewise.
2475         (latin_iso8859_3_to_ucs): Likewise.
2476         (latin_iso8859_4_to_ucs): Likewise.
2477         (latin_iso8859_9_to_ucs): Likewise.
2478         (latin_viscii_lower_to_ucs): Likewise.
2479         (latin_viscii_upper_to_ucs): Likewise.
2480         (latin_tcvn5712_to_ucs): Commented out.
2481         (make_charset): Change type of argument `decoding_table' from
2482         <Emchar*> to <Lisp_Object> [vector of characters].
2483         (Fmake_charset): Modify for `make_charset'.
2484         (Fmake_reverse_direction_charset): Likewise.
2485         (Fcharset_mapping_table): New function in UTF-2000.
2486         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
2487         UTF-2000.
2488         (complex_vars_of_mule_charset): Modify for type change of
2489         `*_to_ucs'; modify for `make_charset'.
2490
2491         * char-ucs.h (struct Lisp_Charset): Change type of
2492         `decoding_table' from <Emchar*> to <Lisp_Object>.
2493         (MAKE_CHAR): Modify for new specification of `decoding_table'.
2494
2495 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
2496
2497         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
2498         error with non-UTF-2000-Mule.
2499
2500 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
2501
2502         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
2503         in lisp again].
2504         (Vcharset_chinese_cns11643_4): Likewise.
2505         (Vcharset_chinese_cns11643_5): Likewise.
2506         (Vcharset_chinese_cns11643_6): Likewise.
2507         (Vcharset_chinese_cns11643_7): Likewise.
2508         (Qchinese_cns11643_3): Likewise.
2509         (Qchinese_cns11643_4): Likewise.
2510         (Qchinese_cns11643_5): Likewise.
2511         (Qchinese_cns11643_6): Likewise.
2512         (Qchinese_cns11643_7): Likewise.
2513         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
2514         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
2515         and `chinese-cns11643-7' to lisp/mule/chinese.el.
2516         (complex_vars_of_mule_charset): Likewise.
2517
2518 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
2519
2520         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
2521         96-set.
2522         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
2523         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
2524
2525 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
2526
2527         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
2528         0xFF60.
2529         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
2530         (breakup_char_1): Likewise.
2531
2532         * text-coding.c (char_encode_iso2022): Keep designated charsets if
2533         one of them includes the specified character.
2534
2535 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2536
2537         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
2538
2539 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2540
2541         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
2542
2543 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2544
2545         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
2546         definition for non-UTF-2000 Mule.
2547         (latin_iso8859_3_to_ucs): Likewise.
2548         (latin_iso8859_4_to_ucs): Likewise.
2549         (latin_iso8859_9_to_ucs): Likewise.
2550         (latin_jisx0201_to_ucs): Likewise.
2551         (MIN_CHAR_THAI): Likewise.
2552         (MAX_CHAR_THAI): Likewise.
2553         (MIN_CHAR_GREEK): Likewise.
2554         (MAX_CHAR_GREEK): Likewise.
2555         (MIN_CHAR_HEBREW): Likewise.
2556         (MAX_CHAR_HEBREW): Likewise.
2557         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
2558         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
2559         (MIN_CHAR_CYRILLIC): Likewise.
2560         (MAX_CHAR_CYRILLIC): Likewise.
2561
2562 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
2563
2564         * char-ucs.h (breakup_char_1): Use
2565         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
2566         thai-tis620 and katakana-jisx0201 area.
2567
2568 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2569
2570         * char-ucs.h (breakup_char_1): Use
2571         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
2572         area.
2573
2574         * text-coding.c (reset_encoding_stream): Fixed.
2575         (char_encode_ucs4): Delete `& 255'.
2576
2577         * char-ucs.h (breakup_char_1): Use
2578         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
2579
2580 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2581
2582         * file-coding.c (Fmake_coding_system): Don't set up
2583         `codesys->fixed.size'.
2584         (encode_coding_no_conversion): Don't refer
2585         `str->codesys->fixed.size'.
2586
2587 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2588
2589         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
2590         (latin_a_char_to_byte1): Deleted.
2591         (latin_a_char_to_byte2): Deleted.
2592
2593 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2594
2595         * mule-charset.c (make_charset): Add new argument `ucs_min',
2596         `ucs_max' and `code_offset'.
2597         (charset_get_byte1): New implementation [delete specific charset
2598         depended implementations].
2599         (Fmake_charset): Modify for `make_charset'.
2600         (Fmake_reverse_direction_charset): Likewise.
2601         (complex_vars_of_mule_charset): Likewise.
2602
2603         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
2604         `code_offset'.
2605         (CHARSET_UCS_MIN): New macro.
2606         (CHARSET_UCS_MAX): New macro.
2607         (CHARSET_CODE_OFFSET): New macro.
2608         (MAKE_CHAR): Delete charset depended definitions [except
2609         katakana-jisx0201].
2610
2611 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
2612
2613         * char-ucs.h (breakup_char_1): Use
2614         `Vdefault_coded_charset_priority_list' for C0-Controls,
2615         Basic-Latin, C1-Controls and Latin-1-Supplement area.
2616
2617 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2618
2619         * char-ucs.h (charset_get_byte1): New function.
2620         (XCHARSET_GET_BYTE1): Deleted.
2621         (charset_get_byte2): New function.
2622         (XCHARSET_GET_BYTE2): Deleted.
2623         (Vdefault_coded_charset_priority_list): New external variable.
2624         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
2625         `Vdefault_preferred_coded_charset_list'.
2626
2627         * mule-charset.c (charset_get_byte1): New function.
2628         (charset_get_byte2): New function.
2629         (Vdefault_coded_charset_priority_list): New variable.
2630         (vars_of_mule_charset): Add new variable
2631         `default-coded-charset-priority-list'.
2632
2633 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2634
2635         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
2636         (XCHARSET_GET_BYTE2): New inline function.
2637         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
2638         `XCHARSET_GET_BYTE2'.
2639
2640 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2641
2642         * mule-charset.c (make_charset): Initialize
2643         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
2644         NULL if table is not defined.
2645
2646 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2647
2648         * text-coding.c (char_encode_shift_jis): Use
2649         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
2650         `ucs_to_latin_jisx0201'.
2651
2652         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
2653         (ucs_to_latin_iso8859_2): Deleted.
2654         (ucs_to_latin_iso8859_3): Deleted.
2655         (ucs_to_latin_iso8859_4): Deleted.
2656         (ucs_to_latin_iso8859_9): Deleted.
2657         (ucs_to_latin_viscii_lower): Deleted.
2658         (ucs_to_latin_viscii_upper): Deleted.
2659         (ucs_to_latin_tcvn5712): Deleted.
2660         (make_charset): Add new argument `decoding_table'; set up
2661         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
2662         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
2663         `decoding_table' is defined in UTF-2000.
2664         (Fmake_charset): Modify for `make_charset'.
2665         (Fmake_reverse_direction_charset): Likewise.
2666         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
2667         and `GENERATE_96_SET'.
2668
2669         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
2670         (ucs_to_latin_jisx0201): Deleted.
2671         (latin_iso8859_2_to_ucs): Deleted.
2672         (ucs_to_latin_iso8859_2): Deleted.
2673         (latin_iso8859_3_to_ucs): Deleted.
2674         (ucs_to_latin_iso8859_3): Deleted.
2675         (latin_iso8859_4_to_ucs): Deleted.
2676         (ucs_to_latin_iso8859_4): Deleted.
2677         (latin_iso8859_9_to_ucs): Deleted.
2678         (ucs_to_latin_iso8859_9): Deleted.
2679         (latin_viscii_lower_to_ucs): Deleted.
2680         (ucs_to_latin_viscii_lower): Deleted.
2681         (latin_viscii_upper_to_ucs): Deleted.
2682         (ucs_to_latin_viscii_upper): Deleted.
2683         (struct Lisp_Charset): Renamed `encoding_table' to
2684         `to_byte1_table'; add `to_byte2_table'.
2685         (CHARSET_DECODING_TABLE): New macro.
2686         (CHARSET_TO_BYTE1_TABLE): New macro.
2687         (CHARSET_TO_BYTE2_TABLE): New macro.
2688         (XCHARSET_DECODING_TABLE): New macro.
2689         (XCHARSET_TO_BYTE1_TABLE): New macro.
2690         (XCHARSET_TO_BYTE2_TABLE): New macro.
2691         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
2692         tables.
2693         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
2694         don't use `ucs_to_*' tables.
2695
2696 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2697
2698         * text-coding.c (Fmake_coding_system): Don't set up
2699         `codesys->fixed.size'.
2700         (encode_coding_no_conversion): Use `if' instead of `switch'.
2701
2702         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
2703
2704 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2705
2706         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
2707         (Fmake_charset): Modify for `make_charset'.
2708         (Fmake_reverse_direction_charset): Likewise.
2709         (complex_vars_of_mule_charset): Likewise.
2710
2711 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2712
2713         * text-coding.c (char_encode_shift_jis): Use table
2714         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
2715
2716 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
2717
2718         * text-coding.c (text_encode_generic): Use `if' instead of
2719         `switch'.
2720         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
2721         decode JIS-Latin.
2722
2723 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2724
2725         * text-coding.c (encode_coding_sjis): Deleted.
2726         (char_encode_shift_jis): New function.
2727         (char_finish_shift_jis): New function.
2728         (reset_encoding_stream): Set up `encode_char' and `finish' for
2729         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
2730         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
2731         (char_encode_utf8): Treat `eol_type'.
2732
2733 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2734
2735         * file-coding.c (decode_coding_iso2022): Use
2736         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
2737
2738 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2739
2740         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2741         to 0.7 (Hirano).
2742
2743 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
2744
2745         * char-lb.h (CHAR_COLUMNS): New macro.
2746
2747 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2748
2749         * text-coding.c (char_encode_ucs4): New function.
2750         (char_finish_ucs4): New function.
2751         (encode_coding_ucs4): Deleted.
2752         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
2753         (text_encode_generic): Delete local variable `charset' and `half'.
2754         (ucs_to_mule_table): Deleted.
2755         (mule_to_ucs_table): Deleted.
2756         (Fset_ucs_char): Deleted.
2757         (ucs_to_char): Deleted.
2758         (Fucs_char): Deleted.
2759         (Fset_char_ucs): Deleted.
2760         (Fchar_ucs): Deleted.
2761         (decode_ucs4): Deleted.
2762         (mule_char_to_ucs4): Deleted.
2763         (encode_ucs4): Deleted.
2764         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
2765         (decode_coding_utf8): Likewise.
2766         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
2767         (char_encode_iso2022): Fixed.
2768         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
2769         `Fset_char_ucs' and `Fchar_ucs'.
2770         (complex_vars_of_file_coding): Don't initialize
2771         `ucs_to_mule_table'.
2772
2773         * objects-tty.c (tty_initialize_font_instance): Don't use
2774         `XCHARSET_COLUMNS'.
2775
2776         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
2777         UTF-2000.
2778
2779         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
2780         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2781
2782         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
2783         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2784         (emchar_string_displayed_columns): Likewise.
2785
2786         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
2787         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
2788         (string_column_at_point): Likewise.
2789         (Fmove_to_column): Likewise.
2790
2791         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
2792         `encoding_table' and `decoding_table'.
2793         (CHARSET_REP_BYTES): Deleted.
2794         (XCHARSET_REP_BYTES): Deleted.
2795         (XCHARSET_COLUMNS): Deleted.
2796         (CHAR_COLUMNS): New macro.
2797         (lookup_composite_char): Deleted unconditionally.
2798         (composite_char_string): Likewise.
2799
2800 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
2801
2802         * char-ucs.h (Emchar_to_byte_table): New type.
2803         (get_byte_from_character_table): New function interface.
2804         (Vcharset_latin_jisx0201): New variable.
2805         (latin_jisx0201_to_ucs): New variable.
2806         (ucs_to_latin_jisx0201): New variable.
2807         (Vcharset_latin_iso8859_2): New variable.
2808         (latin_iso8859_2_to_ucs): New variable.
2809         (ucs_to_latin_iso8859_2): New variable.
2810         (Vcharset_latin_iso8859_3): New variable.
2811         (latin_iso8859_3_to_ucs): New variable.
2812         (ucs_to_latin_iso8859_3): New variable.
2813         (Vcharset_latin_iso8859_4): New variable.
2814         (latin_iso8859_4_to_ucs): New variable.
2815         (ucs_to_latin_iso8859_4): New variable.
2816         (Vcharset_latin_iso8859_9): New variable.
2817         (latin_iso8859_9_to_ucs): New variable.
2818         (ucs_to_latin_iso8859_9): New variable.
2819         (Vcharset_latin_viscii_lower): New variable.
2820         (latin_viscii_lower_to_ucs): New variable.
2821         (ucs_to_latin_viscii_lower): New variable.
2822         (Vcharset_latin_viscii_upper): New variable.
2823         (latin_viscii_upper_to_ucs): New variable.
2824         (ucs_to_latin_viscii_upper): New variable.
2825         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
2826         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
2827         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
2828         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
2829         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
2830         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
2831         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
2832         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
2833         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
2834         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
2835
2836         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
2837         (Vcharset_latin_viscii_upper): New variable.
2838         (make_byte_from_character_table): New function.
2839         (put_byte_from_character_table): New function.
2840         (get_byte_from_character_table): New function.
2841         (CHAR96): New macro.
2842         (ucs_to_latin_jisx0201): New variable.
2843         (latin_jisx0201_to_ucs): New variable.
2844         (ucs_to_latin_iso8859_2): New variable.
2845         (latin_iso8859_2_to_ucs): New variable.
2846         (ucs_to_latin_iso8859_3): New variable.
2847         (latin_iso8859_3_to_ucs): New variable.
2848         (ucs_to_latin_iso8859_4): New variable.
2849         (latin_iso8859_4_to_ucs): New variable.
2850         (ucs_to_latin_iso8859_9): New variable.
2851         (latin_iso8859_9_to_ucs): New variable.
2852         (ucs_to_latin_viscii_lower): New variable.
2853         (latin_viscii_lower_to_ucs): New variable.
2854         (ucs_to_latin_viscii_upper): New variable.
2855         (latin_viscii_upper_to_ucs): New variable.
2856         (ucs_to_latin_tcvn5712): New variable.
2857         (latin_tcvn5712_to_ucs): New variable.
2858         (Qlatin_viscii_lower): New variable.
2859         (Qlatin_viscii_upper): New variable.
2860         (syms_of_mule_charset): Set up new symbol
2861         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
2862         (complex_vars_of_mule_charset): Set up new charset
2863         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
2864         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
2865         `ucs_to_<CHARSET>' tables.
2866
2867 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
2868
2869         * text-coding.c: New file.
2870
2871 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
2872
2873         * mule-charset.c (Fmake_char): Fix problem of 256-set.
2874
2875         * char-ucs.h (Vcharset_ucs_bmp): New variable.
2876         (MAKE_CHAR): Modify for `ucs-bmp'.
2877         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
2878         non-MULE characters of BMP.
2879
2880 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
2881
2882         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2883         to 0.6.
2884
2885 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2886
2887         * lstream.h:
2888         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
2889         - Include character.h for `CHAR_ASCII_P'.
2890
2891         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
2892
2893         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
2894         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
2895
2896         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
2897         (BYTE_C0_P): Likewise.
2898         (BYTE_C1_P): Likewise.
2899         (Lstream_get_emchar_1): Likewise.
2900         (Lstream_fput_emchar): Likewise.
2901         (Lstream_funget_emchar): Likewise.
2902         (copy_internal_to_external): Likewise.
2903         (copy_external_to_internal): Likewise.
2904
2905         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
2906         (BYTE_C0_P): Likewise.
2907         (BYTE_C1_P): Likewise.
2908         (Lstream_get_emchar_1): Likewise.
2909         (Lstream_fput_emchar): Likewise.
2910         (Lstream_funget_emchar): Likewise.
2911         (copy_internal_to_external): Likewise.
2912         (copy_external_to_internal): Likewise.
2913
2914         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
2915         (REP_BYTES_BY_FIRST_BYTE): Likewise.
2916
2917         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
2918         (BYTE_ASCII_P): Moved to mb-1byte.h.
2919
2920 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2921
2922         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
2923
2924         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
2925         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
2926         (VALID_CHARPTR_P): Moved to mb-*byte.h.
2927         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2928         (VALIDATE_CHARPTR_FORWARD): Likewise.
2929         (simple_charptr_emchar): Moved to mb-multibyte.h.
2930         (simple_set_charptr_emchar): Likewise.
2931         (simple_charptr_copy_char): Likewise.
2932         (non_ascii_charptr_emchar): Likewise.
2933         (non_ascii_set_charptr_emchar): Likewise.
2934         (non_ascii_charptr_copy_char): Likewise.
2935         (charptr_emchar): Moved to mb-*byte.h.
2936         (set_charptr_emchar): Likewise.
2937         (charptr_copy_char): Likewise.
2938
2939         * mb-1byte.h, mb-multibyte.h: New files.
2940
2941 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
2942
2943         * mb-utf-8.h (MULTIBYTE): New macro.
2944         (MAX_EMCHAR_LEN): Moved from buffer.h.
2945         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
2946
2947         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
2948
2949         * mb-lb.h, multibyte.h: New files.
2950
2951         * char-1byte.h (Charset_ID): Moved from buffer.h.
2952         (MIN_LEADING_BYTE): Likewise.
2953         (LEADING_BYTE_ASCII): Likewise.
2954         (NUM_LEADING_BYTES): Likewise.
2955         (CHARSETP): Likewise.
2956         (CHARSET_BY_LEADING_BYTE): Likewise.
2957         (XCHARSET_LEADING_BYTE): Likewise.
2958         (XCHARSET_GRAPHIC): Likewise.
2959         (XCHARSET_COLUMNS): Likewise.
2960         (XCHARSET_DIMENSION): Likewise.
2961         (CHAR_CHARSET): Likewise.
2962         (CHAR_LEADING_BYTE): Likewise.
2963         (BREAKUP_CHAR): Likewise.
2964         (Vcharset_ascii): Likewise.
2965
2966         * buffer.h: Include multibyte.h unconditionally.
2967         (VALID_CHARPTR_P): Moved to multibyte.h.
2968         (ASSERT_VALID_CHARPTR): Likewise.
2969         (REAL_INC_CHARPTR): Likewise.
2970         (REAL_INC_CHARBYTIND): Likewise.
2971         (REAL_DEC_CHARPTR): Likewise.
2972         (INC_CHARPTR): Likewise.
2973         (INC_CHARBYTIND): Likewise.
2974         (DEC_CHARPTR): Likewise.
2975         (VALIDATE_CHARPTR_BACKWARD): Likewise.
2976         (VALIDATE_CHARPTR_FORWARD): Likewise.
2977         (charptr_n_addr): Likewise.
2978         (MAX_EMCHAR_LEN): Moved to mb-*.h.
2979         (simple_charptr_emchar): Moved to multibyte.h.
2980         (simple_set_charptr_emchar): Likewise.
2981         (simple_charptr_copy_char): Likewise.
2982         (non_ascii_charptr_emchar): Likewise.
2983         (non_ascii_set_charptr_emchar): Likewise.
2984         (non_ascii_charptr_copy_char): Likewise.
2985         (charptr_emchar): Likewise.
2986         (set_charptr_emchar): Likewise.
2987         (charptr_copy_char): Likewise.
2988         (charptr_emchar_n): Likewise.
2989         (Charset_ID): Moved to char-1byte.h.
2990         (Vcharset_ascii): Likewise.
2991         (CHAR_CHARSET): Likewise.
2992         (CHAR_LEADING_BYTE): Likewise.
2993         (LEADING_BYTE_ASCII): Likewise.
2994         (NUM_LEADING_BYTES): Likewise.
2995         (MIN_LEADING_BYTE): Likewise.
2996         (CHARSETP): Likewise.
2997         (CHARSET_BY_LEADING_BYTE): Likewise.
2998         (XCHARSET_LEADING_BYTE): Likewise.
2999         (XCHARSET_GRAPHIC): Likewise.
3000         (XCHARSET_COLUMNS): Likewise.
3001         (XCHARSET_DIMENSION): Likewise.
3002         (BREAKUP_CHAR): Likewise.
3003
3004 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3005
3006         * character.h: Add document about interface for characters.
3007
3008         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
3009         (MAKE_CHAR): Delete comment about
3010         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
3011         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
3012         (BREAKUP_CHAR): Modify name of arguments.
3013         (CHAR_CHARSET): Modify name of argument.
3014
3015         * buffer.h: Delete document about Emchar accessors.
3016
3017 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3018
3019         * character.h (CHAR_INTP): Moved from buffer.h
3020         (CHAR_OR_CHAR_INTP): Likewise.
3021         (XCHAR_OR_CHAR_INT): Likewise.
3022         (CHECK_CHAR_COERCE_INT): Likewise.
3023
3024         * buffer.h (CHAR_INTP): Moved to character.h
3025         (CHAR_OR_CHAR_INTP): Likewise.
3026         (XCHAR_OR_CHAR_INT): Likewise.
3027         (CHECK_CHAR_COERCE_INT): Likewise.
3028
3029 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3030
3031         * character.h:
3032         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
3033         - Include char-1byte.h, char-lb.h or char-ucs.h.
3034
3035         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
3036
3037         * buffer.h: Include character unconditionally.
3038         (valid_char_p): Moved to char-*.h.
3039         (non_ascii_valid_char_p): Moved to char-lb.h.
3040
3041         * char-1byte.h, char-lb.h, char-ucs.h: New files.
3042
3043 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3044
3045         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
3046         in UTF-2000 because it is not ported yet and not to use
3047         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
3048         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
3049         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
3050
3051         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
3052         (CHAR_ASCII_P): Moved from character.h.
3053
3054         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
3055         (CHAR_ASCII_P): Likewise.
3056         (CHAR_FIELD1_MASK): Deleted.
3057         (CHAR_FIELD2_MASK): Deleted.
3058         (CHAR_FIELD3_MASK): Deleted.
3059         (MAX_CHAR_BASIC_LATIN): New macro.
3060         (CHAR_FIELD1): Deleted.
3061         (CHAR_FIELD2_INTERNAL): Deleted.
3062         (CHAR_FIELD3_INTERNAL): Deleted.
3063         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
3064         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
3065         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
3066         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
3067         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
3068         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
3069         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
3070         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
3071         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
3072         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
3073         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
3074         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
3075         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
3076         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
3077         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
3078         (MIN_CHAR_COMPOSITION): Deleted.
3079         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
3080         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
3081
3082 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
3083
3084         * buffer.h: Include mb-utf-8.h in UTF-2000.
3085
3086         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
3087
3088         * mb-utf-8.h: New file.
3089
3090 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
3091
3092         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
3093         instead of `int'.
3094
3095         * mule-charset.h, buffer.h (Charset_ID): New type.
3096
3097 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3098
3099         * mule-canna.c (c2mu): Use `MAKE_CHAR',
3100         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
3101         instead of `MULE_CHAR_PRIVATE_OFFSET',
3102         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
3103         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
3104         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
3105
3106         * character.h (Vcharset_japanese_jisx0212): New variable
3107         definition.
3108
3109 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
3110
3111         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
3112         (charset_by_attributes): Delete array about direction.
3113         (latin_a_char_to_charset): New variable in UTF-2000.
3114         (latin_a_char_to_byte1): New variable in UTF-2000.
3115         (latin_a_char_to_byte2): New variable in UTF-2000.
3116         (Qucs_bmp): New variable.
3117         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
3118         `Bufbyte'.
3119         (next_allocated_2_byte_leading_byte): Likewise.
3120         (non_ascii_set_charptr_emchar): Likewise.
3121         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
3122         `CHARSET_TYPE_256X256' in UTF-2000; modify for
3123         `charset_by_attributes'.
3124         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
3125         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
3126         and `CHARSET_BY_LEADING_BYTE'.
3127         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
3128         `utf-2000-version' to `vars_of_mule_charset'.
3129         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
3130         define `leading-code-private-11' in UTF-2000; move setting of
3131         `utf-2000-version' from `syms_of_mule_charset'.
3132         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
3133         UTF-2000.
3134
3135         * character.h (Charset_ID): New type.
3136         (LEADING_BYTE_UCS_BMP): New macro.
3137         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
3138         (CHARSET_ID_OFFSET_94): New macro.
3139         (MIN_CHARSET_ID_PRIVATE_94): New macro.
3140         (MAX_CHARSET_ID_PRIVATE_94): New macro.
3141         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
3142         final-byte.
3143         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
3144         (LEADING_BYTE_LATIN_JISX0201): Likewise.
3145         (CHARSET_ID_OFFSET_96): New macro.
3146         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
3147         CHARSET_ID_OFFSET_96 and final-byte.
3148         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
3149         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
3150         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
3151         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
3152         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
3153         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
3154         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
3155         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
3156         (LEADING_BYTE_THAI_TIS620): Likewise.
3157         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
3158         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
3159         (CHARSET_ID_OFFSET_94x94): New macro.
3160         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
3161         CHARSET_ID_OFFSET_94x94 and final-byte.
3162         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
3163         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
3164         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
3165         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
3166         (LEADING_BYTE_CHINESE_GB2312): Likewise.
3167         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
3168         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
3169         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
3170         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
3171         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
3172         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
3173         (CHARSET_TYPE_128X128): New macro.
3174         (CHARSET_TYPE_256X256): New macro.
3175         (XCHARSET_PRIVATE_P): Delete unconditionally.
3176         (charset_by_attributes): Delete array about direction.
3177         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
3178         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
3179         (MIN_CHAR_94): New macro.
3180         (MAX_CHAR_94): New macro.
3181         (MIN_CHAR_96): New macro.
3182         (MAX_CHAR_96): New macro.
3183         (MIN_CHAR_94x94): New macro.
3184         (MAX_CHAR_94x94): New macro.
3185         (MIN_CHAR_96x96): New macro.
3186         (MAX_CHAR_96x96): New macro.
3187         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
3188         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3189         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
3190         - 32)'.
3191         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
3192         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
3193         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
3194         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
3195         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
3196         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
3197         `XCHARSET_LEADING_BYTE' to make code-point.
3198         (latin_a_char_to_charset): New variable.
3199         (latin_a_char_to_byte1): New variable.
3200         (latin_a_char_to_byte2): New variable.
3201         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
3202         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
3203         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
3204
3205         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
3206         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
3207         (find_charsets_in_emchar_string): Likewise.
3208         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
3209
3210         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
3211         `int'.
3212         (decode_coding_iso2022): Likewise.
3213
3214         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
3215         of `unsigned char'.
3216
3217         * redisplay.c (redisplay_text_width_emchar_string): Use
3218         `Charset_ID' instead of `unsigned char'.
3219         (redisplay_frame_text_width_string): Likewise.
3220
3221         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
3222         `unsigned char'.
3223
3224         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
3225         instead of `unsigned char'.
3226         (face_cachel_charset_font_metric_info): Likewise.
3227
3228         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
3229         (get_non_ascii_char_table_value): Likewise.
3230         (get_char_table): Likewise.
3231         (put_char_table): Likewise.
3232         (map_over_other_charset): Likewise.
3233         (map_char_table): Likewise.
3234
3235         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
3236         instead of `unsigned char'.
3237
3238 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
3239
3240         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
3241         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
3242
3243         * mule-charset.c (leading_code_private_11): Don't define in
3244         UTF-2000.
3245
3246         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
3247         in UTF-2000 because it is not ported yet and not to use
3248         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
3249
3250 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
3251
3252         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
3253
3254 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3255
3256         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
3257         in UTF-2000.
3258
3259         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
3260         of unsigned char to store leading-byte.
3261
3262         * chartab.c (get_non_ascii_char_table_value): Don't use
3263         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
3264
3265         * file-coding.c (encode_coding_big5): Delete bogus implementation
3266         in UTF2000.
3267
3268         * character.h (LEADING_BYTE_*): Delete definition for
3269         non-UTF-2000.
3270         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
3271         (LEADING_BYTE_PREFIX_P): Deleted.
3272         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
3273         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
3274         (BUFBYTE_LEADING_BYTE_P): Deleted.
3275         (CHARSET_PRIVATE_P): Deleted unconditionally.
3276         (rep_bytes_by_first_byte): Deleted unconditionally.
3277         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
3278         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
3279         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
3280         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
3281         (CHAR_FIELD2): Deleted.
3282         (CHAR_FIELD3): Deleted.
3283         (MAKE_CHAR): Delete definition for non-UTF-2000.
3284         (BREAKUP_CHAR_1_UNSAFE): Deleted.
3285         (breakup_char_1): New implementation.
3286         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
3287         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
3288
3289 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3290
3291         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
3292         condition.
3293
3294 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3295
3296         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
3297         (CHARSET_PRIVATE_P): Likewise.
3298         (XCHARSET_PRIVATE_P): Likewise.
3299         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
3300
3301         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
3302         UTF2000.
3303         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
3304
3305 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3306
3307         * character.h (LEADING_BYTE_*): Changed in UTF2000.
3308         (NUM_LEADING_BYTES): Changed from 128 to 256.
3309         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3310         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
3311         UTF2000.
3312         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
3313
3314         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
3315         UTF2000.
3316         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
3317         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
3318         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
3319         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
3320         (Qchinese_cns11643_3): New variable in UTF2000.
3321         (Qchinese_cns11643_4): New variable in UTF2000.
3322         (Qchinese_cns11643_5): New variable in UTF2000.
3323         (Qchinese_cns11643_6): New variable in UTF2000.
3324         (Qchinese_cns11643_7): New variable in UTF2000.
3325         (syms_of_mule_charset): Define `chinese-cns11643-3',
3326         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3327         and `chinese-cns11643-7' in UTF2000.
3328         (vars_of_mule_charset): Initialize
3329         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
3330         + 1 in UTF2000.
3331         (complex_vars_of_mule_charset): Setup charset
3332         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
3333         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
3334
3335 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3336
3337         * mule-charset.c: Move setting for `leading-code-private-11' from
3338         `syms_of_mule_charset' to `vars_of_mule_charset'.
3339
3340 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3341
3342         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
3343         and `NUM_LEADING_BYTES' in assert.
3344
3345 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3346
3347         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
3348         instead of 128.
3349         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
3350         `NUM_LEADING_BYTES' instead of 128.
3351
3352 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3353
3354         * mule-charset.h (charset_by_leading_byte): Use
3355         `NUM_LEADING_BYTES' instead of 128.
3356         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
3357
3358         * mule-charset.c (charset_by_leading_byte): Use
3359         `NUM_LEADING_BYTES' instead of 128.
3360         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
3361
3362         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
3363         128.
3364
3365 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3366
3367         * mule-charset.c (syms_of_mule_charset): Update to
3368         0.4 (Shin-Imamiya).
3369
3370 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
3371
3372         * file-coding.c (encode_coding_sjis): New implementation for
3373         UTF2000.  (decode_coding_sjis): Ditto.
3374
3375 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3376
3377         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
3378         Don't define in UTF2000.
3379
3380         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
3381         defined.
3382
3383         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3384         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
3385         MULE.
3386
3387 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3388
3389         * config.h.in (CHAR_IS_UCS4): New macro.
3390
3391         * mule-charset.c (rep_bytes_by_first_byte): Modify for
3392         conventional MULE representation.
3393         (syms_of_mule_charset): Update to 0.3 (Imamiya).
3394
3395         * mule-charset.h: Reverted to original.
3396
3397         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
3398         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
3399         "mule-charset.h" if CHAR_IS_UCS4 is defined.
3400
3401         * character.h: New file.
3402
3403         * file-coding.c (Fmake_coding_system): Set 1 to
3404         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
3405         defined.
3406         (encode_coding_no_conversion): New implementation for UTF2000.
3407
3408         * file-coding.h (struct Lisp_Coding_System): Add new member
3409         `fixed.size'.
3410
3411 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
3412
3413         * file-coding.c (decode_coding_iso2022): Code-point arguments of
3414         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
3415         (encode_coding_iso2022): New implementation for UTF2000.
3416
3417 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3418
3419         * mule-canna.c (c2mu): New implementation for UTF2000.
3420         (m2c): Likewise.
3421
3422 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3423
3424         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
3425
3426 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3427
3428         * file-coding.c (reset_encoding_stream): Set 0 to
3429         `str->iso2022.current_char_boundary' in UTF2000.
3430         (encode_utf8): Don't define in UTF2000.
3431         (encode_coding_utf8): New implementation for UTF-8 representation
3432         of UTF2000.
3433         (complex_vars_of_file_coding): Define coding-system `utf-8'.
3434
3435 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3436
3437         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
3438
3439         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
3440         UTF2000.
3441         (REP_BYTES_BY_FIRST_BYTE): Likewise.
3442
3443         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
3444
3445         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
3446         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
3447         as UTF-8 in UTF2000.
3448         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
3449         (non_ascii_valid_char_p): Don't define in UTF2000.
3450         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
3451         (Lstream_get_emchar_1): Likewise.
3452         (utf-2000-version): New variable in UTF2000.
3453
3454         * lread.c (read_escape): Add new reader `u'.
3455
3456         * insdel.c (three_to_one_table): Don't define in UTF2000.
3457         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
3458         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3459         UTF2000.
3460         (bytind_to_bufpos_func): Likewise.
3461         (buffer_mule_signal_inserted_region): Likewise.
3462         (vars_of_insdel): Don't initialize `three_to_one_table'.
3463         (init_buffer_text): Use `buf->text->mule_size' instead of
3464         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
3465         UTF2000.
3466
3467         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
3468         UTF-8 representation in UTF2000.
3469         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
3470         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
3471         (decode_coding_iso2022): Don't define local variable `lb' in
3472         UTF2000; don't use LEADING_BYTE in UTF2000; use
3473         `DECODE_ADD_UCS_CHAR' in UTF2000.
3474         (convert_to_external_format): Decode as UTF-8 in UTF2000.
3475
3476         * config.h.in (UTF2000): New macro.
3477
3478         * buffer.h (struct buffer_text): Add new member `mule_size' and
3479         don't add `mule_shifter' and `mule_three_p' in UTF2000.
3480         (valid_char_p): Return always 1 in UTF2000.
3481         (MAX_EMCHAR_LEN): 6 in UTF2000.
3482         (three_to_one_table): Don't define in UTF2000.
3483         (real_bufpos_to_bytind): Modify for UTF-8 representation in
3484         UTF2000.
3485         (real_bytind_to_bufpos): Likewise.
3486
3487         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
3488
3489 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3490
3491         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
3492         representation change.
3493         (Vutf_2000_version): New variable.
3494         (leading_code_private_11): New variable.
3495         (syms_of_mule_charset): Add new variables `utf-2000-version' and
3496         `leading-code-private-11'.
3497
3498         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
3499         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
3500         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
3501         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
3502         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
3503         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
3504         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
3505         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
3506         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
3507         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
3508         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
3509         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
3510         (MIN_CHAR_GREEK): New macro.
3511         (MAX_CHAR_GREEK): New macro.
3512         (MIN_CHAR_CYRILLIC): New macro.
3513         (MAX_CHAR_CYRILLIC): New macro.
3514         (MIN_CHAR_HEBREW): New macro.
3515         (MAX_CHAR_HEBREW): New macro.
3516         (MIN_CHAR_THAI): New macro.
3517         (MAX_CHAR_THAI): New macro.
3518         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
3519         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
3520         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
3521         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
3522         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
3523         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
3524         (CHAR_FIELD2): New inline function.
3525         (CHAR_FIELD3): New inline function.
3526         (MULE_CHAR_PRIVATE_OFFSET): New macro.
3527         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
3528         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
3529         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
3530         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
3531         (MIN_CHAR_COMPOSITION): Likewise.
3532         (CHAR_LEADING_BYTE): Modified for character representation change.
3533         (MAKE_CHAR): Likewise.
3534
3535         * lisp.h (Vcharset_latin_iso8859_1): New variable.
3536         (Vcharset_greek_iso8859_7): Likewise.
3537         (Vcharset_cyrillic_iso8859_5): Likewise.
3538         (Vcharset_hebrew_iso8859_8): Likewise.
3539         (Vcharset_thai_tis620): Likewise.
3540         (Vcharset_katakana_jisx0201): Likewise.
3541
3542 2001-01-26  Martin Buchholz <martin@xemacs.org>
3543
3544         * XEmacs 21.2.43 "Terspichore" is released.
3545
3546 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3547
3548         Type fiddling for window_config.saved_windows_count
3549         * window.c (struct window_config): 
3550         Make saved_windows_count member unsigned.
3551         * window.c (sizeof_window_config_for_n_windows): 
3552         Make parameter unsigned.
3553         * window.c (mark_window_config):
3554         * window.c (window_config_equal):
3555         * window.c (free_window_configuration):
3556         * window.c (Fset_window_configuration):
3557         * window.c (count_windows):
3558         * window.c (Fcurrent_window_configuration):
3559         * window.c (reinit_vars_of_window):
3560         Update all callers and users.
3561
3562 2001-01-25  Martin Buchholz  <martin@xemacs.org>
3563
3564         Alignment correctness for flexible arrays.
3565         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
3566         Make alignment-correct. Add interesting comments.
3567         * alloc.c (size_vector):
3568         * alloc.c (make_vector_internal):
3569         * alloc.c (make_bit_vector_internal):
3570         * alloc.c (sweep_bit_vectors_1):
3571         * fns.c (size_bit_vector):
3572         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
3573         * window.c (sizeof_window_config_for_n_windows): 
3574         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
3575
3576 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3577
3578         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
3579
3580 2001-01-23  Andy Piper  <andy@xemacs.org>
3581
3582         * select.c (Fown_selection_internal): pass owned_p
3583
3584         * select-msw.c (mswindows_own_selection): New Signature.
3585
3586         * console.h (struct console_methods): add owned_p to
3587         _own_selection.
3588
3589         * select-x.c (x_own_selection): pass owned_p
3590         (hack_motif_clipboard_selection): use owned_p
3591         (vars_of_select_x): new variable -
3592         x_selection_strict_motif_ownership.
3593
3594 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3595
3596         * specifier.h (specifier_data_offset): Remove pointless parens.
3597         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
3598
3599 2001-01-24  Martin Buchholz  <martin@xemacs.org>
3600
3601         Make Lisp_Object sizeof methods be alignment-correct.
3602         pdump must restore objects to the same alignment as the C compiler
3603         assumes.  It really matters on SGIs.
3604         * lstream.c (aligned_sizeof_lstream): New.
3605         (sizeof_lstream): Use aligned_sizeof_lstream.
3606         (Lstream_new): Likewise.
3607         * opaque.c (aligned_sizeof_opaque): New.
3608         (sizeof_opaque): Use aligned_sizeof_opaque.
3609         (make_opaque): Likewise.
3610         * specifier.c (aligned_sizeof_specifier): New.
3611         (sizeof_specifier): Use aligned_sizeof_specifier.
3612         (make_specifier_internal): Likewise.
3613
3614 2001-01-23  Martin Buchholz  <martin@xemacs.org>
3615
3616         * lstream.h (struct lstream): Use max_align_t for trailing data.
3617         * specifier.h (struct Lisp_Specifier): Likewise.
3618
3619 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3620
3621         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
3622         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
3623         (CCL_SUSPEND): Likewise.
3624         (CCL_INVALID_CMD): Likewise.
3625         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
3626         (ccl_driver): Likewise.
3627         (CCL_WRITE_CHAR): Macro hygiene.
3628         (CCL_WRITE_STRING): Macro hygiene.
3629
3630 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3631
3632         Port "portable" dumper to SunOS 4 and HP-UX.
3633         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
3634         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
3635         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
3636
3637 2001-01-22  Martin Buchholz  <martin@xemacs.org>
3638
3639         * lisp.h (ALIGNOF): A better definition for C++.
3640
3641 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3642
3643         Macro hygiene.
3644         Fix printf warnings: int format, long int arg.
3645         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
3646         (PUSH_FAILURE_POINT): Use correct printf formats.
3647         (POP_FAILURE_POINT): Use correct printf formats.  
3648         Use do {...} while (0)
3649
3650 2001-01-20  Martin Buchholz <martin@xemacs.org>
3651
3652         * XEmacs 21.2.42 "Poseidon" is released.
3653
3654 2001-01-20  Martin Buchholz  <martin@xemacs.org>
3655
3656         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
3657
3658 2001-01-19  Martin Buchholz  <martin@xemacs.org>
3659
3660         De-kludgify FIXED_TYPE free list frobbing.
3661         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
3662         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
3663         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
3664         * alloc.c (Lisp_Free): New pseudo lisp object definition.
3665         * alloc.c (LRECORD_FREE_P): New.
3666         * alloc.c (MARK_LRECORD_AS_FREE): New.
3667         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
3668         * alloc.c (STRUCT_FREE_P): Deleted.
3669         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
3670         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
3671         * alloc.c (STRING_CHARS_FREE_P): New.
3672         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
3673         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
3674         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
3675         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
3676         * alloc.c (resize_string): Use new definitions.
3677         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
3678         * alloc.c (verify_string_chars_integrity): Use new definitions.
3679         * alloc.c (compact_string_chars): Use new definitions.
3680         * alloc.c: Update monster comments.
3681         * lrecord.h (lrecord_type): Add some new lrecord types for
3682         alloc.c's use.
3683
3684 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3685
3686         Improve alignment hackery.
3687         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
3688         (max_align_t): Moved from opaque.h - general purpose.
3689         (ALIGN_PTR): Use size_t, not long.
3690         * opaque.h (max_align_t): Move to lisp.h.
3691
3692 2001-01-18  Norbert Koch  <nk@LF.net>
3693
3694         * gui.h: Fix and add prototypes to fix build problems.
3695
3696 2001-01-18  Martin Buchholz  <martin@xemacs.org>
3697
3698         temacs is going away, so `dump-temacs' is now a bad name.
3699         * .dbxrc (dump-temacs): Rename to `dmp'.
3700         * .gdbinit (dump-temacs): Rename to `dmp'.
3701
3702 2001-01-17  Andy Piper  <andy@xemacs.org>
3703
3704         * glyphs.c (print_image_instance): comment to make martin happy.
3705
3706         * glyphs-x.c (x_redisplay_widget): update faces after a frame
3707         change.
3708
3709         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
3710         activation.
3711         (mswindows_tab_control_redisplay): warning suppression.
3712
3713         * glyphs-widget.c (widget_update): re-write to cope with updated
3714         items.
3715         (widget_instantiate): use new gui_item functions.
3716         (tab_control_update): deleted.
3717         (progress_gauge_update): deleted.
3718         (image_instantiator_progress_guage): take out update reference.
3719         (image_instantiator_tree_view): ditto.
3720         (image_instantiator_tab_control): ditto.
3721
3722         * gui.c (widget_gui_parse_item_keywords): new function. Do things
3723         Right the new way.
3724         (gui_item_add_keyval_pair): re-write to cope with descriptors and
3725         return whether anything was changed.
3726         (update_gui_item_keywords): as it sounds.
3727
3728         * gui.h: declare widget_gui_parse_item_keywords.
3729
3730         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
3731         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
3732
3733 2001-01-17  Martin Buchholz <martin@xemacs.org>
3734
3735         * XEmacs 21.2.41 "Polyhymnia" is released.
3736
3737 2001-01-16  Didier Verna  <didier@xemacs.org>
3738
3739         * glyphs.c (image_instantiate): don't use fallbacks when
3740         instantiating a face's background pixmap by inheritance.
3741
3742 2001-01-14  Mike Sperber <mike@xemacs.org>
3743
3744         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
3745         Conditionalize accordingly.
3746
3747 2001-01-16  Martin Buchholz  <martin@xemacs.org>
3748
3749         * dumper.c (pdump_file_get): Fix a compiler warning.
3750
3751 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3752
3753         Make Purify happy when pdumping.
3754         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
3755         iniitalizing all bits of new lisp object memory.
3756         * symbols.c (Fmake_local_variable): Likewise.
3757         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
3758         * symbols.c (Fdefvaralias): Likewise.
3759         * mule-charset.c (vars_of_mule_charset): Likewise.
3760
3761 2001-01-15  Martin Buchholz  <martin@xemacs.org>
3762         Add the `-nd' flag when running pre-dump operations under the debugger.
3763         * .dbxrc (run-temacs): Add `-nd'.
3764         * .dbxrc (update-elc): Likewise.
3765         * .dbxrc (dump-temacs): Likewise.
3766         * .gdbinit (run-temacs): Likewise.
3767         * .gdbinit (check-temacs): Likewise.
3768         * .gdbinit (update-elc): Likewise.
3769         * .gdbinit (dump-temacs): Likewise.
3770
3771 2001-01-14  Martin Buchholz  <martin@xemacs.org>
3772
3773         Allow building 64-bit executables on AIX with GNU malloc, e.g.
3774         export OBJECT_MODE=64
3775         configure --pdump --use-union-type=no
3776         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
3777         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
3778
3779         * miscplay.c (sndcnv8U_2mono):
3780         Avoid two uses of `++' in the same expression.
3781         Suppresses a GCC warning.
3782
3783 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3784
3785         Make sure future compilers don't miscompile alloc.c.
3786         * alloc.c:
3787         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
3788         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
3789
3790 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3791
3792         * dumper.c: A little post-pdump-rename comment fixup.
3793
3794 2001-01-09  Jerry James  <james@eecs.ku.edu>
3795
3796         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
3797
3798 2001-01-13  Martin Buchholz  <martin@xemacs.org>
3799
3800         * *.[ch]: Globally rename symbols using the following `pdump-rename'
3801         script:
3802         #!/bin/sh
3803         replace_symbol () {
3804           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
3805         }
3806
3807         replace_symbol pdump_wire_lists pdump_weak_object_chains
3808         replace_symbol pdump_wire_list dump_add_weak_object_chain
3809
3810         replace_symbol pdump_wires pdump_root_objects
3811         replace_symbol pdump_wire dump_add_root_object
3812
3813         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
3814         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
3815
3816         replace_symbol dumpstructinfos pdump_root_struct_ptrs
3817         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
3818         replace_symbol dumpstructinfo pdump_root_struct_ptr
3819         replace_symbol dumpstruct dump_add_root_struct_ptr
3820
3821         replace_symbol dumpopaque dump_add_opaque
3822         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
3823         replace_symbol dumpopaqueinfos pdump_opaques
3824         replace_symbol dumpopaqueinfo pdump_opaque
3825
3826         replace_symbol nb_structdump nb_root_struct_ptrs
3827         replace_symbol nb_opaquedump nb_opaques
3828
3829         replace_symbol align_table pdump_align_table
3830         replace_symbol dump_header pdump_header
3831
3832         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
3833         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
3834
3835
3836 2001-01-12  Martin Buchholz  <martin@xemacs.org>
3837
3838         * s/aix4.h: Keep the C for AIX compiler from overaggressively
3839         optimizing bytecount_to_charcount().
3840
3841 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3842
3843         * config.h.in:
3844         (HAVE_DLFCN_H): Removed.
3845         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
3846
3847 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3848
3849         Portable dumper maintainability improvements.
3850         * alloc.c (staticpro):
3851         * alloc.c (staticpro_nodump):
3852         * alloc.c (garbage_collect_1):
3853         * alloc.c (reinit_alloc_once_early):
3854         * alloc.c (init_alloc_once_early):
3855         * alloc.c: Move dumper functions to alloc.c.
3856         * dumper.c (pdump_backtrace):
3857         * dumper.c (pdump_dump_structs):
3858         * dumper.c (pdump_dump_opaques):
3859         * dumper.c (pdump_dump_rtables):
3860         * dumper.c (pdump_dump_wired):
3861         * dumper.c (pdump):
3862         * dumper.c (pdump_load_check):
3863         * dumper.c (pdump_load_finish):
3864         * dumper.c (pdump_file_unmap):
3865         * dumper.c (pdump_file_get):
3866         * dumper.c (pdump_resource_free):
3867         * dumper.c (pdump_resource_get):
3868         * dumper.c (pdump_file_free):
3869         * dumper.c (pdump_file_try):
3870         * dumper.c (pdump_load):
3871         Remove fixed size limits on staticpro(), staticpro_nodump(),
3872         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
3873         Remove custom code for dumping lrecord_implementations_table - use
3874         dumpopaque instead.
3875         Remove (most of the) custom code for dumping staticpros - dump it
3876         like any other dynarr.
3877
3878         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
3879         * dumper.c: Moved functions from alloc.c.
3880         * alloc.c (dumpstruct): Moved to dumper.c.
3881         * alloc.c (dumpopaque): Likewise.
3882         * alloc.c (pdump_wire): Likewise.
3883         * alloc.c (pdump_wire_list): Likewise.
3884
3885         * lisp.h (Dynarr_sizeof): New.
3886         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
3887         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
3888         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
3889
3890         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
3891         * lisp.h (dumpopaque): ditto.
3892         * lisp.h (pdump_wire): ditto.
3893         * lisp.h (pdump_wire_list): ditto.
3894
3895 2001-01-09  Martin Buchholz  <martin@xemacs.org>
3896
3897         * make-src-depend (PrintPatternDeps):
3898         Use `sort' to make output independent of perl version.
3899
3900 2001-01-08  Martin Buchholz  <martin@xemacs.org>
3901
3902         Port to Netbsd 1.5.
3903         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
3904         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
3905
3906 2001-01-03  Didier Verna  <didier@xemacs.org>
3907
3908         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
3909         that `focus_frame' is alive before thinking of calling
3910         `redisplay_redraw_cursor' on it.
3911
3912 2001-01-08  Martin Buchholz <martin@xemacs.org>
3913
3914         * XEmacs 21.2.40 is released.
3915
3916 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
3917
3918         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
3919
3920 2001-01-06  Martin Buchholz  <martin@xemacs.org>
3921
3922         * alloc.c (dbg_valmask): Make const.
3923         * alloc.c (dbg_typemask): Make const.
3924         * alloc.c (dbg_USE_UNION_TYPE): Make const.
3925         * alloc.c (dbg_valbits): Make const.
3926         * alloc.c (dbg_gctypebits): Make const.
3927
3928 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
3929
3930         * redisplay-x.c (x_bevel_area):
3931         redisplay.h (struct rune):
3932         Typo fixes in comments.
3933
3934 2001-01-05  Andy Piper  <andy@xemacs.org>
3935
3936         * glyphs-x.c (x_redisplay_widget): use size changed for offset
3937         adjustment.
3938
3939         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
3940
3941 2001-01-05  Martin Buchholz  <martin@xemacs.org>
3942
3943         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
3944
3945         * mule-ccl.c (stack_idx_of_map_multiple):
3946         Non const global data must not be initialized!
3947         Found by MIYASHITA Hisashi.
3948
3949 2001-01-02  Andy Piper  <andy@xemacs.org>
3950
3951         * frame.c (change_frame_size): make sure frame size is always
3952         marked as changed.
3953
3954         * glyphs.c (image_instance_layout): minor code reuse.
3955
3956         * window.c (Fcurrent_window_configuration): revert previous
3957         change.
3958
3959 2001-01-02  Martin Buchholz  <martin@xemacs.org>
3960
3961         * glyphs.h:
3962         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
3963
3964 2000-12-31  Andy Piper  <andy@xemacs.org>
3965
3966         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
3967         when widget gets unmapped.
3968
3969         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
3970         function. Make sure widgets losing focus don't just drop it.
3971         (handle_focus_event_1): record the widget with focus.
3972
3973 2000-12-31  Andy Piper  <andy@xemacs.org>
3974
3975         * window.c (allocate_window): use
3976         make_image_instance_cache_hash_table.
3977         (make_dummy_parent): ditto.
3978         (Fset_window_configuration): ditto.
3979
3980         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
3981
3982         * glyphs.c (process_image_string_instantiator): use
3983         INSTANTIATOR_TYPE.
3984         (get_image_instantiator_governing_domain): ditto.
3985         (normalize_image_instantiator): ditto.
3986         (instantiate_image_instantiator): ditto.
3987         (make_image_instance_1): ditto.
3988         (image_instantiate): ditto. Key on glyph *and* instantiator type.
3989         (instantiator_eq_equal): new function for use with instance hash
3990         tables.
3991         (instantiator_eq_hash): ditto.
3992         (make_image_instance_cache_hash_table): create a suitable hash
3993         table for storing image instances.
3994
3995         * elhash.h (hash_table_weakness): new internal weakness type
3996         HASH_TABLE_KEY_CAR_VALUE_WEAK.
3997         declare new functions.
3998
3999         * elhash.c (finish_marking_weak_hash_tables): introduce yet
4000         another weakness type for glyphs.
4001         (make_standard_lisp_hash_table): new function split out from
4002         make_general_lisp_hash_table.
4003         (make_lisp_hash_table): call make_standard_lisp_hash_table.
4004         (hash_table_instantiate): ditto.
4005         (Fmake_hash_table): ditto.
4006
4007 2000-12-31  Martin Buchholz <martin@xemacs.org>
4008
4009         * XEmacs 21.2.39 is released.
4010
4011 2000-12-29  Andy Piper  <andy@xemacs.org>
4012
4013         * menubar.c (menubar_visible_p_changed): signal the frame changed.
4014
4015         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
4016         the frame has changed so that we pick up geometry changes such as
4017         menubar visibility.
4018
4019 2000-12-28  Andy Piper  <andy@xemacs.org>
4020
4021         * lastfile.c (my_ebss): make a char array so we can pad the
4022         bss. Fixes cygwin unexec.
4023
4024         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
4025
4026 2000-12-26  Andy Piper  <andy@xemacs.org>
4027
4028         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
4029         comments and try and be more precise about a non-/SIGIO world.
4030         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
4031         SIGIO.
4032
4033         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
4034         we don't normalize to zero width or height.
4035
4036 2000-12-24  Andy Piper  <andy@xemacs.org>
4037
4038         * Makefile.in.in (ldflags): add -mwindows when appropriate.
4039
4040 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
4041
4042         * s/sco5.h: SCO 5 has pty support.
4043
4044 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
4045
4046         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
4047         input-method-xlib.c contains whole contents of input-method-xfs.c,
4048         so we can use input-method-xlib.c's code for USE_XFONTSET
4049         using #ifdefs.
4050         * input-method-xfs.c: removed.
4051
4052 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
4053
4054         * file-coding.h (enum coding_category_type): reorder enumerators to
4055         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
4056         (now one greater than largest real coding_category_type enumerator).
4057         * file-coding.c (coding_category_symbol, coding_category_by_priority,
4058         coding_category_system, fcd_descriptihon_1, decode_coding_category,
4059         Fcoding_category_list, Fset_coding_priority_list,
4060         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
4061         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
4062
4063 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4064
4065         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
4066         * redisplay-output.c (redisplay_output_window): Clear top of window
4067         when face is changed.
4068         * redisplay-x.c (x_redraw_exposed_window): Call
4069         redisplay_clear_top_of_window.
4070         * redisplay.h: Publish redisplay_clear_top_of_window.
4071
4072 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
4073
4074         * buffer.c (Fkill_buffer): Map over all devices.
4075         * window.c (window_loop): Remove UNSHOW_BUFFER code.
4076         (list_windows): New function.
4077         (list_all_windows): Ditto.
4078         (Freplace_buffer_in_windows): Use them.
4079
4080 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4081
4082         * database.c (berkdb_subtype): Recognize new subtype `queue'.
4083         (Fopen_database): Use `db_create' instead of `db_open'.
4084         (syms_of_database): Initialize Qqueue.
4085
4086 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4087
4088         * buffer.c (common_init_complex_vars_of_buffer): Initialize
4089         buffer_local_face_property.
4090         * buffer.h (struct buffer): New member buffer_local_face_property.
4091         * window.c (Fset_window_buffer):  Mark window's face as changed
4092         when buffer has buffer local face.
4093         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
4094         * objects.c (color_after_change): Set buffer_local_face_property
4095         when locale of face specifier is buffer.
4096         * objects.c (font_after_change): Ditto.
4097         * objects.c (face_boolean_after_change): Ditto.
4098         * glyphs.c (image_after_change): Ditto.
4099
4100 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4101
4102         * nt.c (mswindows_fstat): Report file permissions, volume serial
4103         number, etc. Code adapted from FSF Emacs 20.7.
4104
4105 2000-12-09  Dan Holmsand  <dan@eyebee.com>
4106
4107         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
4108         of stat when we don't have symbolic links, to make sure
4109         mswindows_stat is called on mswindows.
4110
4111 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
4112
4113         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
4114
4115 2000-12-12  Martin Buchholz  <martin@xemacs.org>
4116
4117         * doprnt.c (emacs_doprnt_1): More printing fixes.
4118         Make printing of numbers compatible with libc and FSF Emacs.
4119         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
4120         Use the system printf to do most of the hard work of formatting,
4121         instead of doprnt_1().
4122         Calculate memory to allocate for format string.
4123         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
4124         (doprnt_1): Cleaner code and documentation.
4125
4126 2000-12-01  Jerry James  <james@eecs.ukans.edu>
4127
4128         * Makefile.in.in: Use the loop variable to install headers.
4129
4130 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4131
4132         * window.c (Fsplit_window): Don't invalidate face cache.
4133
4134 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4135
4136         * minibuf.c (Fall_completions): Undo the previous change
4137         which removed checking elements start with space.
4138
4139 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4140
4141         * mule-canna.c: Didier suppression.
4142
4143 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
4144
4145         * mule-canna.c: rename static unsigned char buf[] to key_buffer
4146         (warning suppression).  Add English comment translations.
4147
4148 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4149
4150         * unexelfsgi.c (unexec): Better test for mmap failure.
4151
4152 2000-12-05  Martin Buchholz <martin@xemacs.org>
4153
4154         * XEmacs 21.2.38 is released.
4155
4156 2000-12-05  Martin Buchholz  <martin@xemacs.org>
4157
4158         * redisplay.c (bar-cursor): Make a user variable.
4159
4160         * symsinit.h: Add init_postgresql_from_environment.
4161
4162 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
4163
4164         * regex.c: Convert to clean C.
4165
4166 2000-12-05  Dan Holmsand  <dan@eyebee.com>
4167
4168         * realpath.c:
4169         Don't #include sysfile.h. Revert to duplicating PATH_MAX
4170         initialization.
4171         (sys_readlink): renamed to system_readlink to avoid conflict with
4172         the other sys_readlink.
4173
4174 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
4175
4176         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
4177
4178 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
4179
4180         * postgresql.c (init_postgresql_from_environment): new function.
4181         (vars_of_postgresql): Move code initializing Lisp variables out and
4182         into init_postgresql_from_environment.
4183         emacs.c (main_1): Call init_postgresql_from_environment if and only
4184         if running a dumped XEmacs.
4185
4186 2000-08-31  Dan Holmsand  <dan@eyebee.com>
4187
4188         * buffer.c: Make find-file-compare-truenames default to true on
4189         windows.
4190
4191         * realpath.c (win32_abs_start):
4192         (cygwin_readlink):
4193         (win32_readlink): New functions.
4194         (xrealpath): Return really real filenames on windows.
4195
4196         * fileio.c (Ffile_truename): Make file-truename work on windows.
4197
4198 2000-11-29  Didier Verna  <didier@xemacs.org>
4199
4200         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
4201         * faces.c (update_face_cachel_data): use it.
4202         * faces.c (add_face_cachel): use it. Complete background pixmap
4203         frobbing in face cache if `update_face_cachel_data' has not done so.
4204
4205 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
4206
4207         * search.c (string_match_1): Don't set last_thing_searched
4208         when search failed.
4209
4210 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
4211
4212         * buffer.c: Include casetab.h
4213         (common_init_complex_vars_of_buffer): Use new case-table object.
4214         * buffer.h: Include casetab.h
4215         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
4216         (DOWNCASE_TABLE_OF): Ditto.
4217         * bufslots.h: Remove char-tables and add case-table.
4218         * casetab.c: Include casetab.h
4219         (CASE_TABLE_P): Removed.
4220         (mark_case_table): New function.
4221         (allocate_case_table): New function.
4222         (Fcase_table_p): Use new case-table.
4223         (case_table_char): New function.
4224         (Fget_case_table): Ditto.
4225         (Fput_case_table): Ditto.
4226         (Fput_case_table_pair): Ditto.
4227         (Fcopy_case_table): Ditto.
4228         (Fcurrent_case_table): Return case-table.
4229         (Fstandard_case_table): Return case-table.
4230         (Fset_case_table): Fix doc-string.
4231         (set_case_table): Use case-table
4232         (syms_of_casetab): DEFSUBR new functions.
4233         (complex_vars_of_casetab): Set up standard case-table.
4234         * casetab.h: New file.
4235         * editfns.c: Include casetab.h
4236         (Fcompare_buffer_substrings): Use case-table.
4237         * inline.c: Include casetab.h
4238         * lisp.h: Remove bogus extern.
4239         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
4240         * search.c: Include casetab.h
4241         (TRANSLATE_ASCII): Removed.
4242         (TRANSLATE): Unconditionally translate character.
4243         (looking_at_1): Use case-table.
4244         (string_match_1): Ditto.
4245         (fast_string_match): Ditto.
4246         (search_command): Ditto.
4247         (search_buffer): Separate boyer_moore.  Check whether
4248         boyer_moore is possible.
4249         (simple_search): New function.
4250         (boyer_moore): Separated from search_buffer. Translate char.
4251
4252 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
4253
4254         * regex.c (RE_TR_ASCII): Removed.
4255         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
4256         (PATFETCH): Call PATFETCH_RAW.
4257         (PATFETCH_RAW): Fetch Emchar.
4258         (PATUNFETCH): Decrement charptr.
4259         (GET_BUFFER_SPACE): Rename b to buf_end.
4260         (BUF_PUSH): Ditto.
4261         (BUF_PUSH_2): Ditto.
4262         (BUF_PUSH_3): Ditto.
4263         (EXTEND_BUFFER): Ditto.
4264         (SET_LIST_BIT): Ditto.
4265         (regex_compile): Ditto.  Translate non ASCII char.
4266         (compile_range): Ditto.
4267         (re_search_2): Ditto.
4268         (re_match_2_internal): Compare Emchar.
4269         (bcmp_translate): Ditto.
4270
4271 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
4272
4273         * lisp.h (basic char/int typedefs):  comment improvement.
4274
4275 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
4276
4277         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
4278         unstomp inhibit_site_lisp.  Improve comments.
4279
4280 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
4281
4282         * mule-charset.c (Fcharset_property):  improve type checking, comments.
4283
4284 2000-11-28  Andy Piper  <andy@xemacs.org>
4285
4286         * redisplay-output.c (redisplay_output_subwindow): make sure we do
4287         clipped display for windows in the gutter also.
4288         (redisplay_display_boxes_in_window_p): change semantics of return
4289         codes to be more intuitive.
4290
4291         * gutter.h: declare display_boxes_in_gutter_p.
4292
4293         * gutter.c (display_boxes_in_gutter_p): new function for
4294         redisplay.
4295
4296 2000-11-22  Andy Piper  <andy@xemacs.org>
4297
4298         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
4299         autodetect domain.
4300
4301 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
4302
4303         * callproc.c (Fold_call_process_internal):
4304         * gpm.c (Freceive_gpm_event):
4305         (tty_get_foreign_selection): Might be just warning supression.
4306         * fileio.c (Fwrite_region_internal):
4307         (Fset_visited_file_modtime):
4308         * keymap.c (event_matches_key_specifier_p):
4309         Initialize GCPROed variable.
4310
4311         * menubar-x.c (command_builder_find_menu_accelerator):
4312         Initialize before use.
4313
4314 2000-11-23  Andy Piper  <andy@xemacs.org>
4315
4316         * unexcw.c (unexec): make the resulting executable executable.
4317
4318 2000-11-21  Martin Buchholz  <martin@xemacs.org>
4319
4320         * doc.c (get_doc_string):
4321         Use size_t, not int, for result of XSTRING_LENGTH.
4322
4323         * cmds.c (Fdelete_char):
4324         * cmds.c (Fpoint_at_eol):
4325         * cmds.c (Fself_insert_command):
4326         Use EMACS_INT, not int, for result of XINT.
4327         Someday, someone will want to insert more than 2**31 identical characters.
4328
4329         * cmds.c (Fdelete_char):
4330         * cmds.c (Fdelete_backward_char):
4331         * syntax.c (Fforward_word):
4332         * syntax.c (Fforward_comment):
4333         Make COUNT argument optional, for consistency with forward-char et al.
4334
4335 2000-11-22  Martin Buchholz  <martin@xemacs.org>
4336
4337         * lisp.h:
4338         * print.c (long_to_string):
4339         Return a useful value: the pointer at end of data written.
4340
4341         * doprnt.c:
4342         Use `static const char * const' for constant strings.
4343         (union printf_arg): Delete `i', `ui' members.
4344         (get_doprnt_args):
4345         (emacs_doprnt_1):
4346         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
4347         Do all printf-ing via the `l' specifier.
4348         Use EMACS_INT instead of int.
4349         Optimize.
4350
4351 2000-11-20  Didier Verna  <didier@xemacs.org>
4352
4353         * faces.c (update_face_cachel_data): don't frob the background
4354         pixmap when the window is being created. The face is needed but
4355         does not exist yet.
4356
4357 2000-11-20  Andy Piper  <andy@xemacs.org>
4358
4359         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
4360         messing with a debug environment.
4361
4362 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4363
4364         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
4365
4366 2000-11-20  Martin Buchholz  <martin@xemacs.org>
4367
4368         * casetab.c (Fcase_table_p): Fix compile error and crash.
4369
4370 2000-11-18  Philip Aston  <philipa@mail.com>
4371
4372         * s/cygwin32.h: Cygwin has SVR4-like pty support.
4373
4374 2000-11-18  Martin Buchholz  <martin@xemacs.org>
4375
4376         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
4377         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
4378
4379 2000-11-17  Martin Buchholz  <martin@xemacs.org>
4380
4381         * config.h.in: Define HAVE_ELF_H if elf.h exists.
4382         * unexelf.c: Use HAVE_ELF_H.
4383         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
4384         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
4385         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
4386         Greg Harrington <greg_harrington@hotmail.com> provided a machine
4387         for testing.
4388         So this is an unexelfsgi.c from a different line of development.
4389
4390 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4391
4392         * regex.c (RE_TR_ASCII): New function.
4393         (RE_TRANSLATE): Call it.
4394
4395 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
4396
4397         * buffer.h (TRT_TABLE_OF): Remove assert.
4398         (IN_TRT_TABLE_DOMAIN): Removed.
4399
4400 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
4401
4402         * free-hook.c (log_gcpro):
4403         (show_gcprohist): Add support for GCPRO5.
4404
4405 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
4406
4407         * emacs.c (main_1): Improve -sd error message when --pdump=no.
4408
4409 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
4410
4411         * symeval.h: Declare flush_all_buffer_local_cache.
4412
4413         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
4414         (flush_buffer_local_cache): Added.
4415         (flush_all_buffer_local_cache): Added.
4416
4417         * lrecord.h: Remove unused XD_LO_RESET_NIL.
4418
4419         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
4420         (pdump_dump_data): Ditto.
4421         (pdump_reloc_one): Ditto.
4422         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
4423         before dumping.
4424
4425
4426 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4427
4428         * buffer.c: Remove if 0'ed entry.
4429         * buffer.h: Rewrite TRT to use char-table.
4430         * bufslots.h: Remove mirror tables.
4431         * casetab.c: Remove mirror tables.
4432         (CASE_TABLE_P): New macro.
4433         (Fcase_table_p): Element of a case table is string or char-table.
4434         (make_mirror_trt_table): Removed.
4435         (set_case_table): Setup char-table from strings for backward
4436         compatibility.
4437         * dired.c (Fdirectory_files):
4438         * dired-msw.c: (mswindows_get_files):
4439         * lisp.h: Change prototype of re_pattern_buffer.
4440         * regex.c: (RE_TRANSLATE): New macro.
4441         (TRANSLATE_P): Ditto.
4442         Change translate to type RE_TRANSLATE_TYPE.
4443         * regex.h: Define RE_TRANSLATE_TYPE
4444         * search.c (TRANSLATE): New macro.
4445         (TRANSLATE_ASCII): New macro.
4446         Translate table is changed to Lisp_Object.
4447         (signal_failure): Inhibit return.
4448
4449 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
4450
4451         * device-msw.c:
4452         * eldap.c:
4453         * event-Xt.c:
4454         * event-stream.c:
4455         * print.c:
4456         Do UNGCPRO before return.
4457
4458 2000-11-14  Martin Buchholz <martin@xemacs.org>
4459
4460         * XEmacs 21.2.37 is released.
4461
4462 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
4463
4464         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
4465         Add comments about discarded return value.
4466
4467 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
4468
4469         * callint.c:
4470         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
4471
4472 2000-10-27  Andy Piper  <andy@xemacs.org>
4473
4474         * gutter.c (Fset_default_gutter_position): default left and right
4475         gutters to visible.
4476         (calculate_gutter_size): calculate resonable heuristic for left
4477         and right gutter sizes.
4478         (specifier_vars_of_gutter): change left and right gutter sizes to
4479         autodetect.
4480         (calculate_gutter_size_from_display_lines): new function.
4481         (output_gutter): check for resizing on left and right gutters.
4482         (clear_gutter): don't special case top and left gutters.
4483         (specifier_vars_of_gutter): use new signature for
4484         set_specifier_caching.
4485
4486         * glyphs-x.c (x_redisplay_widget): spelling fix.
4487         * glyphs.c (specifier_vars_of_glyphs):
4488         * menubar.c (specifier_vars_of_menubar):
4489         * redisplay.c (specifier_vars_of_redisplay):
4490         * toolbar.c (specifier_vars_of_toolbar):
4491         * window.c (specifier_vars_of_window):
4492         * scrollbar.c (specifier_vars_of_scrollbar):
4493         (complex_vars_of_scrollbar): use new signature for
4494         set_specifier_caching.
4495
4496         * specifier.c (set_specifier_caching): include recompute flag.
4497         (recompute_one_cached_specifier_in_window): always recompute if
4498         flag set.
4499         (recompute_one_cached_specifier_in_frame): ditto.
4500
4501         * specifier.h (struct specifier_caching): add recompute flag.
4502
4503 2000-10-24  Andy Piper  <andy@xemacs.org>
4504
4505         * unexcw.c (copy_executable_and_dump_data_section): add new
4506         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
4507         5.0 happy.
4508
4509 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4510
4511         * console-x.h (x_device): New member modifier_release_time.
4512         * event-Xt.c (x_handle_sticky_modifiers):
4513         Bound interval modifier keys are sticky.
4514         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
4515         * events.h: extern it.
4516
4517 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4518
4519         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
4520
4521 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
4522
4523         * event-stream.c (execute_command_event): Preserve current_events
4524         and the like when event is misc-user-event.
4525         Inhibit quit during the call to maybe_echo_keys.
4526
4527 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
4528
4529         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
4530         symlink when buffer is killed.
4531         (inhibit_clash_detection): New variable.
4532
4533 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4534
4535         * console.c (Fset_input_method): Trigger redisplay on tty.
4536
4537 2000-11-07  Martin Buchholz  <martin@xemacs.org>
4538
4539         * process.c (Fprocess_status): Revert to previous behavior:
4540         (process-status "nosuchprocess") ==> nil
4541
4542 2000-11-06  Martin Buchholz  <martin@xemacs.org>
4543
4544         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
4545         Work around another GCC 2.95.2 optimizer bug.
4546
4547 2000-11-02  Martin Buchholz  <martin@xemacs.org>
4548
4549         * process.c (Fget_process): Use LIST_LOOP_2.
4550         (kill_buffer_processes): Use LIST_LOOP_2.
4551
4552         * minibuf.c (Fall_completions):
4553         Delete old non-functional code for FSF fourth argument.
4554
4555         * frame.c (frame_matches_frame_spec):
4556         Renamed from `frame_matches_frametype'.  Update all callers.
4557         (device_matches_device_spec):
4558         Renamed from 'device_matches_console_spec'.  Update all callers.
4559
4560         * doc.c (Fsubstitute_command_keys):
4561         Remove buffer overflow crash.  Small code cleanups.
4562
4563         * casetab.c (check_case_table): Simpler code.
4564
4565         * window.c (Freplace_buffer_in_windows):
4566         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
4567         (and similar implementation) as Fdelete_windows_on.
4568         Update all callers.
4569
4570         * alloc.c (Fmake_list):
4571         * alloc.c (make_vector):
4572         * alloc.c (Fmake_vector):
4573         * alloc.c (make_bit_vector):
4574         * alloc.c (Fmake_bit_vector):
4575         * alloc.c (Fbit_vector):
4576         * alloc.c (Fmake_string):
4577         * alloc.c (Fpurecopy):
4578         * alloc.c (Fmemory_limit):
4579         * buffer.c:
4580         * buffer.c (Fget_buffer):
4581         * buffer.c (Fkill_buffer):
4582         * buffer.c (complex_vars_of_buffer):
4583         * bytecode.c (Fcompiled_function_stack_depth):
4584         * callint.c (Fprefix_numeric_value):
4585         * event-stream.c:
4586         * event-stream.c (Fread_key_sequence):
4587         * casetab.c:
4588         * casetab.c (Fcase_table_p):
4589         * casetab.c (check_case_table):
4590         * casetab.c (Fset_case_table):
4591         * casetab.c (Fset_standard_case_table):
4592         * chartab.c:
4593         * chartab.c (Fchar_table_type):
4594         * chartab.c (Freset_char_table):
4595         * chartab.c (Fget_char_table):
4596         * chartab.c (Fget_range_char_table):
4597         * chartab.c (Fput_char_table):
4598         * chartab.c (Fmap_char_table):
4599         * chartab.c (Fcategory_table_p):
4600         * chartab.c (Fcheck_category_at):
4601         * chartab.c (Fchar_in_category_p):
4602         * chartab.c (Fcategory_table):
4603         * chartab.c (Fcopy_category_table):
4604         * chartab.c (Fset_category_table):
4605         * chartab.c (Fcategory_designator_p):
4606         * chartab.c (Fcategory_table_value_p):
4607         * cmds.c (Fdelete_char):
4608         * cmds.c (Fdelete_backward_char):
4609         * cmds.c (Fself_insert_command):
4610         * cmds.c (Fself_insert_internal):
4611         * console.c (Fvalid_console_type_p):
4612         * console.c (Fcdfw_console):
4613         * console.c (Fconsole_type):
4614         * console.c (Fconsole_name):
4615         * console.c (Fconsole_device_list):
4616         * console.c (Fconsole_on_window_system_p):
4617         * data.c:
4618         * data.c (Feq):
4619         * data.c (Fold_eq):
4620         * data.c (Fsubr_interactive):
4621         * data.c (Fchar_to_int):
4622         * data.c (Fint_to_char):
4623         * data.c (Fsetcar):
4624         * data.c (Fsetcdr):
4625         * data.c (Fnumber_to_string):
4626         * data.c (Fstring_to_number):
4627         * data.c (Frem):
4628         * database.c (mark_database):
4629         * database.c (finalize_database):
4630         * database.c (Fdatabase_live_p):
4631         * database.c (Fdatabasep):
4632         * device-x.c (Fx_get_resource):
4633         * device.c (Fdfw_device):
4634         * dired.c:
4635         * dired.c (Ffile_name_completion):
4636         * dired.c (Ffile_name_all_completions):
4637         * dired.c (Fuser_name_completion):
4638         * dired.c (Fuser_name_completion_1):
4639         * dired.c (Fuser_name_all_completions):
4640         * doc.c (Fdocumentation):
4641         * doc.c (Fdocumentation_property):
4642         * doc.c (Fsubstitute_command_keys):
4643         * editfns.c:
4644         * editfns.c (Fchar_to_string):
4645         * editfns.c (Fstring_to_char):
4646         * editfns.c (Ftemp_directory):
4647         * editfns.c (Finsert_char):
4648         * editfns.c (Fbuffer_substring_no_properties):
4649         * editfns.c (Fnarrow_to_region):
4650         * editfns.c (Fchar_equal):
4651         * editfns.c (Fchar_Equal):
4652         * editfns.c (Ftranspose_regions):
4653         * emacs.c (Fdump_emacs):
4654         * eval.c (Fthrow):
4655         * eval.c (Fcommand_execute):
4656         * eval.c (Fautoload):
4657         * eval.c (Fbacktrace):
4658         * eval.c (Fbacktrace_frame):
4659         * events.c:
4660         * events.c (Fcopy_event):
4661         * events.c (Fcharacter_to_event):
4662         * events.c (Fevent_button):
4663         * events.c (Fevent_process):
4664         * extents.c:
4665         * extents.c (Fnext_extent_change):
4666         * extents.c (Fextent_property):
4667         * faces.c (Ffacep):
4668         * faces.c (Fmake_face):
4669         * file-coding.c:
4670         * file-coding.c (Fencode_shift_jis_char):
4671         * file-coding.c (Fencode_big5_char):
4672         * fileio.c (Ffile_name_directory):
4673         * fileio.c (Ffile_name_nondirectory):
4674         * fileio.c (Ffile_name_as_directory):
4675         * fileio.c (Fdirectory_file_name):
4676         * fileio.c (Ffile_truename):
4677         * fileio.c (Fsubstitute_in_file_name):
4678         * fileio.c (Ffile_modes):
4679         * fileio.c (Fset_file_modes):
4680         * fileio.c (Fset_default_file_modes):
4681         * fileio.c (Fverify_visited_file_modtime):
4682         * floatfns.c (Facos):
4683         * floatfns.c (Fasin):
4684         * floatfns.c (Fatan):
4685         * floatfns.c (Fcos):
4686         * floatfns.c (Fsin):
4687         * floatfns.c (Ftan):
4688         * floatfns.c (Fbessel_j0):
4689         * floatfns.c (Fbessel_j1):
4690         * floatfns.c (Fbessel_jn):
4691         * floatfns.c (Fbessel_y0):
4692         * floatfns.c (Fbessel_y1):
4693         * floatfns.c (Fbessel_yn):
4694         * floatfns.c (Ferf):
4695         * floatfns.c (Ferfc):
4696         * floatfns.c (Flog_gamma):
4697         * floatfns.c (Fexp):
4698         * floatfns.c (Fexpt):
4699         * floatfns.c (Flog):
4700         * floatfns.c (Flog10):
4701         * floatfns.c (Fsqrt):
4702         * floatfns.c (Fcube_root):
4703         * floatfns.c (Facosh):
4704         * floatfns.c (Fasinh):
4705         * floatfns.c (Fatanh):
4706         * floatfns.c (Fcosh):
4707         * floatfns.c (Fsinh):
4708         * floatfns.c (Ftanh):
4709         * floatfns.c (Fabs):
4710         * floatfns.c (Ffloat):
4711         * floatfns.c (Flogb):
4712         * floatfns.c (Fceiling):
4713         * floatfns.c (Ffloor):
4714         * floatfns.c (Fround):
4715         * floatfns.c (Ftruncate):
4716         * floatfns.c (Ffceiling):
4717         * floatfns.c (Fffloor):
4718         * floatfns.c (Ffround):
4719         * floatfns.c (Fftruncate):
4720         * fns.c (Fstring_equal):
4721         * fns.c (Fstring_lessp):
4722         * fns.c (concat2):
4723         * fns.c (concat3):
4724         * fns.c (vconcat2):
4725         * fns.c (vconcat3):
4726         * fns.c (Fsubstring):
4727         * fns.c (Fassoc):
4728         * fns.c (Fold_assoc):
4729         * fns.c (assoc_no_quit):
4730         * fns.c (Fassq):
4731         * fns.c (Fold_assq):
4732         * fns.c (assq_no_quit):
4733         * fns.c (Frassoc):
4734         * fns.c (Fold_rassoc):
4735         * fns.c (Frassq):
4736         * fns.c (Fold_rassq):
4737         * fns.c (rassq_no_quit):
4738         * fns.c (Fremassoc):
4739         * fns.c (remassoc_no_quit):
4740         * fns.c (Fremassq):
4741         * fns.c (remassq_no_quit):
4742         * fns.c (Fremrassoc):
4743         * fns.c (Fremrassq):
4744         * fns.c (remrassq_no_quit):
4745         * fns.c (Fsort):
4746         * fns.c (Fplist_get):
4747         * fns.c (Fplist_put):
4748         * fns.c (Fplist_remprop):
4749         * fns.c (Fplist_member):
4750         * fns.c (Flax_plist_get):
4751         * fns.c (Flax_plist_put):
4752         * fns.c (Flax_plist_remprop):
4753         * fns.c (Flax_plist_member):
4754         * fns.c (Fequal):
4755         * fns.c (Fold_equal):
4756         * fns.c (Frequire):
4757         * fns.c (Fbase64_encode_region):
4758         * fns.c (Fbase64_encode_string):
4759         * fns.c (Fbase64_decode_region):
4760         * frame.c:
4761         * frame.c (frame_matches_frame_spec):
4762         * frame.c (device_matches_device_spec):
4763         * frame.c (next_frame):
4764         * frame.c (previous_frame):
4765         * frame.c (Fnext_frame):
4766         * frame.c (Fprevious_frame):
4767         * frame.c (Fframe_property):
4768         * frame.c (Fset_frame_height):
4769         * frame.c (Fset_frame_size):
4770         * frame.h:
4771         * glyphs.c:
4772         * glyphs.c (if):
4773         * glyphs.c (decode_error_behavior_flag):
4774         * glyphs.c (Fmake_image_instance):
4775         * indent.c (Findent_to):
4776         * intl.c (Fignore_defer_gettext):
4777         * keymap.c (Fkeymapp):
4778         * keymap.c (Flookup_key):
4779         * lread.c:
4780         * lread.c (Fload_internal):
4781         * lread.c (Feval_buffer):
4782         * lread.c (Feval_region):
4783         * macros.c (Fexecute_kbd_macro):
4784         * marker.c (set_marker_internal):
4785         * marker.c (Fset_marker):
4786         * marker.c (set_marker_restricted):
4787         * marker.c (Fcopy_marker):
4788         * marker.c (noseeum_copy_marker):
4789         * menubar.c:
4790         * menubar.c (Fpopup_menu):
4791         * minibuf.c:
4792         * mule-charset.c (Fcharset_name):
4793         * mule-charset.c (Fchar_charset):
4794         * mule-charset.c (Fchar_octet):
4795         * mule-charset.c (Fsplit_char):
4796         * mule-wnnfns.c (Fwnn_open):
4797         * mule-wnnfns.c (Fwnn_dict_comment):
4798         * mule-wnnfns.c (Fwnn_quit_henkan):
4799         * mule-wnnfns.c (Fwnn_word_toroku):
4800         * mule-wnnfns.c (Fwnn_word_sakujo):
4801         * mule-wnnfns.c (Fwnn_word_use):
4802         * mule-wnnfns.c (Fwnn_hindo_set):
4803         * objects.c:
4804         * objects.c (Fmake_color_instance):
4805         * objects.c (Fmake_font_instance):
4806         * print.c (Fwrite_char):
4807         * process.c:
4808         * process.c (mark_process):
4809         * process.c (print_process):
4810         * process.c (get_process_from_usid):
4811         * process.c (Fprocessp):
4812         * process.c (Fprocess_live_p):
4813         * process.c (Fget_process):
4814         * process.c (Fget_buffer_process):
4815         * process.c (get_process):
4816         * process.c (Fprocess_id):
4817         * process.c (Fprocess_name):
4818         * process.c (Fprocess_command):
4819         * process.c (init_process_io_handles):
4820         * process.c (start_process_unwind):
4821         * process.c (Fstart_process_internal):
4822         * process.c (Fopen_multicast_group_internal):
4823         * process.c (Fset_process_window_size):
4824         * process.c (read_process_output):
4825         * process.c (send_process):
4826         * process.c (Fprocess_tty_name):
4827         * process.c (Fset_process_buffer):
4828         * process.c (Fprocess_buffer):
4829         * process.c (Fprocess_mark):
4830         * process.c (set_process_filter):
4831         * process.c (Fset_process_filter):
4832         * process.c (Fprocess_filter):
4833         * process.c (Fprocess_send_region):
4834         * process.c (Fprocess_send_string):
4835         * process.c (exec_sentinel):
4836         * process.c (Fset_process_sentinel):
4837         * process.c (Fprocess_sentinel):
4838         * process.c (status_notify):
4839         * process.c (Fprocess_status):
4840         * process.c (Fprocess_exit_status):
4841         * process.c (process_send_signal):
4842         * process.c (Fprocess_send_eof):
4843         * process.c (deactivate_process):
4844         * process.c (remove_process):
4845         * process.c (Fdelete_process):
4846         * process.c (kill_buffer_processes):
4847         * process.c (Fprocess_kill_without_query):
4848         * process.c (Fprocess_kill_without_query_p):
4849         * rangetab.c:
4850         * rangetab.c (Fget_range_table):
4851         * rangetab.c (Fput_range_table):
4852         * rangetab.c (Fremove_range_table):
4853         * rangetab.c (Fclear_range_table):
4854         * search.c:
4855         * search.c (Fskip_chars_forward):
4856         * search.c (Fskip_chars_backward):
4857         * search.c (Fskip_syntax_forward):
4858         * search.c (Fskip_syntax_backward):
4859         * search.c (search_command):
4860         * search.c (Freplace_match):
4861         * search.c (Fregexp_quote):
4862         * select.c (Fown_selection_internal):
4863         * select.c (Fselection_owner_p):
4864         * select.c (Fselection_exists_p):
4865         * select.c (Fget_selection_internal):
4866         * specifier.c:
4867         * symbols.c:
4868         * symbols.c (Fintern):
4869         * symbols.c (Fintern_soft):
4870         * symbols.c (Funintern):
4871         * symbols.c (Fapropos_internal):
4872         * symbols.c (Fset_default):
4873         * syntax.c:
4874         * syntax.c (Fsyntax_table_p):
4875         * syntax.c (Fcopy_syntax_table):
4876         * syntax.c (Fset_syntax_table):
4877         * syntax.c (Fchar_syntax):
4878         * syntax.c (syntax_match):
4879         * syntax.c (Fmatching_paren):
4880         * syntax.c (Fforward_word):
4881         * syntax.c (scan_lists):
4882         * syntax.c (Fscan_lists):
4883         * syntax.c (Fscan_sexps):
4884         * syntax.c (Fparse_partial_sexp):
4885         * toolbar.c (Fcheck_toolbar_button_syntax):
4886         * tooltalk.doc:
4887         * window.c:
4888         * window.c (Fwindowp):
4889         * window.c (Fwindow_live_p):
4890         * window.c (Fwindow_point):
4891         * window.c (Fdelete_window):
4892         * window.c (Fnext_window):
4893         * window.c (Fprevious_window):
4894         * window.c (Fother_window):
4895         * window.c (window_loop):
4896         * window.c (Fget_lru_window):
4897         * window.c (Fsplit_window):
4898         * window.c (Fenlarge_window):
4899         * window.c (Fenlarge_window_pixels):
4900         * window.c (Fshrink_window):
4901         * window.c (Fshrink_window_pixels):
4902         * window.c (change_window_height):
4903         * window.c (Fwindow_configuration_p):
4904         * window.c (Fcurrent_window_configuration):
4905         * window.h:
4906         * casefiddle.c (casify_object):
4907         * casefiddle.c (Fupcase):
4908         * casefiddle.c (Fdowncase):
4909         * casefiddle.c (Fcapitalize):
4910         * casefiddle.c (Fupcase_initials):
4911         * casefiddle.c (casify_region_internal):
4912         * casefiddle.c (casify_region):
4913         * casefiddle.c (Fupcase_region):
4914         * casefiddle.c (Fdowncase_region):
4915         * casefiddle.c (Fcapitalize_region):
4916         * casefiddle.c (Fupcase_initials_region):
4917         * casefiddle.c (Fupcase_word):
4918         * casefiddle.c (Fdowncase_word):
4919         * casefiddle.c (Fcapitalize_word):
4920         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
4921         Replace 0 with '\0' when working with bytes.
4922         Replace initial "(" with "\(" in docstrings.
4923
4924 2000-11-01  Martin Buchholz  <martin@xemacs.org>
4925
4926         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
4927
4928         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
4929
4930 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4931
4932         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
4933
4934 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4935
4936         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
4937         correctly.
4938
4939 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
4940
4941         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
4942         (inhibit_auto_save_session): New variable.
4943         (vars_of_fileio): Declare and initialize them.
4944         * fileio.c (Fdo_auto_save): Don't create session file if
4945         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
4946
4947 2000-10-31  Martin Buchholz  <martin@xemacs.org>
4948
4949         * sgiplay.c (play_internal): C++ compilability.
4950         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
4951         * callproc.c (Fold_call_process_internal):
4952         Remove unused vars `env', `first'.
4953         * scrollbar.c (update_scrollbar_instance):
4954         #### unused var `current_window'.
4955         * redisplay-tty.c: Put currently unused vars insert_mode_on,
4956         etc. within #ifdef NOT_YET.
4957         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
4958         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
4959         * specifier.c (specifier_instance):
4960         #### unused var `tag'.
4961         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
4962
4963 2000-10-27  Martin Buchholz  <martin@xemacs.org>
4964
4965         * fns.c (Fbutlast):
4966         * fns.c (list_sort):
4967         * fns.c (Ffillarray):
4968         * fns.c (bytecode_nconc2):
4969         * fns.c (Fnconc):
4970         * fns.c (mapcar1):
4971         * fns.c (Fmapconcat):
4972         Be pedantically 64-bit correct.  For the time when someone will
4973         want to have a list with length > 2**32.
4974
4975         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
4976         Work around MIPSpro compiler bug.
4977
4978         * process-unix.c (unix_kill_child_process): Add snarky comment.
4979         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
4980
4981         * config.h.in: Oops, _getpt ==> _getpty
4982
4983 2000-10-26  Martin Buchholz  <martin@xemacs.org>
4984
4985         * config.h.in:
4986         * regex.c:
4987         Use void*, not char*, as return type of alloca().
4988
4989         * alloc.c (free_marker): Side effect inside assert expression!
4990
4991 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
4992
4993         * mule-charset.c (Fset_charset_ccl_program): To check
4994         if the given ccl program is valid, use setup_ccl_program()
4995         instead of CHECK_VECTOR().
4996         (Fmake_charset): Likewise.
4997
4998 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
4999
5000         * faces.c (get_extent_fragment_face_cache_index):
5001         Fix cachel.merged_faces memory leak.
5002
5003 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
5004
5005         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
5006         Reset MSB of octets obtained by DECODE_SJIS
5007         because of the incompatibility with Emacs.
5008         (ccl_driver)<CCL_ENCODE_SJIS>:
5009         Set MSB of octets before passing them to
5010         ENCODE_SJIS because of the incompatibility
5011         with Emacs.
5012
5013 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
5014
5015         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
5016         (DECLARE_LRECORD): Undo the last change.
5017         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
5018
5019 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
5020
5021         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
5022         the implementation to lrecord_implementations_table.
5023
5024 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
5025
5026         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
5027         initial value of `lrecord_type_##c_name' and
5028         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
5029         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
5030         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
5031         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
5032         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
5033
5034 2000-10-17  Martin Buchholz  <martin@xemacs.org>
5035
5036         * miscplay.c (sndcnv8S_2mono):
5037         (sndcnv2monounsigned):
5038         (sndcnvULaw_2linear):
5039         (sndcnv16swap):
5040         Remove implementation-defined behavior.
5041
5042 2000-10-12  Martin Buchholz  <martin@xemacs.org>
5043
5044         * input-method-xlib.c: Warning suppression.
5045
5046 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
5047
5048         * mule-ccl.c: Sync up with Emacs 21.0.90.
5049         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
5050         Do nothing.
5051         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
5052         Likewise.
5053         (ccl_driver[WriteMultibyteChar2]): Bug fix.
5054         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
5055         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
5056         leading char belongs to official 2-dimensional charset.
5057         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
5058         write the given character as is.  Otherwise,
5059         if it is a multibyte char, convert it by
5060         non_ascii_set_charptr_emchar, then write it.
5061         (CCL_WRITE_STRING): Likewise.
5062         (ccl_get_compiled_code): New function.
5063         (setup_ccl_program): When ccl_prog is invalid,
5064         return -1.
5065         (Fregister_code_conversion_map): New function.
5066         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
5067
5068         * mule-ccl.h: Sync up with Emacs 21.0.90.
5069         (Fregister_ccl_program): export it.
5070
5071         * redisplay-msw.c (separate_textual_runs):
5072         If ccl program is not valid, don't do ccl conversion.
5073
5074         * redisplay-x.c (separate_textual_runs): Ditto.
5075
5076         * file-coding.c (Fmake_coding_system):
5077         When type is ccl and value is vector, register it
5078         with a proper symbol.  And checks whether the
5079         given ccl program is valid.
5080         (mule_decode): When calling ccl_driver, if src indicates
5081         NULL pointer, set an empty string instead.
5082         (mule_encode): Likewise.
5083
5084 2000-10-11  Martin Buchholz  <martin@xemacs.org>
5085
5086         The following large batch of changes gets us back to a state of
5087         C++ compilability.  Extbyte is now a char, which means that
5088         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
5089
5090         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
5091
5092         * sound.c (Fplay_sound): Type correctness.
5093
5094         * select-x.c (hack_motif_clipboard_selection): Type correctness.
5095         (x_get_window_property): Type correctness.
5096         (receive_incremental_selection): unsigned char ==> Extbyte
5097         (selection_data_to_lisp_data): unsigned char ==> Extbyte
5098         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
5099         (Fx_store_cutbuffer_internal): Type correctness.
5100
5101         * process-unix.c (try_to_initialize_subtty): Type correctness.
5102
5103         * objects-x.c (x_print_color_instance): Type correctness.
5104         (x_print_font_instance): Type correctness.
5105         (x_list_fonts): SExtbyte ==> Extbyte.
5106         (valid_x_font_name_p): SExtbyte ==> Extbyte.
5107         (x_find_charset_font): SExtbyte ==> Extbyte.
5108         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
5109         (truename_via_XListFonts): SExtbyte ==> Extbyte.
5110         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
5111         Use bufbyte_strcmp.
5112
5113         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
5114         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
5115         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
5116         (BYTE_C0_P): Use bit ops for char-signedness safety.
5117         (BYTE_C1_P): Use bit ops for char-signedness safety.
5118         (CHARSET_BY_LEADING_BYTE):
5119         (CHARSET_BY_ATTRIBUTES):
5120         Always use inline function.
5121         Use type_checking_assert.
5122         Hide chlook.
5123
5124         * mule-charset.c (non_ascii_charptr_copy_char):
5125         Modify to work with both ASCII and non-ASCII characters.
5126         Improve docs and variable names.
5127         Replace over-clever fall-through switch with a simple loop.
5128         (Lstream_get_emchar_1):
5129         Replace over-clever fall-through switch with a simple loop.
5130
5131         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5132         Warning suppression.
5133
5134         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
5135         the return value of Lstream_getc, which could be EOF as well.
5136
5137         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
5138
5139         * lisp.h: Make Extbyte a char, not unsigned char, so that external
5140         APIs can be used on Extbytes without casts.  Risky!
5141         (SExtbyte): Remove.
5142         (UExtbyte): Remove.
5143
5144         * input-method-xlib.c (XIM_init_device):
5145         Use Xlib.h instead of IntrinsicP.h.
5146         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
5147         which will break in X11R7.
5148         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
5149         to call XRegisterIMInstantiateCallback with correct types.
5150
5151         * gui-x.c (button_item_to_widget_value): Type correctness.
5152
5153         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
5154
5155         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
5156         (xbm_instantiate_1): Type correctness.
5157         (BUILD_GLYPH_INST):  Type correctness.
5158
5159         * fileio.c (Fsubstitute_in_file_name): Type correctness.
5160
5161         * file-coding.c:
5162         (decode_coding_sjis):
5163         (decode_coding_big5):
5164         (decode_coding_ucs4):
5165         (decode_coding_utf8):
5166         (decode_coding_iso2022):
5167         (decode_coding_no_conversion):
5168         Make all decoding functions take an Extbyte * arg.
5169         (encode_coding_sjis):
5170         (encode_coding_big5):
5171         (encode_coding_ucs4):
5172         (encode_coding_utf8):
5173         (encode_coding_iso2022):
5174         (encode_coding_no_conversion):
5175         Make all encoding functions take a Bufbyte * arg.
5176         Use size_t instead of unsigned int for memory sizes.
5177         Only cast to unsigned char whenever dereferencing Extbyte *.
5178
5179         * doc.c (unparesseuxify_doc_string): Type correctness.
5180
5181         * console-x.c (split_up_display_spec):
5182         Rewrite without using details of internal string representation.
5183         (x_semi_canonicalize_device_connection): Type correctness.
5184
5185         * config.h.in:
5186         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
5187         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
5188         (HAVE_XFREE386): Removed.
5189
5190         * buffer.h (DEC_CHARPTR): `const' correctness.
5191         (bufbyte_strcmp): New.
5192         (bufbyte_memcmp): New.
5193
5194         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
5195
5196         * buffer.h (XCHAR_OR_CHAR_INT):
5197         Always use inline function.
5198         Remove redundant type checking assert() - XINT will abort quite nicely.
5199
5200 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5201
5202         * search.c (Freplace_match): Set newtext to an empty string.
5203
5204 2000-10-10  Martin Buchholz  <martin@xemacs.org>
5205
5206         * s/decosf1-3.h: Remove #include of stropts.h
5207         * s/ptx.h: Remove #include of stropts.h
5208         * s/usg5-4.h: Remove #include of stropts.h
5209         * sysproc.h:
5210         * config.h.in:
5211         Use stropts.h, not sys/stropts.h.
5212         Use strtio.h, not sys/strtio.h.
5213
5214 2000-10-04  Martin Buchholz <martin@xemacs.org>
5215
5216         * XEmacs 21.2.36 is released.
5217
5218 2000-09-21  Andy Piper  <andy@xemacs.org>
5219
5220         * glyphs-x.c (x_redisplay_widget): make sure non-structural
5221         changes still involve copying the widget tree.
5222         (update_widget_face): make sure a change is register in the widget
5223         tree. Call update_tab_widget_face appropriately.
5224         (update_tab_widget_face): ditto.
5225         (x_tab_control_redisplay): make sure non-structural changes still
5226         involve copying the widget tree.
5227
5228 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
5229
5230         * lread.c (locate_file): Check the path element is non-nil.
5231
5232 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5233
5234         * lisp.h: Warning suppression for SCO compilers.
5235
5236         * redisplay-tty.c (reset_tty_modes): Fix crash.
5237         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
5238
5239 2000-09-27  Martin Buchholz  <martin@xemacs.org>
5240
5241         Big signal/process handling overhaul.  Bugs fixed:
5242         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
5243         M-x comint-kill-subjob should work for both values nil and t of
5244         process-connection-type. It was broken on most platforms.
5245         Testing on Irix and Cygwin still needed.  Other plaforms tested.
5246         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
5247         * process-unix.c: Signal/Process handling overhaul.
5248         (pty_name): make 64 bytes, as `expect' does, for paranoia.
5249         (allocate_pty): Use all available modern methods of allocating
5250         ptys, falling back to old style BSD allocation as a last resort.
5251         Use allegedly more secure Unix98 pty allocation by default.
5252         (allocate_pty_the_old_fashioned_way): New. the last resort.
5253         (unix_create_process): Push ptem, ldterm, ttcompat where
5254         available.  Autoconfiscate.
5255         (try_to_initialize_subtty): New.
5256         (unix_kill_child_process): Proper signal handling for ptys on most
5257         platforms, using special knowledge of AIX, BSD, etc...
5258         (unix_create_process): Always disconnect_controlling_terminal() for
5259         subprocesses, whether using ptys or not.
5260         * process.h: Remove old getpt-dependent PTY code.
5261         * process.c (Fprocess_send_signal): New, obvious generic function.
5262         (decode_signal): New.
5263         (Finterrupt_process):
5264         (Fkill_process):
5265         (Fquit_process):
5266         (Fstop_process):
5267         (Fcontinue_process):
5268         (Fsignal_process): Use decode_signal.
5269         (process_send_signal):
5270         Many docstring corrections.
5271         Allow any signal to be sent to a process object.
5272         * config.h.in: Add symbols for big signal/process overhaul.
5273         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
5274         * sysproc.h: Include process-related headers, where available:
5275         sys/stropts.h sys/strtio.h pty.h libutil.h
5276         * s/irix4-0.h:
5277         * s/irix5-0.h:
5278         * s/cygwin32.h:
5279         * s/gnu.h:
5280         * s/linux.h:
5281         * s/hpux.h:
5282         * s/aix3-1.h:
5283         Remove old S&M pty stuff.
5284         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
5285         * systty.h: Simplify cpp hackery, improve comments.
5286         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
5287
5288         * editfns.c (Fformat_time_string):
5289         Be a little more paranoid with the return value of ctime.
5290
5291         * fileio.c (check_executable):
5292         (check_writable):
5293         Use symbolic constants X_OK, W_OK.
5294
5295         * console-x.c (split_up_display_spec): Fix a warning.
5296
5297 2000-10-02  Martin Buchholz  <martin@xemacs.org>
5298
5299         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
5300         * ntproc.c (sys_spawnve): make_string ==> build_string
5301         Small clarity improvements.
5302
5303 2000-09-30  Martin Buchholz  <martin@xemacs.org>
5304
5305         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
5306
5307         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
5308
5309         * config.h.in (HAVE_STRCASECMP): Remove.
5310
5311 2000-09-29  Martin Buchholz  <martin@xemacs.org>
5312
5313         * redisplay-output.c (redisplay_output_pixmap):
5314         Cleaner and possibly more 64-bit correct code.
5315
5316 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5317
5318         * dumper.c (pdump_load_finish): move restoration of
5319         `noninteractive1' to emacs.c (main_1).
5320         * emacs.c (main_1): protect LISP-visible command-line flags
5321         from pdump_load().
5322
5323 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
5324
5325         * Makefile.in.in (versionclean):  Use EXE_TARGET and
5326         DUMP_TARGET instead of literal program names.
5327
5328 2000-09-20  Martin Buchholz  <martin@xemacs.org>
5329
5330         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
5331
5332 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5333
5334         * *: Spelling mega-patch
5335
5336 2000-09-19  Martin Buchholz  <martin@xemacs.org>
5337
5338         * fns.c (bad_bad_turtle):
5339         Delete "Eek!" comment, since we fixed the bug to which it refers.
5340
5341 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5342
5343         * alloca.c: Replace REGISTER with register.
5344
5345 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
5346
5347         * file-coding.c (ucs_to_char): Use countof.
5348
5349 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5350
5351         * file-coding.c: (ucs_to_char):
5352         (complex_vars_of_file_coding):
5353         Use countof instead of sizeof.
5354         Use CHECK_NATNUM instead of CHECK_INT.
5355
5356         * sysdep.c (strcasecmp): Remove.
5357         * device-x.c (ascii_strcasecmp): New.
5358         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
5359         Avoid using non-standard non-portable strcasecmp.
5360
5361 2000-09-16  Martin Buchholz  <martin@xemacs.org>
5362
5363         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
5364         * font-lock.c: remove reference to emacsfns.h.
5365         * search.c: small doc improvement.
5366         * event-Xt.c: correct file names in comments.
5367         * console-x.h Correct file names in comments.
5368         * frame.c: Correct file names in comments.
5369         * event-stream.c: remove Energize from comments.
5370
5371 2000-09-15  Martin Buchholz  <martin@xemacs.org>
5372
5373         * symeval.h (DEFERROR_STANDARD):
5374         (DEFERROR):
5375         (DEFSYMBOL):
5376         (DEFSYMBOL_NO_DUMP):
5377         (DEFSYMBOL_MULTIWORD_PREDICATE):
5378         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
5379         (DEFKEYWORD):
5380         The construct &##name is not sensible C.
5381         Fixes compilation errors with Unixware native compiler.
5382
5383 2000-09-14  Martin Buchholz  <martin@xemacs.org>
5384
5385         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
5386         (next_frame_internal): Removed.  We now just have next_frame.
5387         (next_frame):
5388         Write a simpler and cleaner one-pass algorithm.
5389         Remove called_from_delete_device arg and #ifdefed-out code.
5390         (previous_frame):
5391         Renamed from prev_frame.  Update callers.
5392         Cleaned up to have an analogous implementation to next_frame.
5393         (other_visible_frames_internal): Remove the
5394         called_from_delete_device bogus arg, and hence, remove this
5395         function.  Just use other_visible_frames().
5396
5397         * window.c (Fnext_window):
5398         Prettify docstring.
5399         Since next_frame() is guaranteed to return a frame, remove check
5400         for nil inserted in previous patch.
5401         (Fprevious_window):
5402         Prettify docstring.
5403         Make code look more like Fnext_window.
5404         (window_loop):
5405         Respect the `console' arg when iterating through windows.
5406         Fixes bug: (get-buffer-window buffer t device) not respecting
5407         the `device' arg.
5408         This function needs more work, as others have pointed out.
5409
5410         * frame.h: Rename prev_frame to previous_frame.
5411         device_matches_console_spec no longer takes a `frame' arg.
5412
5413         * s/gnu.h:
5414         * s/linux.h:
5415         * s/hpux.h:
5416         Use EMACS_BLOCK_SIGNAL instead of sigblock.
5417         From "Golubev I. N." <gin@mo.msk.ru>.
5418
5419         * make-src-depend: Fix typo.
5420
5421 2000-09-13  Martin Buchholz  <martin@xemacs.org>
5422
5423         * window.c (Fnext_window):
5424         next_frame() might return nil, not a frame.
5425         Fixes this crash:
5426         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5427
5428         * frame.c (next_frame_internal):
5429         We've passed a frame if we've passed its device.
5430         Fixes this crash:
5431         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
5432 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
5433
5434 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5435
5436         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
5437         Allow option to suppress accelerators in menu/dialog items.
5438         (populate_or_checksum_helper): Pass dialog title through above.
5439
5440 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
5441
5442         * event-msw.c (mswindows_key_to_emacs_keysym):
5443         Add "pause" key, fix "menu" key.
5444
5445 2000-09-09  Martin Buchholz  <martin@xemacs.org>
5446
5447         * eval.c (reinit_vars_of_eval):
5448         Increase max_lisp_eval_depth to 1000,
5449         required for thai-xtis.el to byte-compile under some circumstances.
5450
5451 2000-09-04  Martin Buchholz  <martin@xemacs.org>
5452
5453         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
5454         From Kenichi Handa.
5455
5456 2000-09-01  Martin Buchholz  <martin@xemacs.org>
5457
5458         * make-src-depend: Make the generated Makefiles smaller.
5459
5460         * s/hpux.h (SETUP_SLAVE_PTY):
5461         Provide a %d in the format string for the errno argument.
5462
5463         * editfns.c (Ftemp_directory):
5464         Warning fix.
5465         Avoid buffer overrun on very long file name.
5466
5467         * input-method-xlib.c (XIM_init_device):
5468         6th parameter of XRegisterIMInstantiateCallback has different
5469         pointer types on different OSes, so simply cast to (void *).
5470
5471         * unexhp9k800.c: Warning fixes.  Fiddly changes.
5472
5473         * sysdll.c (dll_open):
5474         shl_load will hang hard if passed a NULL filename.
5475         Simply return NULL for compatibility with dlopen.
5476         * sysdll.c: Conform to XEmacs coding standards.
5477
5478         * sysdep.c (get_pty_max_bytes):
5479         Support pty input lines longer than 512 bytes on HP-UX 10.20.
5480
5481 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5482
5483         * tooltalk.c: Add #include <syssignal.h>
5484
5485 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
5486
5487         * s/hpux.h: Don't use undefined function sigunblock().
5488
5489 2000-08-31  Martin Buchholz  <martin@xemacs.org>
5490
5491         * config.h.in: Add HAVE_BALLOON_HELP.
5492         * emacs.c: Use HAVE_BALLOON_HELP.
5493         * Makefile.in.in (x_objs):
5494         Make Balloon Help conditional on finding shape.h.
5495
5496 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
5497
5498         * syntax.c (regex_emacs_buffer_p): New variable.
5499         * syntax.h (regex_emacs_buffer_p): extern.
5500         * search.c (looking_at_1):
5501         (string_match_1):
5502         (fast_string_match):
5503         (search_buffer): Set regex_emacs_buffer_p.
5504         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
5505         when before_dot, at_dot, after_dot.
5506
5507 2000-08-23  Andy Piper  <andy@xemacs.org>
5508
5509         * gui-x.c (popup_selection_callback): Only set action_occurred
5510         when we really have an image instance.
5511         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
5512
5513 2000-08-23  Andy Piper  <andy@xemacs.org>
5514
5515         * gui-msw.c (mswindows_handle_gui_wm_command): set
5516         action_occurred.
5517         * gui-x.c (popup_selection_callback): ditto.
5518
5519         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
5520         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
5521         (struct Lisp_Image_Instance): add action_occurred flag.
5522
5523         * glyphs.c (redisplay_subwindow): use action_occurred flag.
5524         (image_instance_changed): ditto.
5525         (reset_frame_subwindow_instance_cache): only unmap windows - do
5526         not remove them from the cache also.
5527
5528         * glyphs-widget.c (tab_control_update): better debug.
5529         (progress_gauge_update): ditto.
5530         (layout_update): ditto.
5531         (layout_instantiate): ditto.
5532         (tab_control_order_only_changed): cope with null pending items.
5533
5534         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
5535         debug. Force selection of an item when an action occurred. Cope
5536         with null pending_items.
5537         (mswindows_progress_gauge_redisplay): better debug.
5538         * glyphs-x.c (x_tab_control_redisplay): ditto.
5539
5540         * redisplay.c (redisplay_frame): reset the frame cache if the
5541         frame is garbaged.
5542
5543         * window.c (Fset_window_configuration): potentially re-enable
5544         frame cache reset.
5545         (window_unmap_subwindows): need to finalize instances here since
5546         it is only used in mark_window_as_deleted.
5547
5548 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
5549
5550         * nas.c (SndOpenDataForReading):
5551         nas.c (WaveOpenDataForReading):
5552         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
5553         Somehow escaped from the 2000-08-14 patch.
5554
5555 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5556
5557         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
5558         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
5559
5560 2000-08-21  Andy Piper  <andy@xemacs.org>
5561
5562         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
5563         window if it is not already displayed.
5564
5565         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
5566         it is not already displayed.
5567
5568         * window.c (Fset_window_configuration): don't reset the frame
5569         cache.
5570
5571         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
5572         instances from the frame cache if we are actually finalizing them.
5573         (reset_frame_subwindow_instance_cache): reset frame cache only
5574         after unmapping everything.
5575         (map_subwindow): set displayed flag after mapping.
5576
5577 2000-08-21  Martin Buchholz  <martin@xemacs.org>
5578
5579         * data.c (indirect_function):
5580         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
5581
5582         * eval.c (function_argcount):
5583         Use original function when signaling errors.
5584
5585 2000-08-18  Andy Piper  <andy@xemacs.org>
5586
5587         * frame.c (delete_frame_internal): use new
5588         free_frame_subwindow_instances name.
5589
5590         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
5591         (add_tab_item): make return type correct.
5592         (mswindows_tab_control_instantiate): assert index of tab.
5593         (mswindows_tab_control_redisplay): Re-code to use
5594         gui_item_equal_sans_selected and gui_item_list_find_selected.
5595
5596         * glyphs-widget.c (tab_control_update): Correct comment.
5597
5598         * window.c (window_unmap_subwindows): use new
5599         unmap_subwindow_instance_cache_mapper.
5600         (window_unmap_subwindows_cache_mapper): deleted.
5601         (Fset_window_configuration): comparisons should now be with
5602         EQ. Preserve the subwindow instance cache across configuration
5603         changes.
5604         (allocate_window): ditto.
5605         (make_dummy_parent): ditto.
5606
5607         * glyphs.c (free_frame_subwindow_instances): rename from
5608         free_frame_subwindow_instance_cache. finalize all instances rather
5609         than just those in the display cache.
5610         (finalize_all_subwindow_instances): walk windows unmapping and
5611         finalizing subwindows.
5612         (unmap_subwindow_instance_cache_mapper): moved from
5613         window.c. Allow finalization as well as unmapping.
5614
5615         * gui.c (gui_item_list_find_selected): new function.
5616
5617         * gui.h (gui_item_list_find_selected): declare.
5618
5619         * glyphs-x.c (x_tab_control_redisplay): pick tab
5620         explicitly. Re-code to use gui_item_equal_sans_selected and
5621         gui_item_list_find_selected.
5622
5623         * glyphs-x.h: add lwlib-utils.h
5624
5625         * buffer.c (Frecord_buffer): undo previous change.
5626
5627 2000-08-09  Vin Shelton  <acs@xemacs.org>
5628
5629         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
5630         possible.  Create temporary files more securely.  The patch was
5631         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
5632         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
5633         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
5634         for details.
5635
5636 2000-08-07  Ben Wing  <ben@xemacs.org>
5637
5638         * getloadavg.c: remove duplicate (and windows-breaking)
5639         includes of fcntl.h and sys/file.h.
5640
5641         * nt.c: remove duplicate getloadavg() definition.
5642
5643         * sysdll.h (Qdll_filename_encoding): add missing stand-in
5644         encodings.
5645
5646 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
5647
5648         * eval.c (function_argcount): If function needs to be autoloaded
5649         actually use the loaded definition.
5650         GCPRO function.
5651
5652 2000-08-05  Ben Wing  <ben@xemacs.org>
5653
5654         * getloadavg.c: add prototype for getloadavg().  remove
5655         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
5656         of the code).  remove duplicate header includes.
5657
5658         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
5659
5660         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
5661         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
5662         useful load average.
5663
5664         * alloc.c (reinit_alloc_once_early): removed references to
5665         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
5666         the lisp vars are the only things referencing the malloc_sbrk_*
5667         vars, and they were already if 0'd out.  these vars only exist
5668         in the older malloc.c, which is basically unused, and they're
5669         only for informational purposes.
5670
5671         * m\*.h: removed useless VIRT_ADDR_VARIES.
5672
5673         * m\powerpc.h: removed stray NO_ARG_ARRAY.
5674
5675 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
5676
5677         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
5678         color if the image is a mono pixmap.
5679
5680 2000-07-30  Ben Wing  <ben@xemacs.org>
5681
5682         * Makefile.in.in (release):
5683         Remove stray @.
5684
5685         * buffer.c (directory_is_current_directory):
5686         * dired-msw.c (mswindows_get_files):
5687         * dired.c:
5688         * dired.c (Fdirectory_files):
5689         * dired.c (file_name_completion_stat):
5690         * dired.c (Ffile_attributes):
5691         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
5692         preprocessor tricks, to avoid problems on some machines
5693         (e.g. SCO).
5694
5695         * callproc.c (egetenv): GC docs.
5696
5697         * console-msw.h:
5698         * console-msw.h (struct mswindows_dialog_id):
5699         * lrecord.h (lrecord_type):
5700         New object for use with MSW dialogs.
5701
5702         * console.h (struct console_methods):
5703         New enable/disable frame methods, for proper modal dialogs.
5704
5705         * device-msw.c (msprinter_default_printer): Fix to follow
5706         proper Mule conventions.
5707
5708         * device-msw.c:
5709         * device-msw.c (signal_open_printer_error):
5710         * device-msw.c (msprinter_init_device):
5711         * device-msw.c (ensure_not_printing):
5712         * device-msw.c (plist_get_margin):
5713         * device-msw.c (Fmsprinter_select_settings):
5714         * device-msw.c (finalize_devmode):
5715         * device-msw.c (Fmsprinter_settings_despecialize):
5716         * device-msw.c (signal_enum_priner_error):
5717         * extents.c (decode_extent):
5718         * extents.c (decode_map_extents_flags):
5719         * extents.c (decode_extent_at_flag):
5720         * extents.c (Fextent_at):
5721         * extents.c (Fextents_at):
5722         * extents.c (symbol_to_glyph_layout):
5723         [[[[2]]]] Use structured errors.
5724
5725         * dialog-msw.c:
5726         * dialog-msw.c (mswindows_is_dialog_msg):
5727         * dialog-msw.c (mark_mswindows_dialog_id):
5728         * dialog-msw.c (dialog_proc):
5729         * dialog-msw.c (handle_question_dialog_box):
5730         * dialog-msw.c (syms_of_dialog_mswindows):
5731         Define new object to clean up marking; use it as a dialog identifier.
5732         Call new delete-dialog-box-hook.
5733
5734         * dialog-x.c (dbox_selection_callback):
5735         * dialog-x.c (dbox_descriptor_to_widget_value):
5736         * dialog-x.c (x_make_dialog_box_internal):
5737         Call new delete-dialog-box-hook.
5738         Return an id.
5739
5740         * dialog.c:
5741         * dialog.c (syms_of_dialog):
5742         * dialog.c (vars_of_dialog):
5743         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
5744
5745         * eval.c:
5746         * eval.c (signal_call_debugger):
5747         when noninteractive, output stack traces on the console instead
5748         of in a (never-seen) buffer.
5749
5750         * eval.c (signal_type_error):
5751         * eval.c (invalid_argument_2):
5752         * lisp.h:
5753         new funs for use w/structured errors.
5754
5755         * event-Xt.c:
5756         * event-Xt.c (x_to_emacs_keysym):
5757         * event-Xt.c (describe_event):
5758         * event-Xt.c (emacs_Xt_event_handler):
5759         * event-Xt.c (vars_of_event_Xt):
5760         * event-msw.c:
5761         * event-msw.c (mswindows_wnd_proc):
5762         * event-msw.c (vars_of_event_mswindows):
5763         rename {x,mswindows}-debug-events to debug-{}-events for
5764         consistency with other debug-foo variables.
5765
5766         * event-stream.c:
5767         document next-event more clearly.
5768
5769         * fileio.c (Ffile_name_directory):
5770         * fileio.c (Ffile_name_nondirectory):
5771         * fileio.c (Funhandled_file_name_directory):
5772         * fileio.c (file_name_as_directory):
5773         * fileio.c (Ffile_name_as_directory):
5774         * fileio.c (directory_file_name):
5775         * fileio.c (Fdirectory_file_name):
5776         * fileio.c (Fmake_temp_name):
5777         * fileio.c (Ffile_truename):
5778         * fileio.c (Fsubstitute_in_file_name):
5779         * fileio.c (expand_and_dir_to_file):
5780         * fileio.c (barf_or_query_if_file_exists):
5781         * fileio.c (check_executable):
5782         * fileio.c (Ffile_exists_p):
5783         * fileio.c (Ffile_writable_p):
5784         * fileio.c (Ffile_directory_p):
5785         * fileio.c (Ffile_regular_p):
5786         * fileio.c (Ffile_modes):
5787         * fileio.c (Ffile_newer_than_file_p):
5788         * fileio.c (Fverify_visited_file_modtime):
5789         * fileio.c (Fset_visited_file_modtime):
5790         * fileio.c (auto_save_1):
5791         (1). (2).
5792         fix up gcpro's.
5793
5794         * frame-msw.c:
5795         * frame-msw.c (mswindows_init_frame_1):
5796         * frame-msw.c (mswindows_enable_frame):
5797         * frame-msw.c (error_frame_unsizable):
5798         * frame-msw.c (msprinter_init_frame_1):
5799         * frame-msw.c (msprinter_init_frame_3):
5800         * frame-msw.c (console_type_create_frame_mswindows):
5801         (2).
5802         implement new enable/disable frame methods.
5803
5804         * frame-x.c:
5805         * frame-x.c (x_enable_frame):
5806         * frame-x.c (console_type_create_frame_x):
5807         implement new enable/disable frame methods.
5808
5809         * frame.c:
5810         * frame.c (Fdisable_frame):
5811         * frame.c (syms_of_frame):
5812         * frame.h (struct frame):
5813         implement new enable/disable frame methods/functions.
5814
5815         * general-slots.h:
5816         add initial-focus.
5817
5818         * glyphs-msw.c (mswindows_widget_instantiate):
5819         comment that initial-focus should be implemented.
5820
5821         * glyphs-widget.c:
5822         * glyphs-widget.c (check_valid_instantiator):
5823         * glyphs-widget.c (check_valid_orientation):
5824         * glyphs-widget.c (check_valid_tab_orientation):
5825         * glyphs-widget.c (check_valid_justification):
5826         * glyphs-widget.c (check_valid_border):
5827         * glyphs-widget.c (check_valid_callback):
5828         * glyphs-widget.c (check_valid_int_or_function):
5829         * glyphs-widget.c (check_valid_string_or_vector):
5830         * glyphs-widget.c (check_valid_item_list_1):
5831         * glyphs-widget.c (widget_validate):
5832         * glyphs-widget.c (combo_box_validate):
5833         * glyphs-widget.c (widget_instantiate):
5834         * glyphs-widget.c (syms_of_glyphs_widget):
5835         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
5836         * glyphs-widget.c (image_instantiator_combo_box):
5837         * glyphs-widget.c (image_instantiator_scrollbar):
5838         * glyphs-widget.c (image_instantiator_tab_control):
5839         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
5840         (2).
5841         support (unimplemented) keyword initial-focus.
5842         reindent long macros.
5843
5844         * glyphs-x.c (x_redisplay_widget):
5845         * glyphs-x.c (x_button_instantiate):
5846         * glyphs-x.c (x_button_redisplay):
5847         * glyphs-x.c (x_progress_gauge_instantiate):
5848         * glyphs-x.c (x_edit_field_instantiate):
5849         * glyphs-x.c (x_combo_box_instantiate):
5850         * glyphs-x.c (x_tab_control_instantiate):
5851         * glyphs-x.c (x_label_instantiate):
5852         * gui-x.c:
5853         * gui-x.c (button_item_to_widget_value):
5854         * gui-x.c (gui_items_to_widget_values_1):
5855         * gui-x.c (gui_item_children_to_widget_values):
5856         * gui-x.c (gui_items_to_widget_values):
5857         * gui-x.h:
5858         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
5859         add new flag to gui-parsing routines to indicate whether
5860         accelerator specs should be supported.
5861
5862         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
5863
5864         * glyphs.h (struct Lisp_Image_Instance):
5865         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
5866         add initial-focus flag.
5867
5868         * gui.c:
5869         * gui.c (syms_of_gui):
5870         * gui.c (vars_of_gui):
5871         clean up menu-no-selection-hook.
5872
5873         * gui.h:
5874         support delete-dialog-box-hook.
5875
5876         * lread.c (Fload_internal):
5877         * lread.c (locate_file_in_directory_mapper):
5878         (1).
5879
5880         * lrecord.h:
5881         * lrecord.h (struct toolbar_button):
5882         * lrecord.h (syms_of_toolbar):
5883         document how to create a new object.
5884
5885         * menubar-msw.c (mswindows_char_is_accelerator):
5886         may be called on frames w/o menus.
5887
5888         * menubar.c (vars_of_menubar):
5889         clean up :filter docs.
5890
5891         * nt.c (readdir):
5892         * ntproc.c:
5893         (1).
5894
5895         * process-nt.c:
5896         * process-nt.c (validate_signal_number):
5897         * process-nt.c (signal_cannot_launch):
5898         * process-nt.c (nt_create_process):
5899         * process-nt.c (nt_send_process):
5900         * process-nt.c (nt_kill_child_process):
5901         * process-nt.c (nt_open_network_stream):
5902         * process-nt.c (syms_of_process_nt):
5903         (2).
5904         delete quote-handling.  call new lisp code that does it better.
5905
5906         * process-unix.c (connect_to_file_descriptor):
5907         * process-unix.c (allocate_pty):
5908         * process-unix.c (unix_send_process):
5909         * process-unix.c (unix_kill_child_process):
5910         * process-unix.c (unix_open_network_stream):
5911         * process-unix.c (unix_open_multicast_group):
5912         (1). (2).
5913
5914         * process.c:
5915         * process.c (Fstart_process_internal):
5916         (2).  need to canonicalize process path even if absolute.
5917
5918         * select-msw.c (symbol_to_ms_cf):
5919         * select-msw.c (ms_cf_to_symbol):
5920         * select-msw.c (cf_is_autofreed):
5921         * select-msw.c (mswindows_destroy_selection):
5922         * select.c:
5923         * select.c (syms_of_select):
5924         * select.h:
5925         support dibv5, fix bugs. (from Mike Alexander)
5926
5927         * select.c (Fget_selection_internal):
5928         * select.c (select_convert_out):
5929
5930         * sysdep.c:
5931         * sysdep.c (xemacs_stat):
5932         renamed.
5933
5934         * sysdep.c (mkdir):
5935         * sysdep.c (rmdir):
5936         but keep original stat() here because we provide encapsulation
5937         around these funs.
5938
5939         * sysfile.h:
5940         * sysfile.h (fstat):
5941         remove stat garbage.
5942
5943         * syswindows.h:
5944         fix X/MSW conflict.
5945         don't include tchar.h.  it's inappropriate because it makes
5946         compile-time distinctions when we want runtime distinctions.
5947         (we provide our own tchar replacements)
5948
5949         * toolbar.c:
5950         use default object printer for toolbar-button.
5951
5952         * unexcw.c:
5953         make sure we don't encapsulate.
5954
5955         * window.c (vars_of_window):
5956         emphasize that temp-buffer-show-hook is obsolete.
5957
5958 2000-08-05  Martin Buchholz  <martin@xemacs.org>
5959
5960         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
5961         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
5962
5963         * events.c (Fevent_timestamp_lessp):
5964         Not 64-bit clean.  Use EMACS_INT, not int.
5965
5966 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
5967
5968         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
5969         unsigned int and changed the last enum to
5970         lrecord_type_last_built_in_type.
5971         (lrecord_implementations_table): changed prototype to know how
5972         long the array is supposed to be.
5973         (lrecord_type_count): new unsigned int to keep track of the
5974         current number of lisp lrecord types.
5975         (DEFINE_EXTERNAL_LRECORD):
5976         (DECLARE_EXTERNAL_LRECORD): Added these two for external
5977         dynamic-modules to declare new lisp types. They are the same
5978         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
5979         int for each new type, and increment lrecord_type_count by 1.
5980
5981         * alloc.c (lrecord_implementations_table): Changed to reference
5982         lrecord_type_last_built_in_type for the size of the array.
5983         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
5984
5985 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
5986
5987         * glyphs.h (check_valid_item_list): Renamed from
5988         check_valid_item_list_1.
5989
5990 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
5991
5992         * select.c (Qselect_coerce): New.
5993         * select.c (Vselection_coercion_alist): New.
5994         * select.c (syms_of_select): Declare.
5995         * select.c (get-selection-internal): Use it.
5996         Use the new select-coerce functionality.
5997
5998         * select.c (select_coerce): New.
5999         * select.h (select_coerce): Declare.
6000         New function to coerce one type of data into another.
6001
6002 2000-08-03  Martin Buchholz  <martin@xemacs.org>
6003
6004         * callproc.c (Fcall_process_internal):
6005         (Fcall_process_internal):
6006         * process-unix.c (unix_create_process):
6007         Save and restore the value of errno, so that error messages are accurate.
6008
6009 2000-08-01  Martin Buchholz  <martin@xemacs.org>
6010
6011         * elhash.c (print_hash_table):
6012         Fix printing of hash tables to also use `key-and-value' instead of `t'.
6013         Prettify docstrings and indentation.
6014
6015 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
6016
6017         * window.c (Fwindow_pixel_edges): Subtract frame border and
6018         gutter size.
6019
6020 2000-07-31  Andy Piper  <andy@xemacs.org>
6021
6022         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
6023         will acknowledge the change.
6024
6025         * glyphs.h: declare tab_control_order_only_changed.
6026
6027         * glyphs-x.c (x_tab_control_redisplay): use
6028         tab_control_order_only_changed.
6029
6030         * glyphs-widget.c (tab_control_order_only_changed): new function.
6031
6032         * glyphs-msw.c (mswindows_tab_control_redisplay): use
6033         tab_control_order_only_changed.
6034
6035         * gui.c (gui_item_equal_sans_selected): new function.
6036         (gui_item_equal): use it.
6037
6038         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
6039         :properties in favor of :items..
6040
6041         * glyphs-widget.c (check_valid_item_list): rename from
6042         check_valid_item_list_1.
6043         (check_valid_item_list_1): renamed.
6044         (combo_box_validate): deprecate :properties in favor of :items.
6045         (widget_instantiate): ditto.
6046         (tab_control_update): ditto.
6047         (image_instantiator_combo_box): ditto.
6048         (image_instantiator_tree_view): ditto.
6049         (image_instantiator_tab_control): ditto.
6050         (layout_post_instantiate): remove dead code.
6051
6052         * print.c (debug_print_no_newline): only write to debugger if in
6053         WIN32_NATIVE.
6054
6055         * elhash.c (Fmake_hash_table): update doc string.
6056
6057         * event-msw.c (mswindows_wnd_proc): don't allow processing of
6058         messages whilst in GC. This at least stops XEmacs crashing but has
6059         the potential for wierd behaviour.
6060
6061 2000-07-31  Martin Buchholz  <martin@xemacs.org>
6062
6063         * config.h.in:
6064         Make existence of s&m files optional.
6065
6066         * s/bsd386.h: Remove HAVE_GETLOADAVG.
6067         * s/freebsd.h: Remove HAVE_GETLOADAVG.
6068         * s/gnu.h: Remove HAVE_GETLOADAVG.
6069         * s/netbsd.h: Remove HAVE_GETLOADAVG.
6070         * s/sol2.h: Remove HAVE_GETLOADAVG.
6071         * lisp.h: Remove getloadavg() declaration.
6072         * fns.c:
6073         Include <sys/loadavg.h> if available.
6074         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
6075         * config.h.in:  Group together getloadavg()-related macros.
6076         Use only configure-time tests to detect getloadavg().
6077
6078 2000-07-30  Martin Buchholz  <martin@xemacs.org>
6079
6080         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
6081
6082 2000-07-25  Andy Piper  <andy@xemacs.org>
6083
6084         * syswindows.h: add tchar.h for native builds.
6085
6086         * frame.c (syms_of_frame): remove set-glyph-image.
6087
6088         * general-slots.h: add Qset_glyph_image.
6089
6090         * glyphs-widget.c (layout_update): add domain arg to
6091         set-glyph-image.
6092         (syms_of_glyphs_widget): remove set-glyph-image.
6093
6094 2000-07-23  Ben Wing  <ben@xemacs.org>
6095
6096         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
6097         Vpopup_frame_list.
6098
6099 2000-07-22  Andy Piper  <andy@xemacs.org>
6100
6101         * symsinit.h: add syms_of_win32().
6102
6103         * gui-msw.c (syms_of_gui_mswindows): remove
6104         Fmswindows_shell_execute.
6105         (Fmswindows_shell_execute): moved to win32.c.
6106
6107         * emacs.c (main_1): add syms_of_win32 ().
6108
6109         * win32.c (init_potentially_nonexistent_functions): rewrite in
6110         compiler-friendly terms.
6111         (Fmswindows_shell_execute): move here from gui-msw.c.
6112         (syms_of_win32): new.
6113
6114         * device-msw.c (Fmswindows_printer_list): clean up args to
6115         EnumPrinters.
6116         Don't include tchar under cygwin or mingw.
6117         (msprinter_default_printer): make cygwin-friendly.
6118
6119 2000-07-21  Andy Piper  <andy@xemacs.org>
6120
6121         * glyphs-widget.c (image_instantiator_tree_view): use tab
6122         control's update function.
6123         (layout_property): new function. Retrieve items.
6124
6125         * glyphs-msw.c (mswindows_tree_view_redisplay): new
6126         function. Re-populate the tree view from the pending items.
6127
6128         * glyphs.c (instantiate_image_instantiator): Make sure the domain
6129         is designated the parent if the domain is an image instance. This
6130         is needed so that dirtiness can be cascade up the hierarchy and
6131         thus for layout children to be redisplayed correctly.
6132         (allocate_image_instance): rename glyph -> parent.
6133
6134         * redisplay.h: change redisplay_output_layout signature.
6135
6136         * redisplay-msw.c (mswindows_output_display_block): use domain
6137         arg.
6138
6139         * redisplay-x.c (x_output_display_block): use domain arg.
6140
6141 2000-07-10  Andy Piper  <andy@xemacs.org>
6142
6143         * window.c (Fset_window_configuration): add comment.
6144
6145         * redisplay-output.c (compare_runes):
6146         (redisplay_output_subwindow): redisplay rather than update subwindow.
6147         (redisplay_output_layout): ditto.
6148
6149         * redisplay-msw.c (mswindows_frame_output_end):
6150         (mswindows_frame_output_end): make defer window pos optional.
6151
6152         * lisp.h: add Flast.
6153
6154         * glyphs.h (struct image_instantiator_methods): add dest_mask top
6155         normalize method. Change update method to be for changed
6156         instantiators. Add redisplay method. Change signature of layout
6157         method.
6158         (struct Lisp_Image_Instance): add instantiator.
6159         (IMAGE_INSTANCE_INSTANTIATOR): new.
6160         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
6161         (XIMAGE_INSTANCE_INSTANTIATOR): new.
6162         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
6163
6164         * glyphs.c:
6165         (find_instantiator_differences): new function.
6166         (Fset_instantiator_property): new convenience function.
6167         (check_image_instance_structure): strictly check for vector
6168         instantiators.
6169         (normalize_image_instantiator): make non-static.
6170         (instantiate_image_instantiator): pass on dest_mask and use new
6171         signatures for image_instance_layout and friends.
6172         (mark_image_instance): mark the instantiator. Mark the subwindow
6173         face not the widget face.
6174         (image_instance_equal): add instantiator.
6175         (image_instance_hash): ditto.
6176         (allocate_image_instance): ditto.
6177         (Fset_image_instance_property): removed.
6178         (Fimage_instance_file_name): ditto.
6179         (Fcolorize_image_instance): ditto.
6180         (image_instance_layout): add offsets to be set.
6181         (update_image_instance): new function. update an image instance
6182         from its changed instantiator.
6183         (inherit_normalize): add dest_mask.
6184         (xbm_normalize): ditto.
6185         (xface_normalize): ditto.
6186         (xpm_normalize): ditto.
6187         (text_update): set_property -> update.
6188         (image_instantiate): use the glyph identity as a hash key, not the
6189         instantiator.
6190         (glyph_width): use new image_instance_layout signature.
6191         (glyph_ascent): ditto.
6192         (glyph_descent): ditto.
6193         (glyph_height): ditto.
6194         (glyph_query_geometry): ressurrect.
6195         (glyph_layout): ditto.
6196         (redisplay_subwindow): update -> redisplay.
6197         (syms_of_glyphs): add Fset_instantiator_property.
6198         (image_instantiator_format_create): set_property -> update.
6199
6200         * glyphs-x.c:
6201         (autodetect_normalize): add dest_maks to signature.
6202         (x_redisplay_subwindow): update -> redisplay.
6203         (x_redisplay_widget): ditto.
6204         (x_button_redisplay): ditto.
6205         (x_progress_gauge_redisplay): ditto.
6206         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
6207         stacking order.
6208         (console_type_create_glyphs_x): update -> redisplay.
6209         (image_instantiator_format_create_glyphs_x): ditto.
6210
6211         * glyphs-widget.c:
6212         (check_valid_instantiator): disallow glyphs in the instantiator,
6213         they must now be vectors.
6214         (check_valid_instantiator_list): ditto.
6215         (glyph_instantiator_to_glyph): use internal symbol rather than
6216         intern.
6217         (widget_update): renamed from widget_set_property. Call cascaded
6218         update methods.
6219         (redisplay_widget): renamed from update_widget.
6220         (widget_layout): image_instance_layout now takes position as well
6221         as size.
6222         (widget_normalize): ditto.
6223         (widget_instantiate): ditto.
6224         (tab_control_query_geometry) ditto.:
6225         (tab_control_update): renamed from tab_control_set_property.
6226         (progress_gauge_update): set_property -> update.
6227         (layout_normalize): rewrite so that child instantiators are
6228         normalized also.
6229         (layout_update): new function. Create glyphs from the normalized
6230         children and cope with any other layout keywords. We do not
6231         instantiate children here that will be take care of by
6232         redisplay_output_layout.
6233         (layout_instantiate): call layout_update and not much else.
6234         (layout_post_instantiate): not sure whether this is needed
6235         anymore.
6236         (layout_query_geometry): query glyph geometry rather than
6237         image_instance geometry.
6238         (layout_layout): set offsets from pass in parameters. Use glyph
6239         geometry and layout functions rather than image instance ones.
6240         (native_layout_layout): ditto.
6241         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
6242         (image_instantiator_widget): set_property -> update.
6243         (image_instantiator_buttons): ditto.
6244         (image_instantiator_progress_guage): ditto.
6245         (image_instantiator_tab_control): ditto.
6246         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
6247         (image_instantiator_layout): add update method.
6248
6249         * glyphs-msw.c (bmp_normalize):
6250         (mswindows_resource_normalize): add dest_mask so that it can be
6251         proprogated by layout_normalize.
6252         (begin_defer_window_pos): make optional because it may not be the
6253         right thing to do and it introduces differences with X.
6254         (mswindows_unmap_subwindow): ditto.
6255         (mswindows_map_subwindow): ditto.
6256         (mswindows_redisplay_subwindow): renamed from
6257         mswindows_update_subwindow.
6258         (mswindows_redisplay_widget): ditto.
6259         (mswindows_button_redisplay): renamed from
6260         mswindows_button_update. Update is now what the instantiation
6261         function does for a changed instantiator.
6262         (mswindows_progress_gauge_instantiate): set the progress value
6263         here if appropriate.
6264         (mswindows_tab_control_redisplay): cope with re-ordering of the
6265         members of the tab widget by simply selecting the new top
6266         widget. This makes things appear ok if you click on a tab.
6267         (mswindows_combo_box_instantiate): image_instance_layout now takes
6268         position as well as size.
6269         (mswindows_progress_gauge_redisplay): renamed from
6270         mswindows_progress_gauge_update.
6271         (console_type_create_glyphs_mswindows): fix update -> redisplay.
6272         (image_instantiator_format_create_glyphs_mswindows): ditto.
6273
6274         * glyphs-eimage.c (jpeg_normalize):
6275         (gif_normalize):
6276         (png_normalize):
6277         (tiff_normalize): add dest_mask so that it can be proprogated by
6278         layout_normalize.
6279
6280         * elhash.c:
6281         (print_hash_table):
6282         (hash_table_weakness_validate):
6283         (decode_hash_table_weakness):
6284         (Fhash_table_weakness):
6285         (Fhash_table_type):
6286         (syms_of_elhash): use Ben's naming scheme for hashtable types..
6287
6288         * console.h (struct console_methods): move update_* to
6289         redisplay_*.
6290
6291 2000-07-20  Ben Wing  <ben@xemacs.org>
6292
6293         * *.[ch] (XSETOBJ): remove unused middle argument.
6294         lisp-disunion.h: correct wrap_object() to one argument.
6295
6296 2000-07-15  Ben Wing  <ben@xemacs.org>
6297
6298         * s/cygwin32.h:
6299         * s/cygwin32.h (CYGWIN_CONV_PATH):
6300         Add missing logb prototype for v1.1.
6301         Use post-b20 names and alias to pre-b20 names when pre-b20.
6302
6303         * s/windowsnt.h: [5].
6304
6305 2000-07-15  Ben Wing  <ben@xemacs.org>
6306
6307         * Makefile.in.in (x_objs):
6308         * Makefile.in.in (sheap_objs):
6309         * Makefile.in.in (objs):
6310         added win32.o, cosmetic cleanups.
6311
6312         * alloc.c (Fmake_byte_code):
6313         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
6314         etc. macros which declare their own args now.
6315
6316         * alloc.c (syms_of_alloc):
6317         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
6318
6319         * buffer.c:
6320         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
6321
6322         * buffer.c (Fget_file_buffer):
6323         Fixed GCPRO problem.
6324
6325         * buffer.c (get_truename_buffer):
6326         Fixed comment about GC checking.
6327
6328         * buffer.c (syms_of_buffer):
6329         Undeclared those dedicated frame funs.
6330         [2].
6331
6332         * buffer.h:
6333         Define convenience macros for internal/external conversions.
6334         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
6335         and Qenvironment_variable_encoding for cleaner code.
6336
6337         * bufslots.h:
6338         Remove dedicated-frame; in lisp.
6339
6340         * bytecode.c (funcall_compiled_function):
6341         [1].
6342
6343         * bytecode.c (syms_of_bytecode):
6344         [2].
6345
6346         * console-msw.c:
6347         * console-msw.c (mswindows_show_console): Rewrote.
6348
6349         * console-msw.c (Fmswindows_debugging_output): New.
6350         Sends to OutputDebugString (special MSWin debugger interface).
6351
6352         * console-msw.c (Fmswindows_message_box):
6353         Fixed stupid bugs so it works when called from kill-emacs.
6354
6355         * console-msw.c (syms_of_console_mswindows):
6356         Declare Fmswindows_debugging_output.
6357
6358         * console-msw.h:
6359         New MSWin prototypes.
6360
6361         * console-msw.h (struct mswindows_frame):
6362         New entry last-click-mods for improved button-modifier support.
6363
6364         * console-msw.h (FRAME_MSWINDOWS_POPUP):
6365         New struct entry `popup' with corresponding accessor.
6366
6367         * console-x.c:
6368         * console-x.c (split_up_display_spec):
6369         * console-x.c (get_display_arg_connection):
6370         * console-x.c (x_semi_canonicalize_console_connection):
6371         * console-x.c (x_canonicalize_device_connection):
6372         [[[6]]]: Change char to more specific type.
6373         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
6374
6375         * console-x.c (x_semi_canonicalize_console_connection):
6376         * console-x.c (x_canonicalize_device_connection):
6377         [[[9]]]: Fix up error signalling to use new structured error system.
6378
6379         * console-x.h:
6380         [[[4]]]: Define codesys aliases:
6381         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
6382         Qx_color_name_encoding, Qx_display_name_encoding.
6383
6384         * console.h (struct console_methods):
6385         New method make_dialog_box_internal supersedes older
6386         popup_dialog_box method.
6387
6388         * data.c:
6389         Define many new errors, part of new structured errors.
6390
6391         * data.c (init_errors_once_early):
6392         * data.c (syms_of_data):
6393         [2].
6394
6395         * device-msw.c (mswindows_init_device):
6396         [[[5]]]: Cleanup to support NT 3.51.
6397
6398         * device-msw.c (decode_devmode): Cleanup.
6399
6400         * device-msw.c (mswindows_handle_print_setup_dialog_box):
6401         * device-msw.c (mswindows_handle_print_dialog_box):
6402         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6403         * device-msw.c (syms_of_device_mswindows):
6404         Delete the dialog box primitives recently introduced by Kirill and
6405         instead interface to general dialog box interface.
6406
6407         * device-x.c:
6408         * device-x.c (compute_x_app_name):
6409         * device-x.c (x_init_device):
6410         * device-x.c (Fx_valid_keysym_name_p):
6411         * device-x.c (Fx_set_font_path):
6412         [6].
6413         [7].
6414
6415         * device.h (wrap_device): New.
6416         First of its kind; meant to replace XSETDEVICE.
6417
6418         * dialog-msw.c: Many file-dialog symbols.
6419
6420         * dialog-msw.c (mswindows_register_popup_frame): New.
6421         * dialog-msw.c (mswindows_is_dialog_msg): New.
6422         For supporting kbd traversal in dialog boxes.
6423
6424         * dialog-msw.c (dialog_proc):
6425         Support hitting ESC in dialogs.
6426
6427         * dialog-msw.c (struct):
6428         Common dialog box errors.
6429
6430         * dialog-msw.c (handle_file_dialog_box): New.
6431         Add file dialog code.
6432
6433         * dialog-msw.c (handle_question_dialog_box):
6434         Redo existing code to support new question dialog syntax.
6435
6436         * dialog-msw.c (console_type_create_dialog_mswindows):
6437         We support new dialog console method.
6438
6439         * dialog-msw.c (syms_of_dialog_mswindows):
6440         * dialog-msw.c (vars_of_dialog_mswindows):
6441         New file dialog symbols, vars.
6442
6443         * dialog-x.c:
6444         * dialog-x.c (maybe_run_dbox_text_callback):
6445         * dialog-x.c (dbox_descriptor_to_widget_value):
6446         * dialog-x.c (x_make_dialog_box_internal):
6447         * dialog-x.c (console_type_create_dialog_x):
6448         Mule-ize entire file.
6449         Redo to support question dialog syntax.
6450         [6].
6451
6452         * dialog.c:
6453         * dialog.c (Fmake_dialog_box_internal):
6454         * dialog.c (syms_of_dialog):
6455         Kill old popup-dialog-box, replace with new primitive.
6456         Just call device method or signal error.
6457
6458         * eldap.c (Fldap_open):
6459         * eldap.c (Fldap_search_basic):
6460         * eldap.c (Fldap_add):
6461         * eldap.c (Fldap_modify):
6462         [1].
6463         [7].
6464
6465         * emacs.c:
6466         * emacs.c (make_arg_list_1):
6467         * emacs.c (make_arg_list):
6468         Mule-ize call to dll_init().
6469         [6].
6470         [8].
6471
6472         * emacs.c (make_argc_argv):
6473         * emacs.c (free_argc_argv):
6474         * emacs.c (init_cmdargs):
6475         * emacs.c (main_1):
6476         * emacs.c (Fkill_emacs):
6477         * emacs.c (Fdump_emacs):
6478         Update comments about what can be used in syms_* etc.
6479         Call init_win32() when necessary.
6480         Fix up MS Win dialog box in kill-buffer to actually work right.
6481         [7].
6482
6483         * eval.c:
6484         * eval.c (For):
6485         * eval.c (Fand):
6486         * eval.c (Fprogn):
6487         * eval.c (Fprog1):
6488         * eval.c (Fprog2):
6489         * eval.c (FletX):
6490         * eval.c (Flet):
6491         * eval.c (condition_case_3):
6492         * eval.c (Feval):
6493         * eval.c (function_argcount):
6494         * eval.c (funcall_lambda):
6495         [1].
6496
6497         * eval.c (type_error): New.
6498         * eval.c (maybe_type_error): New.
6499         * eval.c (continuable_type_error): New.
6500         * eval.c (maybe_continuable_type_error): New.
6501         * eval.c (type_error_with_frob): New.
6502         * eval.c (maybe_type_error_with_frob): New.
6503         * eval.c (continuable_type_error_with_frob): New.
6504         * eval.c (maybe_continuable_type_error_with_frob): New.
6505         New functions for use with structured errors.
6506
6507         * event-Xt.c:
6508         * event-Xt.c (x_event_to_emacs_event):
6509         Buttons are now modifiers too.
6510
6511         * event-Xt.c (emacs_Xt_current_event_timestamp):
6512         Implement new event method.
6513         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
6514
6515         * event-msw.c:
6516         * event-msw.c (ntpipe_shove_writer): [5].
6517         * event-msw.c (mswindows_enqueue_mouse_button_event):
6518         * event-msw.c (mswindows_drain_windows_queue):
6519         * event-msw.c (mswindows_wnd_proc): [7].
6520         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
6521         * event-msw.c (mswindows_modifier_state):
6522         Throughout: support new button modifiers.
6523
6524         * event-msw.c (emacs_mswindows_current_event_timestamp):
6525         Implement new event method.
6526         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
6527
6528         * event-stream.c:
6529         * event-stream.c (event_stream_current_event_timestamp): New.
6530         * event-stream.c (maybe_kbd_translate): New functionality.
6531         * event-stream.c (vars_of_event_stream):
6532         Document new kbd-translate-table functionality.
6533
6534         * event-stream.c (Fcurrent_event_timestamp): New.
6535         New primitive for use in fabricated events.
6536         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
6537
6538         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
6539
6540         * events.c:
6541         * events.c (Fmake_event):
6542         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
6543         [1].
6544         [9].
6545
6546         * events.c (format_event_object): fix gcc warnings.
6547
6548         * events.c (Fevent_timestamp): Document new primitives.
6549
6550         * events.c (TIMESTAMP_HALFSPACE): New.
6551
6552         * events.c (Fevent_timestamp_lessp): New.  New primitive for
6553         comparing timestamps correctly (half-space algorithm).
6554
6555         * events.c (Fevent_modifier_bits): Doc fix.
6556
6557         * events.c (Fevent_modifiers): Major doc addition.
6558         * events.c (event_x_y_pixel_internal): Typo fix.
6559         * events.c (syms_of_events): Declare new primitives.
6560
6561         * events.h:
6562         Update long comment for button modifiers, timestamps.
6563
6564         * events.h (struct event_stream):
6565         New current_event_timestamp method.
6566
6567         * extents.c:
6568         * extents.c (extent_in_region_p):
6569         * extents.c (decode_extent):
6570         * extents.c (Fset_extent_parent):
6571         * extents.c (decode_map_extents_flags):
6572         Fix gcc warnings.
6573         [9].
6574
6575         * extents.c (struct extent_at_arg):
6576         * extents.c (decode_extent_at_flag):
6577         * extents.c (extent_at_mapper):
6578         * extents.c (extent_at_bytind):
6579         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
6580         * extents.c (Fextents_at): New primitive. [9].
6581         * extents.c (symbol_to_glyph_layout): [9].
6582         Support new primitive `extents-at'.
6583
6584
6585         * extents.c (get_text_property_bytind):
6586         extent_at_bytind has another arg.
6587         [9].
6588
6589         * extents.c (syms_of_extents): New primitive.
6590
6591         * file-coding.c (Fmake_coding_system): [1].
6592         * file-coding.c (subsidiary_coding_system): fix gcc warning
6593         * file-coding.c (syms_of_file_coding): [2].
6594
6595         * fileio.c (Fexpand_file_name):
6596         * fileio.c (Fsysnetunam):
6597         * fileio.c (Ffile_exists_p):
6598         * fileio.c (Ffile_executable_p):
6599         * fileio.c (Fverify_visited_file_modtime):
6600         Clean up GCPROing.
6601
6602         * fileio.c (syms_of_fileio): [2].
6603
6604         * filelock.c (lock_file_1):
6605         * filelock.c (current_lock_owner):
6606         * filelock.c (lock_if_free):
6607         * filelock.c (lock_file):
6608         * filelock.c (unlock_file):
6609         Clean up GCPROing.
6610
6611         * fns.c (concat): Fix gcc warning.
6612
6613         * fns.c (Fmember):
6614         * fns.c (Fold_member):
6615         * fns.c (Fmemq):
6616         * fns.c (Fold_memq):
6617         * fns.c (memq_no_quit):
6618         * fns.c (Fassoc):
6619         * fns.c (Fold_assoc):
6620         * fns.c (Fassq):
6621         * fns.c (Fold_assq):
6622         * fns.c (assq_no_quit):
6623         * fns.c (Frassoc):
6624         * fns.c (Fold_rassoc):
6625         * fns.c (Frassq):
6626         * fns.c (Fold_rassq):
6627         * fns.c (rassq_no_quit):
6628         * fns.c (Fdelete):
6629         * fns.c (Fold_delete):
6630         * fns.c (Fdelq):
6631         * fns.c (Fold_delq):
6632         * fns.c (delq_no_quit):
6633         * fns.c (Fremassoc):
6634         * fns.c (Fremassq):
6635         * fns.c (remassq_no_quit):
6636         * fns.c (Fremrassoc):
6637         * fns.c (Fremrassq):
6638         * fns.c (remrassq_no_quit):
6639         * fns.c (Freverse):
6640         * fns.c (mapcar1):
6641         [1].
6642
6643         * frame-msw.c (mswindows_init_frame_1):
6644         * frame-msw.c (mswindows_delete_frame):
6645         Register popups with dialog code so keyboard traversing works.
6646
6647         * frame-tty.c (tty_raise_frame_no_select): [1].
6648
6649         * frame-x.c:
6650         * frame-x.c (x_set_frame_text_value):
6651         * frame-x.c (x_set_frame_properties):
6652         * frame-x.c (x_create_widgets):
6653         [7].
6654
6655         * frame.c:
6656         * frame.c (Fmouse_pixel_position): Minor doc fixes.
6657
6658         * frame.h (wrap_frame): New.
6659         Macro like wrap_device.
6660
6661         * general.c:
6662         * general.c (SYMBOL):
6663         * general.c (syms_of_general):
6664         Major reorg.  This is now just a wrapper and symbols themselves
6665         are listed in general-slots.h.
6666
6667         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
6668         * glyphs-msw.c (mswindows_resource_instantiate): [5].
6669
6670         * glyphs-msw.c (mswindows_native_layout_instantiate):
6671         Add DS_CONTROL so keyboard traversal will work.
6672
6673         * glyphs-widget.c:
6674         * glyphs-widget.c (syms_of_glyphs_widget):
6675         Move some symbols to general-slots.h.
6676
6677         * glyphs-x.c:
6678         * glyphs-x.c (xbm_instantiate_1):
6679         * glyphs-x.c (x_xbm_instantiate):
6680         * glyphs-x.c (x_xface_instantiate):
6681         * glyphs-x.c (autodetect_instantiate):
6682         * glyphs-x.c (cursor_font_instantiate):
6683         * glyphs-x.c (x_update_widget):
6684         * glyphs-x.c (x_widget_instantiate):
6685         * glyphs.c (bitmap_to_lisp_data):
6686         * glyphs.c (pixmap_to_lisp_data):
6687         [7].
6688
6689         * glyphs.c (syms_of_glyphs):
6690         [2].
6691
6692         * gui-x.c:
6693         * gui-x.c (print_widget_value):
6694         * gui-x.c (menu_separator_style_and_to_external):
6695         * gui-x.c (add_accel_and_to_external):
6696         * gui-x.c (button_item_to_widget_value):
6697         * gui-x.c (gui_items_to_widget_values_1):
6698         * gui-x.c (gui_items_to_widget_values):
6699         * gui-x.c (syms_of_gui_x):
6700         * gui-x.c (vars_of_gui_x):
6701         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
6702         [9].
6703
6704         * gui-x.h:
6705         Muleize, prototype changes matching gui-x.c.
6706
6707         * gui.c:
6708         * gui.c (separator_string_p):
6709         * gui.c (gui_item_add_keyval_pair):
6710         * gui.c (make_gui_item_from_keywords_internal):
6711         * gui.c (signal_too_long_error):
6712         * gui.c (parse_gui_item_tree_item):
6713         * gui.c (syms_of_gui):
6714         * gui.c (vars_of_gui):
6715         * gui.h:
6716         menu-no-selection-hook moved here (used by MSWin).
6717         Move some symbols to general-slots.h.
6718         [6].
6719         [9].
6720
6721         * insdel.c (get_buffer_pos_char):
6722         * insdel.c (get_buffer_range_char):
6723         Add GC comments.
6724
6725         * keymap.c (keymap_lookup_directly):
6726         * keymap.c (keymap_store):
6727         * keymap.c (ensure_meta_prefix_char_keymapp):
6728         * keymap.c (describe_map):
6729         * keymap.h:
6730         Support new button modifiers.
6731
6732         * lisp-disunion.h (wrap_object):
6733         * lisp-disunion.h (XSETOBJ):
6734         Rename make_obj to wrap_object.
6735
6736         * lisp-union.h:
6737         * lisp-union.h (make_int):
6738         * lisp-union.h (make_char):
6739         Support wrap_object.
6740
6741         * lisp.h:
6742         * lisp.h (LIST_LOOP):
6743         * lisp.h (EXTERNAL_LIST_LOOP):
6744         * lisp.h (LIST_LOOP_2):
6745         * lisp.h (EXTERNAL_LIST_LOOP_1):
6746         * lisp.h (EXTERNAL_LIST_LOOP_2):
6747         * lisp.h (EXTERNAL_LIST_LOOP_3):
6748         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
6749         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
6750         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
6751         * lisp.h (EXTERNAL_ALIST_LOOP_5):
6752         * lisp.h (EXTERNAL_ALIST_LOOP_6):
6753         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
6754         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
6755         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
6756         * lisp.h (struct Lisp_Symbol):
6757         * lisp.h (maybe_continuable_error_with_frob):
6758         Fix up section comments.
6759         Add new types for char to indicate usage.
6760         Delete symbols auto-generated from general-slots.h.
6761         Add prototypes for structured error functions.
6762         Add long comments describing looping macros and change interface
6763         so that lvalues are automatically declared.
6764         Add NO_DECLARE macro in case callers want to declare lvalues
6765         themselves.
6766
6767         * lread.c (read_syntax_error):
6768         * lread.c (continuable_read_syntax_error):
6769         * lread.c (read_structure):
6770         * lread.c (sequence_reader):
6771         * lread.c (read_list_conser):
6772         * lread.c (read_compiled_function):
6773         Rename syntax_error and continuable_syntax_error to avoid clash
6774         with same-named structured error functions.
6775
6776         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
6777         * menubar-msw.c (populate_menu_add_item):
6778         * menubar-msw.c (populate_or_checksum_helper):
6779         [5].
6780         [9].
6781
6782         * menubar-x.c:
6783         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
6784         Mule-ize whole file.
6785
6786         * menubar.c (Fnormalize_menu_item_name): Add optimization.
6787
6788         * mule-charset.c (Fmake_charset):
6789         * mule-wnnfns.c (Fwnn_set_param):
6790         [1].
6791
6792         * ntproc.c (create_child):
6793         * ntproc.c (Fwin32_set_current_locale):
6794         Add comments portending doom.
6795
6796         * objects-msw.c:
6797         * objects-msw.c (old_font_enum_callback_2):
6798         * objects-msw.c (font_enum_callback_1):
6799         * objects-msw.c (mswindows_enumerate_fonts):
6800         [5].
6801
6802         * objects-x.c:
6803         * objects-x.c (allocate_nearest_color):
6804         * objects-x.c (x_parse_nearest_color):
6805         * objects-x.c (x_initialize_color_instance):
6806         * objects-x.c (x_print_color_instance):
6807         * objects-x.c (x_finalize_color_instance):
6808         * objects-x.c (x_valid_color_name_p):
6809         * objects-x.c (x_initialize_font_instance):
6810         * objects-x.c (x_print_font_instance):
6811         * objects-x.c (valid_x_font_name_p):
6812         * objects-x.c (truename_via_FONT_prop):
6813         * objects-x.c (truename_via_random_props):
6814         * objects-x.c (truename_via_XListFonts):
6815         * objects-x.c (x_font_truename):
6816         * objects-x.c (x_font_instance_truename):
6817         * objects-x.c (x_font_instance_properties):
6818         * objects-x.c (x_list_fonts):
6819         * objects-x.c (x_find_charset_font):
6820         Mule-ize entire file.
6821         [7].
6822
6823         * objects-x.h:
6824         Mule-verify.
6825
6826         * print.c:
6827         * print.c (std_handle_out_external):
6828         * print.c (debug_print_no_newline):
6829         * print.c (syms_of_print):
6830         Output to all debugger kinds in debug-print.
6831         Fix console-output code under MSWin to actually work.
6832
6833         * process-nt.c (send_signal):
6834         * process-nt.c (nt_create_process):
6835         Use newer Unicode macros.
6836
6837         * process-unix.c (unix_create_process):
6838         * process-unix.c (unix_canonicalize_host_name):
6839         * process-unix.c (unix_open_network_stream):
6840         [7].
6841
6842         * scrollbar-x.c:
6843         Mule-verify.
6844
6845         * search.c (syms_of_search):
6846         [2].
6847
6848         * select-msw.c (mswindows_destroy_selection):
6849         Use LIST_LOOP_2.
6850
6851         * select-x.c (symbol_to_x_atom):
6852         [7].
6853
6854         * select.c (syms_of_select):
6855         [2].
6856
6857         * sound.c (Fplay_sound_file):
6858         [7].
6859
6860         * specifier.c:
6861         * specifier.c (decode_specifier_type):
6862         * specifier.c (Fvalid_specifier_locale_type_p):
6863         * specifier.c (check_valid_locale_or_locale_type):
6864         * specifier.c (decode_locale):
6865         * specifier.c (decode_locale_type):
6866         * specifier.c (decode_locale_list):
6867         * specifier.c (check_valid_domain):
6868         * specifier.c (decode_specifier_tag_set):
6869         * specifier.c (Fcanonicalize_tag_set):
6870         * specifier.c (Fdefine_specifier_tag):
6871         * specifier.c (Fspecifier_tag_predicate):
6872         * specifier.c (check_valid_inst_list):
6873         * specifier.c (check_valid_spec_list):
6874         * specifier.c (decode_how_to_add_specification):
6875         * specifier.c (check_modifiable_specifier):
6876         * specifier.c (specifier_add_spec):
6877         * specifier.c (boolean_validate):
6878         * specifier.c (display_table_validate):
6879         [9].
6880
6881         * specifier.c (syms_of_specifier):
6882         Move some symbols to general-slots.h.
6883         [2].
6884
6885         * symbols.c:
6886         * symbols.c (Fmapatoms):
6887         * symbols.c (Fapropos_internal):
6888         Add GCPROs.
6889
6890         * symbols.c (set_default_buffer_slot_variable):
6891         * symbols.c (set_default_console_slot_variable):
6892         [1].
6893
6894         * symbols.c (defsymbol_massage_name_1):
6895         * symbols.c (defkeyword_massage_name):
6896         * symbols.c (deferror_1):
6897         * symbols.c (deferror):
6898         * symbols.c (deferror_massage_name_and_message):
6899         * symeval.h:
6900         * symeval.h (DEFSYMBOL):
6901         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
6902
6903         * symbols.c (syms_of_symbols):
6904         [2].
6905
6906         * symsinit.h:
6907         * symsinit.h (init_win32): New.
6908         Also new is syms_of_dialog_mswindows.
6909
6910         * syswindows.h:
6911         Add new Unicode macros, missing Cygwin wide-char functions,
6912         convenience conversion macros for Qmswindows_tstr, macros for
6913         encapsulating required MSWin <-> Cygwin filename conversions,
6914         prototype for dynamically-extracted (not in NT 3.51) functions.
6915
6916         * toolbar-x.c:
6917         Mule-verify.
6918
6919         * tooltalk.c (Fadd_tooltalk_message_arg):
6920         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
6921         * tooltalk.c (Fadd_tooltalk_pattern_arg):
6922         [7].
6923
6924         * tooltalk.c (syms_of_tooltalk):
6925         [2].
6926
6927         * unexnt.c:
6928         * unexnt.c (unexec):
6929         Fix up headers, declaration of unexec() to be more standard.
6930
6931 2000-07-20  Martin Buchholz  <martin@xemacs.org>
6932
6933         * offix.h: Revert change to guard macros - they're used in offix.c!
6934
6935 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6936
6937         * lisp.h: Defsubred Fdelete.
6938
6939         * console-msw.h:  (msprinter_default_printer): Added.
6940
6941         * console-msw.c (msprinter_canonicalize_console_connection):
6942         (msprinter_canonicalize_device_connection): Added.
6943
6944         * device-msw.c (msprinter_default_printer):
6945         (Fmswingows_get_default_printer):
6946         (signal_enum_priner_error):
6947         (Fmswingows_printer_list): Added.
6948
6949 2000-07-19  Martin Buchholz <martin@xemacs.org>
6950
6951         * XEmacs 21.2.35 is released.
6952
6953 2000-07-19  Martin Buchholz  <martin@xemacs.org>
6954
6955         * select-x.c (x_handle_selection_request):
6956         Text selected in xemacs and pasted into xterm failed to appear.
6957         Spelling fixes and cosmetic changes.
6958
6959 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6960
6961         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
6962         XEmacs frame (fix for doubling chars in dialog boxes).
6963
6964 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
6965
6966         * select.c (select_convert_in, select_convert_out):
6967         Don't call intern() every time.
6968
6969         * select.c (Qselect_convert_in, Qselect_convert_out): New.
6970         * select.c (vars_of_select): Initialise them.
6971
6972 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6973
6974         * select.c (selection-coercible-types): New.
6975
6976         * select.c (own-selection-internal):
6977         * select.c (get-selection-internal):
6978         MULE bug fix - these should default to COMPOUND_TEXT and not
6979         STRING for MULE. I think.
6980
6981         * select.c (select_convert_out): Use selection-coercible-types
6982         to find types that we can attempt to perform coercions on.
6983
6984 2000-07-18  Martin Buchholz  <martin@xemacs.org>
6985
6986         * mule-wnnfns.c:
6987         * mule-canna.c:
6988         Add coding: cookie to identify encoding.
6989
6990         * mule-canna.c (CANNA_mode_keys): make static.
6991         Use proper prototypes, even for functions of no arguments.
6992         Remove external prototype for Fding().
6993
6994         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
6995
6996         * select.c (syms_of_select): Add missing DEFSUBR.
6997
6998 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
6999
7000         * select.c (get_selection_internal, own_selection_internal):
7001         Make the type default to STRING, rather than placing a nil type
7002         into Vselection_alist.
7003
7004 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
7005
7006         * gpmevent.c (tty_selection_exists_p):
7007         * gpmevent.c (tty_own_selection):
7008         Updated parameter lists.
7009
7010 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
7011
7012         * select.h (selection-alist): Removed declaration.
7013
7014         * select.h (get_local_selection):
7015         * select.c (get_local_selection):
7016         Made static.
7017
7018         * select.h (convert_selection): Removed declaration.
7019         * select.c (convert_selection): Removed.
7020         This function belongs in Lisp.
7021
7022         * select.h (select_convert_in): Declare.
7023         * select.h (select_convert_out): Declare.
7024         * select.c (select_convert_in): New.
7025         * select.c (select_convert_out): New.
7026         New conversion functions for other files to call.
7027
7028         * select.h (select_notify_buffer_kill): Declare.
7029         * select.c (select_notify_buffer_kill): New.
7030         New functions that get called from kill-buffer.
7031
7032         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
7033         X-specific lisp code.
7034
7035         * select.h: Declare some of the lisp-visible functions for
7036         external use.
7037
7038         * select.c (clean_local_selection_data): Removed. This was
7039         a disgusting function, and previously should have been in
7040         select-x.c in any case. The functionality is now provided
7041         in select-convert-from-integer (select.el).
7042
7043         * select.c (available-selection-types): Fixed stupidity where
7044         INTEGER and ATOM got added twice. Also add STRING when we see an
7045         extent.
7046
7047         * select.c (get-selection-internal): Removed symbol stripping. No
7048         longer causes conversion when data comes from the internal cache.
7049
7050         * select.c (syms_of_select): Added new functions.
7051
7052         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
7053         error checking - previously this called abort!
7054
7055         * select-x.c (x_own_selection): Changed comment.
7056
7057         * select-x.c (x_handle_selection_request): Use select_convert_out.
7058         Don't mess with selection-alist; it's an internal variable of select.c.
7059
7060         * select-x.c (x_get_foreign_selection): Use select_convert_in.
7061
7062         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
7063         rather than messing with selection-alist.
7064
7065         * select-msw.c (mswindows_get_foreign_selection):
7066         Use TO_INTERNAL_FORMAT rather than hacking.
7067
7068 2000-07-14  Martin Buchholz  <martin@xemacs.org>
7069
7070         * process-unix.c (unix_open_multicast_group):
7071         (unix_open_multicast_group): Remove useless casts.
7072
7073 2000-07-13  Martin Buchholz  <martin@xemacs.org>
7074
7075         * sound.c (Fplay_sound): Fix `unused variable' warning.
7076
7077         * emacs.c (main): Use correct type for _environ on SCO5.
7078
7079 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
7080
7081         * console.h (own_selection_method):
7082         * console.h (selection_exists_p_method):
7083         * console.h (available_selection_types_method): New.
7084         * console.h (register_selection_data_type_method): New.
7085         * console.h (selection_data_type_name): New.
7086
7087         * console-msw.h (mswindows_destroy_selection): Declare it.  New
7088         function & alist to track GlobalAlloc()'d handles that need
7089         releasing when the clipboard data gets replaced or emptied.
7090
7091         * event-msw.c (mswindows_wnd_proc): Call it.
7092
7093         * lisp.h, general.c (Qappend): New symbol representing a
7094         `how-to-add' mode.
7095
7096         * select.c (own-selection-internal):
7097         * select.c (selection-exists-p):
7098         * select.c (available-selection-types): New.
7099         * select.c (register-selection-data-type): New.
7100         * select.c (selection-data-type-name): New.  New functions to deal
7101         with device-specific selection data formats.
7102         * select.c (selection-converter-out-alist): Renamed.
7103         * select.c (selection-converter-in-alist): New.
7104         * select.c (selection-appender-alist): New.  Added new alists.
7105         * select.c (syms_of_select, vars_of_select): Added new symbols &
7106         variables.
7107         * select.c (get_local_selection): Split.
7108         * select.c: Removed spurious type checking - selections may now be
7109         of any type, not just strings.
7110         * select.c (own-selection-internal):
7111
7112         * select.h, select.c (convert_selection): New. Created
7113         convert_selection() function based on get_local_selection().
7114         * select.h, select.c (QCF_*): New symbols representing mswindows
7115         clipboard formats.
7116         * select.h, select.c (Qreplace_all, Qreplace_existing): New
7117         symbols representing `how-to-add' modes.
7118
7119         * select-msw.c (x_sym_p): New.
7120         * select-msw.c (symbol_to_ms_cf): New.
7121         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
7122         symbols & clipboard formats. Can also handle string names.
7123         * select-msw.c (mswindows_own_selection):
7124         * select-msw.c (mswindows_selection_exists_p):
7125         Added `data-type' parameter. Use it.
7126         * select-msw.c (mswindows_available_selection_types): New.
7127         * select-msw.c (mswindows_register_selection_data_type): New.
7128         * select-msw.c (mswindows_selection_data_type_name): New.
7129         * select-msw.c (mswindows_own_selection):
7130         * select-msw.c (mswindows_get_foreign_selection):
7131         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
7132         * select-msw.c (console_create_select_mswindows): Added new methods.
7133         * select-msw.c (mswindows_destroy_selection): New.
7134         * select-msw.c (Vhandle_alist): New list.
7135         * select-msw.c (mswindows_own_selection):
7136
7137         * select-x.c (x_own_selection):
7138         * select-x.c (x_selection_exists_p):
7139         * select-x.c: Added some comments about maybe using new
7140         functionality.
7141         * select-x.c (x_own_selection):
7142
7143         * specifier.c: Remove definition of Qappend (now in general.c)
7144         * specifier.c (syms_of_specifier): Remove Qappend.
7145
7146 2000-07-12  Martin Buchholz  <martin@xemacs.org>
7147
7148         * config.h.in: Add socklen_t.
7149
7150         * s/decosf4-0.h: No special compiler flags needed or desired.
7151         In particular, undefine _BSD for DEC OSF 4.0.
7152
7153 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7154
7155         * redisplay-msw.c (msprinter_frame_output_end): Added.
7156         (console_type_create_redisplay_mswindows): Referred the above.
7157
7158         * frame.c (setup_frame_without_minibuffer): Do not create a
7159         default minibuffer frame on a printer device.
7160
7161         * frame-msw.c (apply_dc_geometry): Added.
7162         (msprinter_start_page):
7163         (msprinter_init_frame_3):
7164         (msprinter_eject_page): Use it.
7165
7166         * console-msw.h (struct msprinter_frame): Added pix_left and top,
7167         and removed residual duplex and orientation properties.
7168
7169 2000-07-11  Martin Buchholz  <martin@xemacs.org>
7170
7171         * eval.c (function_argcount): Work around a DEC CC compiler bug.
7172
7173         * unexalpha.c: Remove system prototypes from C sources!
7174
7175 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
7176
7177         * eval.c: Remove references to M-x edit-options in DEFUNs for
7178         `defvar' and `defconst'.
7179
7180 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7181
7182         * config.h.in: Remove SMART_INCLUDE hackery.
7183
7184         PostgreSQL hacking:
7185         * config.h.in: Don't use SMART_INCLUDE.
7186
7187         * postgresql.h: Include libpq-fe.h here.  Fix typo.
7188         * inline.c: Simply #include "postgresql.h"
7189         * postgresql.c:
7190         - Don't use SMART_INCLUDE
7191         - Use simply "const".
7192         - Use standard doc string conventions.
7193         - Use correct type for result of PQstatus.
7194
7195 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7196
7197         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
7198
7199         C++ compilation changes.
7200         * config.h.in (EXTERN_C): Define.
7201         * config.h.in (not): This is also a C++ keyword.
7202         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
7203         * cm.c: Use EXTERN_C.
7204         * redisplay-tty.c: Use EXTERN_C.
7205         * sysdep.c: Use EXTERN_C.  Remove Gould support.
7206
7207 2000-07-09  Martin Buchholz  <martin@xemacs.org>
7208
7209         * general.c: Remove duplicate definition for Qfunction.
7210
7211 2000-07-08  Ben Wing  <ben@xemacs.org>
7212
7213         * device-msw.c (msprinter_init_device):
7214         * device-msw.c (sync_printer_with_devmode):
7215         * device-msw.c (handle_devmode_changes):
7216         * device-msw.c (print_dialog_worker):
7217         * device-msw.c (Fmsprinter_apply_settings):
7218         * device-msw.c (hash_devmode):
7219         * device-msw.c (Fmsprinter_settings_despecialize):
7220         use Qmswindows_tstr, not Qctext.
7221
7222         * vm-limit.c (check_memory_limits):
7223         avoid infinite loop printing warning messages.
7224
7225 2000-07-05  Craig Lanning  <lanning@scra.org>
7226
7227         * Makefile.in.in: Add support for including the Windows resources
7228         when building with the cygwin and mingw targets.
7229
7230         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
7231         not set or not correct.
7232         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
7233         (init_initial_directory): Don't try to use $PWD on the
7234         WIN32_NATIVE target.
7235
7236         * s\cygwin32.h:
7237         [[Add -mwindows to eliminate console window.]] not required --ben
7238         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7239         (MAIL_USE_POP): removed; now handled by configure.
7240
7241         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
7242         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
7243         (HAVE_NATIVE_SOUND): removed; now handled by configure.
7244         (MAIL_USE_POP): removed; now handled by configure.
7245         (ENCAPSULATE_STAT): from Dan Holmsand, added.
7246         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
7247         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
7248         constant string.
7249         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
7250         up from <winsock.h> via systime.h.
7251         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
7252         (getpagesize): from Dan Holmsand, added.
7253         Added #endif which was left dangling by Ben's mega patch; added
7254         comment to help prevent this in the future.
7255
7256         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
7257
7258 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
7259
7260         * console-msw.h (struct mswindows_device): Removed unnecessary
7261         cached device geometry values.
7262         Added update_tick and an accessor macro.
7263         (Lisp_Devmode): Added lrecord declaration.
7264         (struct msprinter_device): Contain devmode as a Lisp object.
7265         Added mswindows_get_selected_frame_hwnd();
7266
7267         * console.h (struct console_methods): Indentation nitpicking.
7268
7269         * device-msw.c (mswindows_init_device): Do not initialize geometry
7270         cache. Initialize update tick.
7271         (mswindows_device_system_metrics): Ask the device for its geometry.
7272         (global_free_2_maybe):
7273         (devmode_to_hglobal):
7274         (handle_printer_changes):
7275         (ensure_not_printing):
7276         (print_dialog_worker):
7277         (Fmsprinter_print_setup_dialog):
7278         (Fmsprinter_print_dialog):
7279         (plist_get_margin):
7280         (plist_set_margin):
7281         (Fmsprinter_page_setup_dialog): Added functions.
7282         (sync_printer_with_devmode):
7283         (handle_devmode_changes):
7284         (Fmsprinter_get_settings):
7285         (Fmsprinter_select_settings):
7286         (Fmsprinter_apply_settings):
7287         (allocate_devmode):
7288         (Fmsprinter_settings_copy):
7289         (Fmsprinter_settings_despecialize):
7290         (print_devmode):
7291         (finalize_devmode):
7292         (equal_devmode):
7293         (hash_devmode): Added functions
7294         (syms_of_device_mswindows): Init devmode lrecord class.
7295
7296         * device.h: Added an exfun for find-device.
7297
7298         * event-msw.c (mswindows_wnd_proc): Do not update the cached
7299         geometry; although, recreate the device compatible DC.
7300
7301         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
7302         (msprinter_init_frame_3):
7303         (msprinter_frame_property):
7304         (msprinter_internal_frame_property_p):
7305         (msprinter_frame_properties):
7306         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
7307         print job properties (will move to device settings).
7308
7309         * lisp.h: Added symbols.
7310
7311         * general.c (syms_of_general): Declared them.
7312
7313         * hash.c (string_hash): Added.
7314
7315         * lrecord.h (lrecord_type): Added devmode lrecord type.
7316
7317 2000-07-02  Mike Sperber <mike@xemacs.org>
7318
7319         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
7320         FreeBSD 4.0.
7321
7322 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
7323
7324         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
7325         integer.
7326
7327 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
7328
7329         * data.c (Fstring_to_number): Don't recognize floating point if
7330         base is not 10.
7331
7332 2000-06-22  Martin Buchholz  <martin@xemacs.org>
7333
7334         * glyphs-widget.c (tab_control_query_geometry):
7335         (widget_query_geometry):
7336         (button_query_geometry):
7337         * glyphs.c (text_query_geometry):
7338         Enforce type correctness.
7339
7340 2000-06-18  Martin Buchholz  <martin@xemacs.org>
7341
7342         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
7343         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
7344
7345 2000-06-17  Martin Buchholz  <martin@xemacs.org>
7346
7347         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
7348         conflicts with gcc's fixincluded version of FOO.h.
7349
7350         * glyphs.h (image_instance_geometry): Remove trailing `,'
7351
7352 2000-06-08  Mike Alexander  <mta@arbortext.com>
7353
7354         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
7355         (shove_thread): Don't write the same output twice
7356         (make_ntpipe_output_stream): Increase priority of shove thread
7357         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
7358         chance to run
7359         (ntpipe_shove_closer): Don't delete the pipe until we're done with
7360         it.
7361
7362 2000-06-12  Ben Wing  <ben@xemacs.org>
7363
7364         * s\mingw32.h (sigset):
7365         * s\windowsnt.h (sigset):
7366         rename msw_ to mswindows_ for consistency with general convention.
7367
7368 2000-06-12  Ben Wing  <ben@xemacs.org>
7369
7370         * console-msw.c:
7371         * console-msw.c (mswindows_get_console_hwnd):
7372         * console-msw.c (mswindows_ensure_console_allocated):
7373         * console-msw.c (mswindows_hide_console):
7374         * console-msw.c (mswindows_show_console):
7375         * console-msw.c (mswindows_ensure_console_buffered):
7376         * console-msw.c (mswindows_output_console_string):
7377         * console-msw.c (mswindows_windows9x_p):
7378         * console-msw.h:
7379         * device-msw.c (mswindows_get_workspace_coords):
7380         * device-msw.c (mswindows_device_system_metrics):
7381         * dialog-msw.c (mswindows_popup_dialog_box):
7382         * event-msw.c (mswindows_wnd_proc):
7383         * frame-msw.c (mswindows_size_frame_internal):
7384         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
7385         * menubar-msw.c (displayable_menu_item):
7386         * menubar-msw.c (mswindows_char_is_accelerator):
7387         * nt.c:
7388         * nt.c (mswindows_sigset):
7389         * nt.c (mswindows_sigrelse):
7390         * nt.c (mswindows_sigpause):
7391         * nt.c (mswindows_raise):
7392         * nt.c (timer_proc):
7393         * ntproc.c:
7394         * ntproc.c (find_child_console):
7395         * ntproc.c (sys_kill):
7396         * print.c:
7397         * print.c (std_handle_out_external):
7398         * process-nt.c (find_child_console):
7399         * process-nt.c (send_signal_the_95_way):
7400         * process-nt.c (ensure_console_window_exists):
7401         * process-nt.c (nt_create_process):
7402         * syssignal.h:
7403         rename msw_ to mswindows_ for consistency with general convention.
7404
7405         * emacs.c:
7406         * dumper.c:
7407         include nt.h, not syswindows.h.
7408
7409         * nt.c (mswindows_fstat):
7410         * nt.c (mswindows_stat):
7411         prefix mswindows_ instead of attempting to directly override the
7412         library functions.  fix declarations.
7413
7414         * nt.h:
7415         include syswindows.h.  move some sysdep.h stuff here.
7416
7417         * ntheap.h:
7418         include syswindows.h, not <windows.h>.
7419
7420         * ntplay.c:
7421         clean up headers.
7422
7423         * sysdep.c:
7424         clean up headers.
7425
7426         * sysdep.c (sys_fstat):
7427         * sysdep.c (sys_stat):
7428         call mswindows versions when appropriate.
7429
7430         * sysdep.h:
7431         move mswin decls to nt.h.
7432
7433         * syswindows.h:
7434         add long comment describing appropriate use of the various windows
7435         headers.
7436
7437 2000-06-11  Ben Wing  <ben@xemacs.org>
7438
7439         * device-x.c: Correct doc string for sixth arg of x-get-resource.
7440
7441 2000-06-10  Ben Wing  <ben@xemacs.org>
7442
7443         * Makefile.in.in (release):
7444         Correction to make sure xemacs.exe always dumped when correct.
7445
7446         * alloca.c:
7447         * balloon_help.c:
7448         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
7449
7450         * buffer.c (set_buffer_internal):
7451         [[[[2]]]]: Remove HAVE_FEP code.
7452
7453         * buffer.c (init_initial_directory):
7454         [3].
7455
7456         * bytecode.c:
7457         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
7458         individual files.
7459
7460         * callproc.c:
7461         * callproc.c (call_process_cleanup):
7462         * callproc.c (Fold_call_process_internal):
7463         * callproc.c (child_setup):
7464         * callproc.c (getenv_internal):
7465         * callproc.c (init_callproc):
7466         * callproc.c (vars_of_callproc):
7467         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
7468         __CYGWIN32__ -> CYGWIN.
7469         DOS_NT -> WIN32_NATIVE.
7470         Remove MSDOS support/references, converting to WIN32_NATIVE
7471           where correct.
7472         __MINGW32__ -> MINGW.
7473         Fix windows.h includes.
7474         Remove bogus HAVE_NTGUI.
7475
7476         * config.h.in:
7477         [2].
7478
7479         * console-msw.c:
7480         mswindows_message_outputted added for use in allowing startup
7481         errors on the console to be seen.
7482
7483         * console-msw.c (msw_ensure_console_allocated):
7484         * console-msw.c (msw_output_console_string):
7485         * console-msw.c (DHEADER):
7486         * console-msw.c (DOPAQUE_DATA):
7487         * console-msw.c (DEVENT):
7488         * console-msw.c (DCONS):
7489         * console-msw.c (DCONSCDR):
7490         * console-msw.c (DSTRING):
7491         * console-msw.c (DVECTOR):
7492         * console-msw.c (DSYMBOL):
7493         * console-msw.c (DSYMNAME):
7494         Fix warnings.
7495
7496         * console-stream.c (stream_init_console):
7497         Fix text/binary problems.
7498
7499         * device-msw.c:
7500         * device-msw.c (mswindows_finish_init_device):
7501         * device-msw.c (mswindows_delete_device):
7502         [1].
7503
7504         * device.c (handle_asynch_device_change):
7505         [3].
7506
7507         * dgif_lib.c:
7508         * dgif_lib.c (DGifOpenFileName):
7509         * dgif_lib.c (DGifOpenFileHandle):
7510         * dgif_lib.c (DGifGetLine):
7511         * dgif_lib.c (DGifGetPixel):
7512         Added config.h/lisp.h, fix up includes.
7513         [1].
7514
7515         * dired-msw.c:
7516         [4].
7517
7518         * dired.c:
7519         * dired.c (file_name_completion):
7520         * dired.c (Ffile_attributes):
7521         * dired.c (syms_of_dired):
7522         [1].
7523
7524         * dumper.c:
7525         * dumper.c (pdump_file_unmap):
7526         * dumper.c (pdump_load):
7527         [1].
7528
7529         * editfns.c:
7530         * editfns.c (Ftemp_directory):
7531         * editfns.c (user_login_name):
7532         * editfns.c (Fuser_real_login_name):
7533         * editfns.c (get_home_directory):
7534         [1].
7535
7536         * elhash.c (finish_marking_weak_hash_tables):
7537         [[[[5]]]]: Fix GCC warnings.
7538
7539         * emacs.c:
7540         * emacs.c (mswindows_handle_hardware_exceptions):
7541         * emacs.c (make_arg_list_1):
7542         * emacs.c (main_1):
7543         * emacs.c (Fkill_emacs):
7544         * emacs.c (Fdump_emacs):
7545         [1].
7546         Fix problems with nested crashes, add long comment.
7547
7548         * event-Xt.c (init_event_Xt_late):
7549         [1].
7550
7551         * event-msw.c:
7552         * event-msw.c (mswindows_dde_callback):
7553         * event-msw.c (mswindows_handle_sticky_modifiers):
7554         * event-msw.c (mswindows_wnd_proc):
7555         [1].
7556         [5].
7557
7558         * events.c (character_to_event):
7559         [1].
7560
7561         * fileio.c:
7562         * fileio.c (Ffile_name_directory):
7563         * fileio.c (Ffile_name_nondirectory):
7564         * fileio.c (directory_file_name):
7565         * fileio.c (Fexpand_file_name):
7566         * fileio.c (Fsubstitute_in_file_name):
7567         * fileio.c (Ffile_name_absolute_p):
7568         * fileio.c (check_executable):
7569         * fileio.c (Ffile_readable_p):
7570         * fileio.c (Ffile_accessible_directory_p):
7571         * fileio.c (Ffile_modes):
7572         * fileio.c (Funix_sync):
7573         * fileio.c (vars_of_fileio):
7574         [1]. [4].
7575
7576         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
7577
7578         Expand getdefdir defn.
7579         Fix bogus rename() comment.
7580
7581         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
7582         to use standard XEmacs include files, e.g. sysfile.h, rather
7583         than system-specific includes.
7584
7585         * fns.c:
7586         * fns.c (Fsubseq):
7587         [5]. [6].
7588
7589         * frame.c (vars_of_frame):
7590         [1].
7591
7592         * getloadavg.c:
7593         * getloadavg.c (getloadavg):
7594         [1]. [6].
7595         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
7596         (We don't use it elsewhere in the code; just add a comment.)
7597
7598         * gif_io.c:
7599         [6].
7600         Add config.h.
7601
7602         * glyphs-msw.c:
7603         * glyphs-msw.c (mswindows_resource_instantiate):
7604         [1].
7605
7606         * glyphs-x.c (x_native_layout_instantiate):
7607         [5].
7608
7609         * gui-msw.c (Fmswindows_shell_execute):
7610         [1].
7611
7612         * insdel.c:
7613         [4].
7614
7615         * lisp.h:
7616         [4]. [5].
7617
7618         * lread.c (locate_file_in_directory_mapper):
7619         [1].
7620
7621         * lstream.c:
7622         [4].
7623
7624         * mem-limits.h:
7625         * mem-limits.h (get_lim_data):
7626         [1].
7627
7628         * menubar-msw.c:
7629         [4].
7630
7631         * ndir.h:
7632         [1].
7633
7634         * nt.c:
7635         * nt.c (getwd):
7636         * nt.c (closedir):
7637         * nt.c (rva_to_section):
7638         * nt.c (mswindows_executable_type):
7639         [1]. [6].
7640         Fix closedir() defn.
7641
7642         * nt.h:
7643         [[[[8]]]]: *_OK defs moved to sysfile.h.
7644
7645         * ntproc.c:
7646         [6]. [7].
7647
7648         * objects-x.c:
7649         [4].
7650
7651         * print.c:
7652         * print.c (std_handle_out_external):
7653         [1]. [4].
7654
7655         * process-nt.c:
7656         * process-nt.c (nt_create_process):
7657         [6].
7658         try to fix process quoting somewhat.
7659
7660         * process-unix.c (unix_create_process):
7661         [1].
7662
7663         * process.c:
7664         * process.c (vars_of_process):
7665         Add Vnull_device.
7666
7667         * process.h:
7668         [1].
7669
7670         * realpath.c:
7671         * realpath.c (xrealpath):
7672         [1].
7673
7674         * redisplay-tty.c (init_tty_for_redisplay):
7675         [3].
7676
7677         * redisplay.c:
7678         [4]. [6].
7679
7680         * scrollbar-msw.c:
7681         [4].
7682
7683         * sheap.c:
7684         * sheap.c (more_static_core):
7685         * sheap.c (report_sheap_usage):
7686         [5]. [6].
7687
7688         * signal.c:
7689         * signal.c (alarm_signal):
7690         [1]. [6].
7691
7692         * sound.c:
7693         [6].
7694
7695         * strftime.c:
7696         * strftime.c (zone_name):
7697         [1]. [5].
7698
7699         * symsinit.h (init_sunpro):
7700         [1].
7701
7702         * syscommctrl.h:
7703         commctrl.h not in Cygwin b20.1.
7704
7705         * sysdep.c:
7706         * sysdep.c (endif):
7707         * sysdep.c (sys_subshell):
7708         * sysdep.c (init_baud_rate):
7709         * sysdep.c (emacs_get_tty):
7710         * sysdep.c (emacs_set_tty):
7711         * sysdep.c (tty_init_sys_modes_on_device):
7712         * sysdep.c (init_system_name):
7713         * sysdep.c (sys_open):
7714         * sysdep.c (interruptible_open):
7715         * sysdep.c (sys_fopen):
7716         * sysdep.c (sys_mkdir):
7717         * sysdep.c (sys_rename):
7718         * sysdep.c (get_process_times_1):
7719         [1]. [6].
7720
7721         * sysdep.h:
7722         [1].
7723
7724         * sysdir.h:
7725         * sysdir.h (DIRENTRY_NONEMPTY):
7726         [1]. [6].
7727
7728         * sysdll.c (dll_init):
7729         * sysdll.h:
7730         [1].
7731
7732         * sysfile.h:
7733         [1]. [6]. [8].
7734         added text/binary defs.
7735
7736         * sysfloat.h:
7737         [1].
7738
7739         * sysproc.h:
7740         * sysproc.h (EDESTADDRREQ):
7741         * sysproc.h (poll_fds_for_input):
7742         [1]. [6].
7743
7744         * syspwd.h:
7745         [6].
7746
7747         * syssignal.h:
7748         [1].
7749
7750         * systime.h:
7751         [1]. [6].
7752
7753         * systty.h:
7754         [1].
7755
7756         * syswindows.h:
7757         [1].
7758         Always define WIN32_LEAN_AND_MEAN.
7759
7760         * unexcw.c (unexec):
7761         [5].
7762
7763         * unexec.c:
7764         * unexec.c (copy_text_and_data):
7765         * unexec.c (adjust_lnnoptrs):
7766         [1].
7767
7768         * unexnt.c:
7769         * unexnt.c (_start):
7770         [1].
7771
7772 2000-06-07  Ben Wing  <ben@xemacs.org>
7773
7774         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
7775         was used only as a model.  We've long since extracted any useful
7776         logic or code out of this. (I just did an exhaustive search.)
7777
7778         * s\msdos.h: Removed.
7779
7780         * s\windows95.h: Removed.
7781
7782 2000-06-10  Ben Wing  <ben@xemacs.org>
7783
7784         * s\cygwin32.h:
7785         [1]. [5].
7786         Don't use extern with fun defs.
7787
7788         * s\mingw32.h:
7789         [1]. [7].
7790         Remove nt\inc include.
7791         Remove getdisk, getdefdir. (The former is unused, the latter
7792         expanded in fileio.h.)
7793
7794         * s\windowsnt.h:
7795         * s\windowsnt.h (WIN32_NATIVE):
7796         * s\windowsnt.h (HAVE_STRCASECMP):
7797         [1]. [7].
7798         Add long comment about preprocessor changes.
7799         Remove getdisk, getdefdir. (The former is unused, the latter
7800         expanded in fileio.h.)
7801
7802 2000-06-10  Ben Wing  <ben@xemacs.org>
7803
7804         * m\arm.h:
7805         * m\delta.h:
7806         * m\intel386.h:
7807         * m\sequent.h:
7808         * m\template.h:
7809         * m\windowsnt.h:
7810         [1].
7811         Remove bogus/unused NO_SOCK_SIGIO.
7812
7813 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
7814
7815         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
7816         not an Emchar.
7817
7818 2000-06-04  Mike Sperber <mike@xemacs.org>
7819
7820         * casetab.c (set_case_table): For `set-standard-case-table',
7821         actually deposit the new case tables where the rest of XEmacs can
7822         see them.
7823
7824 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
7825
7826         * data.c (Faset): Don't cast XCHAR() to unsigned char.
7827
7828 2000-06-05  Ben Wing  <ben@xemacs.org>
7829
7830         * callproc.c (child_setup): Don't do close_load_descs() under
7831         MS Windows.  Put in a comment explaining why.
7832
7833 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
7834
7835         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
7836         Toolkit shell" which breaks `kill-compilation' on Windows NT
7837         native, retaining STDERR handling improvements.
7838
7839 2000-06-01  Andreas Jaeger  <aj@suse.de>
7840
7841         * s/s390.h: Support for S390, based on a patch by Martin
7842         Schwidefsky <schwidefsky@de.ibm.com>.
7843
7844 2000-05-30  Andy Piper  <andy@xemacs.org>
7845
7846         * window.c (allocate_window):
7847         (make_dummy_parent):
7848         (Fset_window_configuration): use new hashtable type.
7849
7850         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
7851         (struct image_instantiator_methods):
7852         (struct Lisp_Image_Instance): make instance geometry signed.
7853
7854         * glyphs.c (instantiate_image_instantiator):
7855         (image_instance_query_geometry):
7856         (image_instance_layout):
7857         (image_instance_layout):
7858         (query_string_geometry):
7859         (text_query_geometry):
7860         (image_instantiate):
7861         (image_instantiate):
7862         (cache_subwindow_instance_in_frame_maybe):
7863         (subwindow_query_geometry): make instance geometry signed.
7864
7865         * glyphs-widget.c (widget_query_geometry):
7866         (widget_layout):
7867         (button_query_geometry):
7868         (tree_view_query_geometry):
7869         (tab_control_query_geometry):
7870         (layout_query_geometry):
7871         (layout_layout):
7872         (native_layout_layout): make instance geometry signed.
7873
7874 2000-05-29  Olivier Galibert  <galibert@pobox.com>
7875
7876         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
7877         constant.
7878
7879         * general.c (syms_of_general): Add Qfull_assoc symbol.
7880
7881         * data.c (finish_marking_weak_lists): Mark full-assoc lists
7882         correctly.
7883         (decode_weak_list_type): Decode full-assoc type.
7884         (encode_weak_list_type): Encode full-assoc type.
7885         (Fmake_weak_list): Update doc string.
7886
7887 2000-05-30  Andy Piper  <andy@xemacs.org>
7888
7889         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
7890
7891         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
7892         (decode_hash_table_weakness): ditto.
7893         (Fhash_table_weakness): ditto.
7894         (Fhash_table_type): ditto.
7895         (finish_marking_weak_hash_tables): ditto.
7896         (hash_table_weakness_validate): ditto.
7897         (syms_of_elhash): ditto.
7898
7899 2000-05-28  Martin Buchholz <martin@xemacs.org>
7900
7901         * XEmacs 21.2.34 is released.
7902
7903 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7904
7905         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
7906         start cache.
7907         (updating_line_start_cache): Gone.
7908         (regenerate_window): Replace resetting of VERTICAL_CLIP by
7909         generic code to force a minimum of 1 line laid out in the
7910         CMOTION_DISP case.
7911
7912 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
7913
7914         * glyphs.c (instantiate_image_instantiator): Check for initialized
7915         height & width no longer special cases IMAGE_NOTHING.
7916         (nothing_instantiate): Set height and width of instance.
7917
7918 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7919
7920         * unexelf.c (unexec): Search for ".data" section.
7921         Initialize new_data2_offset from old_data_index.
7922         Remove redundant check for ElfW.
7923
7924 2000-05-23  Andy Piper  <andy@xemacs.org>
7925
7926         * glyphs.c (get_image_instantiator_governing_domain): allow more
7927         specific domains as the governing domain rather than expecting an
7928         exact match. This fixes problems with layouts.
7929
7930 2000-05-22  Andy Piper  <andy@xemacs.org>
7931
7932         * redisplay-output.c (compare_runes): check for non-images
7933
7934         * glyphs.c (set_glyph_dirty_p): ditto.
7935         (update_glyph_cachel_data): ditto.
7936
7937         * glyphs-widget.c (layout_post_instantiate): ditto.
7938         (layout_post_instantiate): ditto.
7939
7940         * event-msw.c (mswindows_wnd_proc): warning removal.
7941
7942 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
7943
7944         * s\mingw32.h: Added #undef for CLASH_DETECTION.
7945
7946         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
7947
7948         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
7949
7950         * nt.c (rva_to_section): mingw32 needs rva_to_section.
7951         (mswindows_executable_type): mingw32 now has enough headers for
7952         this to work.
7953
7954 2000-05-20  Andy Piper  <andy@xemacs.org>
7955
7956         * console-msw.c (mswindows_output_last_error): ; -> ,
7957
7958 2000-05-12  Andy Piper  <andy@xemacs.org>
7959
7960         * console-msw.c (FROB): compare ints with ints.
7961
7962 2000-05-11  Andy Piper  <andy@xemacs.org>
7963
7964         * glyphs-x.c (x_finalize_image_instance): make minimal build
7965         happy.
7966
7967 2000-05-20  Ben Wing  <ben@xemacs.org>
7968
7969         * event-Xt.c:
7970         * event-Xt.c (vars_of_event_Xt):
7971         move modifier-keys-are-sticky to event-stream.c.
7972
7973         * event-msw.c:
7974         * event-msw.c (mswindows_enqueue_mouse_button_event):
7975         * event-msw.c (key_needs_default_processing_p):
7976         * event-msw.c (XEMSW_LCONTROL):
7977         * event-msw.c (mswindows_handle_sticky_modifiers):
7978         * event-msw.c (FROB):
7979         * event-msw.c (clear_sticky_modifiers):
7980         * event-msw.c (output_modifier_keyboard_state):
7981         * event-msw.c (output_alt_keyboard_state):
7982         * event-msw.c (mswindows_wnd_proc):
7983         * event-msw.c (mswindows_modifier_state):
7984         * event-msw.c (emacs_mswindows_handle_magic_event):
7985         implement sticky modifiers.
7986
7987         * event-stream.c:
7988         * event-stream.c (vars_of_event_stream):
7989         move modifier-keys-are-sticky here.
7990
7991         * lisp.h:
7992         add CHECK_FUNCTION.
7993
7994         * rangetab.c:
7995         implement map-range-table.
7996
7997
7998 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
7999
8000         * redisplay-tty.c (reset_tty_modes):
8001         (tty_redisplay_shutdown): Adjust argument type to
8002         tty_frame_output_end.
8003
8004 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8005
8006         * eval.c (Fbacktrace): Don't output a line with only right
8007         parenthesis.
8008
8009 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
8010
8011         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
8012         (Fpq_reset_poll): Ditto.
8013
8014 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
8015
8016         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
8017
8018 2000-05-16  Ben Wing  <ben@xemacs.org>
8019
8020         * buffer.c:
8021         * buffer.c (dfc_convert_to/from_internal_format):
8022         * buffer.c (reinit_vars_of_buffer):
8023         Fix conversion functions to allow reentrancy.
8024
8025         * console-msw.c:
8026         * console-msw.c (mswindows_output_last_error):
8027         New fun, generally useful -- output a human-readable
8028         version of GetLastError() on the console.
8029
8030         * console-msw.h:
8031         * console-msw.h (struct mswindows_frame):
8032         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
8033
8034         * console-stream.c (stream_output_begin):
8035         * console-stream.c (stream_output_end):
8036         * console-stream.c (stream_output_vertical_divider):
8037         * console-stream.c (stream_clear_region):
8038         * console-stream.c (stream_flash):
8039         * console-stream.c (console_type_create_stream):
8040         Delete blank stream methods, not needed.
8041
8042         * console.h (struct console_methods):
8043         Split begin/end methods into window and frame.
8044
8045         * event-msw.c:
8046         * event-msw.c (mswindows_handle_paint):
8047         * event-msw.c (output_alt_keyboard_state):
8048         * event-msw.c (mswindows_wnd_proc):
8049         * event-msw.c (vars_of_event_mswindows):
8050         Comment about problems with ignored-expose.
8051         Define mswindows-debug-events; not really implemented.
8052
8053         * frame-msw.c (mswindows_init_frame_1):
8054         random cleanups.
8055
8056         * glyphs-msw.c:
8057         * glyphs-msw.c (begin_defer_window_pos):
8058         * glyphs-msw.c (mswindows_unmap_subwindow):
8059         * glyphs-msw.c (mswindows_map_subwindow):
8060         * glyphs-msw.c (mswindows_resize_subwindow):
8061         Use DeferWindowPos to reduce flashing when mapping/unmapping.
8062
8063         * glyphs.c (make_image_instance_1):
8064         Fix crash.
8065
8066         * gutter.c (Fredisplay_gutter_area):
8067         Use new begin/end methods.
8068
8069         * lisp.h (Dynarr_new2):
8070         New creation fun.
8071
8072         * redisplay-msw.c:
8073         * redisplay-msw.c (mswindows_frame_output_begin):
8074         * redisplay-msw.c (mswindows_frame_output_end):
8075         * redisplay-msw.c (console_type_create_redisplay_mswindows):
8076         New begin/end methods -- handle DeferWindowPos.
8077
8078         * redisplay-output.c (redisplay_move_cursor):
8079         * redisplay-output.c (redraw_cursor_in_window):
8080         * redisplay-output.c (redisplay_update_line):
8081         * redisplay-output.c (redisplay_output_window):
8082         New begin/end methods.
8083
8084         * redisplay-tty.c:
8085         * redisplay-tty.c (tty_frame_output_begin):
8086         * redisplay-tty.c (tty_frame_output_end):
8087         * redisplay-tty.c (console_type_create_redisplay_tty):
8088         New begin/end methods.
8089
8090         * redisplay-x.c:
8091         * redisplay-x.c (x_window_output_begin):
8092         * redisplay-x.c (x_window_output_end):
8093         * redisplay-x.c (console_type_create_redisplay_x):
8094         New begin/end methods.
8095
8096         * redisplay.c (redisplay_frame):
8097         * redisplay.c (Fredisplay_echo_area):
8098         New begin/end methods.
8099         use MAYBE_DEVMETH for clear_frame; it may not exist.
8100
8101         * window.h (WINDOW_XFRAME):
8102         WINDOW_XFOO macros -- get locale and decode struct pointer.
8103
8104
8105 2000-05-12  Ben Wing  <ben@xemacs.org>
8106
8107         * emacs.c:
8108         * emacs.c (ensure_no_quitting_from_now_on):
8109         * emacs.c (fatal_error_signal):
8110         * emacs.c (mswindows_handle_hardware_exceptions):
8111         * emacs.c (main):
8112         * emacs.c (Fkill_emacs):
8113         * emacs.c (shut_down_emacs):
8114         * emacs.c (assert_failed):
8115         various improvements in fatal error handling.
8116
8117         * eval.c:
8118         move preparing_for_armageddon to emacs.c.
8119
8120         * lisp.h:
8121         declare fatal_error_in_progress.
8122
8123         * print.c:
8124         * print.c (std_handle_out_external):
8125         * print.c (std_handle_out_va):
8126         * print.c (stderr_out):
8127         * print.c (stdout_out):
8128         use console under mswin when no standard output.
8129         don't do code conversion during fatal error.
8130
8131         * scrollbar.c (Fscrollbar_page_up):
8132         * scrollbar.c (Fscrollbar_page_down):
8133         fix missing else.  reindent.
8134
8135 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
8136
8137         Emergency fix.
8138
8139         * glyphs.h (GLYPH_CACHEL_DESCENT):
8140         (GLYPH_CACHEL_DESCENT):
8141         (GLYPH_CACHEL_DESCENT):
8142         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
8143         used in case these are inline functions.
8144         Use more absurd values to error check.
8145
8146         include window.h for error check functions.
8147
8148 2000-05-11  Ben Wing  <ben@xemacs.org>
8149
8150         * cmdloop.c (Freally_early_error_handler):
8151         Display message box under windows; otherwise, message will disappear
8152         before it can be viewed.
8153
8154         * console-msw.c:
8155         * console-msw.c (Fmswindows_message_box):
8156         * console-msw.c (FROB):
8157         * console-msw.c (syms_of_console_mswindows):
8158         Define new fun `mswindows-message-box'.
8159         #### I will merge this into `popup-dialog-box'; just give me
8160         a bit of time.
8161
8162         * general.c:
8163         * general.c (syms_of_general):
8164         Some new symbols used in `mswindows-message-box'.
8165
8166         * glyphs.c:
8167         * glyphs.c (Fset_image_instance_property):
8168         put warning in this fun.
8169
8170         * glyphs.h:
8171         * glyphs.h (GLYPH_CACHEL_WIDTH):
8172         * glyphs.h (GLYPH_CACHEL_ASCENT):
8173         * glyphs.h (GLYPH_CACHEL):
8174         * glyphs.h (GLYPH_CACHEL_GLYPH):
8175         define error-checking versions to try to catch a bug i've seen --
8176         redisplay gets in an infinite loop because the glyph width of the
8177         continuation glyph is 65535.
8178
8179         * lisp.h:
8180         Extern message-box stuff.
8181
8182         * window.c (allocate_window):
8183         * window.c (make_dummy_parent):
8184         * window.c (Fset_window_configuration):
8185         Use EQUAL not EQ for subwindow caches to make them work a bit
8186         better. (Something is still very broken.)
8187
8188
8189 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8190
8191         * glyphs.c (image_instantiate): Suppress gcc warnings.
8192         (Fmake_image_instance): Fix doc string.
8193         * specifier.c (Fmake_specifier): Ditto.
8194
8195 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
8196
8197         * paths.h.in (PATH_LOCK): Removed.
8198         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
8199         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
8200
8201 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8202
8203         * fns.c (Ffeaturep): Update e-mail address in doc-string.
8204         Document (featurep '(and xemacs 21.02)).
8205
8206 2000-05-09  Ben Wing  <ben@xemacs.org>
8207
8208         * buffer.c (complex_vars_of_buffer):
8209         update modeline-format doc.
8210
8211         * device.h:
8212         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
8213
8214         * emacs.c:
8215         timeline of all released versions of Emacs, for use in creating
8216         authorship comments and in synching up.
8217
8218         * glyphs-widget.c (image_instantiator_buttons):
8219         * glyphs-widget.c (image_instantiator_edit_fields):
8220         * glyphs-widget.c (image_instantiator_combo_box):
8221         * glyphs-widget.c (image_instantiator_scrollbar):
8222         * glyphs-widget.c (image_instantiator_progress_guage):
8223         * glyphs-widget.c (image_instantiator_tree_view):
8224         * glyphs-widget.c (image_instantiator_tab_control):
8225         * glyphs-widget.c (image_instantiator_labels):
8226         * glyphs-widget.c (image_instantiator_layout):
8227         * glyphs-widget.c (image_instantiator_native_layout):
8228         rename decode_domain method to governing_domain.
8229
8230         * glyphs.c:
8231         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
8232         * glyphs.c (add_entry_to_device_ii_format_list):
8233         make sure we don't put an entry more than once into the list.
8234         * glyphs.c (check_instance_cache_mapper):
8235         *************************************************************
8236         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8237         HAVE BEEN GETTING.
8238         *************************************************************
8239         * glyphs.c (get_image_instantiator_governing_domain):
8240         clean up, expand on new concept of governing domain.
8241         * glyphs.c (instantiate_image_instantiator):
8242         * glyphs.c (allocate_image_instance):
8243         use governing_domain instead of cache_domain in naming.
8244         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
8245         * glyphs.c (make_image_instance_1):
8246         * glyphs.c (Fmake_image_instance):
8247         allow for any domain (not just device), and process the
8248         governing domain correctly.  very big doc fix.
8249         * glyphs.c (Fimage_instance_domain):
8250         new primitive, to retrieve the governing domain of an image instance.
8251         * glyphs.c (image_instantiate):
8252         use new governing_domain stuff.  this fixes a crash you could get
8253         by instantiating certain widget glyphs in frame locales. (should
8254         signal an error instead of crashing.)
8255         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
8256         * glyphs.c (Fglyphp): clean up doc.
8257         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
8258         * glyphs.c (syms_of_glyphs):
8259         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
8260         * glyphs.c (image_instantiator_format_create): add some comments about
8261         bogus code.
8262         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
8263         for current-display-table. (Apparently Hrjove implemented in 1998 a
8264         design I wrote up in 1996, but didn't update the doc string.)
8265
8266         * glyphs.h: clean up a doc string.
8267         * glyphs.h (governing_domain):
8268         * glyphs.h (struct image_instantiator_methods):
8269         changes for governing_domain stuff.
8270
8271         * gutter.c:
8272         * gutter.c (Fgutter_specifier_p):
8273         * gutter.c (Fgutter_size_specifier_p):
8274         * gutter.c (Fgutter_visible_specifier_p):
8275         * objects.c:
8276         * objects.c (Fcolor_specifier_p):
8277         * objects.c (Ffont_specifier_p):
8278         * objects.c (Fface_boolean_specifier_p):
8279         doc strings moved to make-*-specifier.
8280
8281         * redisplay.c (add_disp_table_entry_runes_1):
8282         * redisplay.c (generate_fstring_runes):
8283         * redisplay.c (screen):
8284         add random comments and doc strings.
8285
8286         * specifier.c:
8287         * specifier.c (Fmake_specifier):
8288         major overhaul of this doc string.
8289
8290         * specifier.c (Fvalid_specifier_domain_p):
8291         comment about the bogosity of image instances being domains.
8292         * specifier.c (decode_domain):
8293         now non-static, used in glyphs.c.
8294         * specifier.c (specifier_instance):
8295         comment about the bogosity of image instances being domains.
8296         * specifier.c (Fgeneric_specifier_p):
8297         move doc string to make-generic-specifier.
8298         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
8299         rebackslashify.
8300
8301         * specifier.h:
8302         * specifier.h (DOMAIN_FRAME):
8303         * specifier.h (DOMAIN_LIVE_P):
8304         * specifier.h (DOMAIN_XDEVICE):
8305         rebackslashify.
8306         add comments about problems with these macros.
8307         prototype for decode_domain.
8308
8309         * toolbar.c:
8310         * toolbar.c (Ftoolbar_specifier_p):
8311         move doc string to `make-toolbar-specifier'.
8312
8313         * window.c (window_unmap_subwindows_cache_mapper):
8314         *************************************************************
8315         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
8316         HAVE BEEN GETTING.
8317         *************************************************************
8318
8319 2000-05-09  Andy Piper  <andy@xemacs.org>
8320
8321         * glyphs.h: declare reset_frame_subwindow_instance_cache.
8322
8323         * window.c (Fset_window_configuration): reset the frame subwindow
8324         cache and re-initialize the window subwindow caches.
8325
8326         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
8327
8328 2000-05-09  Ben Wing  <ben@xemacs.org>
8329
8330         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
8331         DWORD.
8332
8333 2000-04-26  Mike Woolley  <mike@bulsara.com>
8334
8335         * ntheap.c: Changed recreate_heap to limit the amount reserved
8336         for the heap to that which is actually available. Also now
8337         displays a message box (with some dignostics) in the event that
8338         it still can't start.
8339
8340 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
8341
8342         * callproc.c (Fold_call_process_internal): GCPRO path
8343
8344 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
8345
8346         Patch by Bill Perry.
8347
8348         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
8349         back data instead of #ifdef.
8350         (Fscrollbar_page_down): ditto.
8351
8352 2000-05-07  Ben Wing  <ben@xemacs.org>
8353
8354         * buffer.h:
8355         Kludge for defining Qmswindows_tstr.
8356
8357         * nt.c:
8358         * nt.c (open_input_file):
8359         * nt.c (open_output_file):
8360         * nt.c (rva_to_section):
8361         * nt.c (mswindows_executable_type):
8362         Move all memory-mapped-file routines here (some were in unexnt.c,
8363         which is bad because they are used by process-nt.c, and unexnt
8364         won't be around when portable dumping).  Synched the above routines
8365         with FSF 20.6.
8366
8367         * nt.h:
8368         Removed ifdef'd out bogus code.
8369         Fixed some prototypes.
8370
8371         * nt.h (file_data):
8372         * nt.h (OFFSET_TO_RVA):
8373         * nt.h (RVA_TO_OFFSET):
8374         * nt.h (RVA_TO_PTR):
8375         Moved the memory-mapped-file structures, macros and prototypes
8376         here, to parallel nt.c.  ntheap.h should really be removed
8377         entirely, and it's a non-portable-dumper specific file.
8378
8379         * ntheap.h (round_to_next):
8380         Moved the memory-mapped-file structures, macros and prototypes
8381         to nt.h.
8382
8383         * ntproc.c (compare_env):
8384         Moved rva_to_section and mswindows_executable_type to nt.c.
8385         Moved compare_env to process-nt.c.
8386         ntproc.c will die, one day.
8387
8388         * ntproc.c (sys_spawnve):
8389         Account for win32_ -> mswindows_.
8390
8391         * process-nt.c:
8392         * process-nt.c (struct nt_process_data):
8393         * process-nt.c (ensure_console_window_exists):
8394         * process-nt.c (compare_env):
8395         * process-nt.c (nt_create_process):
8396         * process-nt.c (nt_kill_process_by_pid):
8397         * process-nt.c (syms_of_process_nt):
8398         * process-nt.c (vars_of_process_nt):
8399         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
8400         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
8401         changes).  Eliminate our old `nt-quote-process-args' mechanism.
8402         Synch up nt_create_process with FSF 20.6 sys_spawnve.
8403         Move compare_env here from ntproc.c.
8404
8405         * process.c (Fprocess_send_region):
8406         Takes an optional fourth argument, BUFFER, which should fix some
8407         problems with call-process.
8408
8409         * syscommctrl.h:
8410         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
8411
8412         * syswindows.h:
8413         Move ICC_BAR_CLASSES to syscommctrl.h.
8414         Add preliminary macros for MSWindows/Mule.  More to come.
8415
8416         * unexnt.c:
8417         * unexnt.c (unexec):
8418         open_output_file moved to nt.c.
8419
8420
8421 2000-05-05  Andy Piper  <andy@xemacs.org>
8422
8423         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
8424         instance from the frame cache also since GC may catch up too late
8425         to make frame deletion sane.
8426
8427 2000-05-04  Andy Piper  <andy@xemacs.org>
8428
8429         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
8430         (x_finalize_image_instance): ungcpro on deletion.
8431
8432         * glyphs.c (image_instantiator_format_create): give pointers a
8433         query geometry method so that the geometry is at least set.
8434
8435         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
8436         initialize layouts if using widgets.
8437
8438 2000-05-03  Andy Piper  <andy@xemacs.org>
8439
8440         * nt.c: remove bogus reference to sysmmsystem.h
8441
8442         * gui-x.c (popup_selection_callback): fix no selection abort.
8443
8444 2000-05-02  Andy Piper  <andy@xemacs.org>
8445
8446         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
8447         (mswindows_widget_instantiate): ditto.
8448
8449         * glyphs-widget.c (initialize_widget_image_instance): initialize
8450         children correctly.
8451         (widget_instantiate): cope with children and items in the same
8452         instance.
8453
8454         * glyphs.c (mark_image_instance): cope with children as a first
8455         class member.
8456         (image_instance_equal): ditto.
8457         (image_instance_hash): ditto.
8458         (image_instance_changed): ditto.
8459
8460 2000-04-30  Andy Piper  <andy@xemacs.org>
8461
8462         * glyphs.c (subwindow_query_geometry): new function. Return some
8463         defaults.
8464         (subwindow_instantiate): don't assign dimensions if none have been
8465         given.
8466         (image_instantiator_format_create): add subwindow_query_geometry.
8467         (print_image_instance): cope with layouts as widgets.
8468
8469 2000-04-29  Andy Piper  <andy@xemacs.org>
8470
8471         * frame.c (delete_frame_internal): call
8472         free_frame_subwindow_instance_cache so that all subwindows are
8473         finalized before their parent.
8474         (mark_frame): remove subwindow_cachels.
8475         (Fmake_frame): remove subwindow_cachel manipulation.
8476         (allocate_frame_core): subwindow_instance_cache is a weak list.
8477         (delete_frame_internal): set subwindow_instance_cache to nil.
8478
8479         * glyphs-msw.c (mswindows_finalize_image_instance): make double
8480         finalization safe.
8481         (mswindows_finalize_image_instance): use the device
8482         not the domain as the domain may have died already.
8483
8484         * glyphs-x.c (x_finalize_image_instance): ditto.
8485         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
8486         HEIGHT.
8487
8488         * redisplay-output.c (redisplay_unmap_subwindows): update for
8489         subwindow instance cache as a weak list.
8490         (redisplay_unmap_subwindows_maybe): ditto.
8491         (redisplay_unmap_subwindows_except_us): ditto.
8492
8493         * glyphs.c (unmap_subwindow): error checking will check the domain
8494         so don't deal with it here. Don't use cachels anymore.
8495         (map_subwindow): ditto.
8496         (update_subwindow_cachel_data): remove old accessor names.
8497         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
8498         (Fresize_subwindow): don't update cachel.
8499         (mark_subwindow_cachels):
8500         (update_subwindow_cachel_data):
8501         (add_subwindow_cachel):
8502         (get_subwindow_cachel_index):
8503         (update_subwindow_cachel):
8504         (reset_subwindow_cachels):
8505         (mark_subwindow_cachels_as_not_updated): deleted.
8506         (cache_subwindow_instance_in_frame_maybe): new function. Add a
8507         subwindow instance to the frame cache.
8508         (find_matching_subwindow): update for subwindow instance cache as
8509         a weak list.
8510         (update_widget_instances): ditto.
8511         (image_instance_type_to_mask):inlined.
8512         (free_frame_subwindow_instance_cache): new function. finalize all
8513         subwindows that are instantiated.
8514
8515         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
8516         of cachel information.
8517         (IMAGE_INSTANCE_DISPLAY_X):
8518         (IMAGE_INSTANCE_DISPLAY_Y):
8519         (IMAGE_INSTANCE_DISPLAY_WIDTH):
8520         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
8521         (XIMAGE_INSTANCE_DISPLAY_X):
8522         (XIMAGE_INSTANCE_DISPLAY_Y):
8523         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
8524         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
8525         remove subwindow_cachel structure and function references.
8526         (image_instance_type_to_mask): inline from glyphs.c
8527
8528         * redisplay.c (redisplay_frame): remove subwindow_cachel
8529         references.
8530
8531         * frame.h (struct frame): remove subwindow_cachels.
8532         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
8533
8534         * frameslots.h: add subwindow_instance_cache.
8535
8536         * window.c (replace_window): check subwindow cache of replacement.
8537         (window_unmap_subwindows_cache_mapper):
8538         (window_unmap_subwindows): new functions. Unmap all subwindows
8539         cached on this window.
8540         (mark_window_as_deleted): unmap all subwindows.
8541
8542 2000-04-27  Andy Piper  <andy@xemacs.org>
8543
8544         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
8545
8546         * glyphs-widget.c (widget_layout): return something.
8547         (layout_layout): return something. Fail if not initialized.
8548         (layout_query_geometry): ditto.
8549         (image_instantiator_native_layout): new function. Initialized the
8550         native layout type.
8551         (widget_instantiate): don't do layout stuff here.
8552
8553         * glyphs.c (instantiate_image_instantiator): reorded calling or
8554         instantiate and post_instantiate with layout in between.
8555         (image_instance_layout): be more selective about deciding whether
8556         the layout has been done or not.
8557
8558         * glyphs.h (struct image_instantiator_methods): return a value
8559         from layout_method.
8560
8561 2000-04-26  Andy Piper  <andy@xemacs.org>
8562
8563         * glyphs.c (allocate_image_instance): make initial width and
8564         height unspecified. Set initialized to 0.
8565
8566         * syscommctrl.h new file. Encapsulates commctrl.h.
8567
8568         * syswindows.h new file. Encapsulates windows.h.
8569
8570         * ntplay.c: use new syswindows.h and syscommctrl.h header.
8571         * nt.c: ditto.
8572         * console-msw.h: ditto.
8573
8574         * redisplay-tty.c (tty_output_display_block): remove layout references.
8575
8576         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
8577         window handle rather than just the frame.
8578
8579         * glyphs.c (mark_image_instance): remove layout references.
8580         (print_image_instance): ditto.
8581         (image_instance_equal): ditto.
8582         (image_instance_hash): ditto.
8583         (decode_image_instance_type): ditto.
8584         (encode_image_instance_type): ditto.
8585         (image_instantiate): ditto.
8586         (allocate_glyph): ditto.
8587         (Fimage_instance_height): ditto.
8588         (Fimage_instance_width): ditto.
8589         (update_subwindow): ditto.
8590
8591         * redisplay-x.c (x_output_display_block): recode for layouts as
8592         widgets.
8593
8594         * redisplay-output.c (redisplay_output_layout): recode for layouts
8595         as widgets.
8596         (compare_runes): remove layout references.
8597
8598         * redisplay-msw.c (mswindows_output_display_block): recode for
8599         layouts as widgets.
8600
8601         * glyphs-widget.c (image_instantiator_layout): remove
8602         layout_possible_dest_types.
8603         (layout_possible_dest_types): deleted.
8604
8605         * glyphs.h (image_instance_type): remove layout references.
8606         (struct Lisp_Image_Instance): ditto. Add initialized flag.
8607         (IMAGE_INSTANCE_INITIALIZED): new accessor.
8608         (XIMAGE_INSTANCE_INITIALIZED): ditto.
8609
8610 2000-04-25  Andy Piper  <andy@xemacs.org>
8611
8612         * glyphs-widget.c (image_instantiator_buttons):
8613         (image_instantiator_edit_fields):
8614         (image_instantiator_combo_box):
8615         (image_instantiator_scrollbar):
8616         (image_instantiator_progress_guage):
8617         (image_instantiator_tree_view):
8618         (image_instantiator_tab_control):
8619         (image_instantiator_labels):
8620         (image_instantiator_layout): call default post_instantiate method.
8621         (widget_post_instantiate): new function. Simply lays out the
8622         widgets.
8623
8624         * glyphs.h (struct image_instantiator_methods): add
8625         post_instantiate method.
8626
8627         * glyphs.c (instantiate_image_instantiator): add post_instantiate
8628         method calls.
8629
8630 2000-04-23  Andy Piper  <andy@xemacs.org>
8631
8632         * glyphs.h (struct image_instantiator_methods): add
8633         decode_domain_method.
8634         (struct Lisp_Image_Instance): remove subwindow frame - it can be
8635         derived from the domain.
8636         (IMAGE_INSTANCE_FRAME): new accessor.
8637         (XIMAGE_INSTANCE_FRAME): ditto.
8638
8639         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
8640         instead of _SUBWINDOW_FRAME.
8641         (finalize_image_instance): ditto.
8642         (Fimage_instance_foreground): ditto.
8643         (Fimage_instance_background): ditto.
8644         (image_instantiate): ditto.
8645         (update_subwindow_cachel): ditto.
8646         (update_subwindow): ditto.
8647         (unmap_subwindow): ditto.
8648         (map_subwindow): ditto
8649         (subwindow_instantiate): ditto.
8650         * glyphs-msw.c (mswindows_update_widget): ditto.
8651         (mswindows_progress_gauge_instantiate): ditto.
8652         (mswindows_tab_control_update): ditto.
8653         * glyphs-x.c (x_update_widget): ditto.
8654         (x_widget_instantiate): ditto.
8655         (x_tab_control_instantiate): ditto.
8656         (x_tab_control_update): ditto.
8657         * event-msw.c (mswindows_wnd_proc): ditto
8658
8659         * glyphs-widget.c (image_instantiator_layout): use
8660         subwindow_decode_domain.
8661         (image_instantiator_buttons): ditto.
8662         (image_instantiator_edit_fields): ditto.
8663         (image_instantiator_combo_box): ditto.
8664         (image_instantiator_scrollbar): ditto.
8665         (image_instantiator_progress_guage): ditto.
8666         (image_instantiator_tree_view): ditto.
8667         (image_instantiator_tab_control): ditto.
8668         (image_instantiator_labels): ditto.
8669         (image_instantiator_layout): ditto.
8670
8671         * glyphs.c: add instance error checking to many functions.
8672         (instantiate_image_instantiator): decode device from cache_domain.
8673         (image_instantiate): partially rewrite by using
8674         decode_image_instantiator_domain to determine what domain the
8675         instance needs to be cached in.
8676         (decode_image_instantiator_domain): new function. Determine what
8677         domain the image needs to be cached in.
8678         (check_window_subwindow_cache): new error checking function.
8679         (check_instance_cache_mapper): ditto.
8680         (check_image_instance_structure): ditto.
8681         (subwindow_decode_domain): new function. Encodes a window as a
8682         subwindow's cache domain.
8683         (image_instantiator_format_create): use it for text and
8684         subwindows.
8685
8686 2000-04-21  Andy Piper  <andy@xemacs.org>
8687
8688         * glyphs.c (image_instance_device): new function.
8689         (image_instance_frame): new function.
8690         (image_instance_window): new function.
8691         (image_instance_live_p): new function.
8692
8693         * window.c (mark_window_as_deleted): reset the subwindow_instance_
8694         cache to nil.
8695
8696         * glyphs.h (struct Lisp_Image_Instance): device->domain.
8697         (IMAGE_INSTANCE_DOMAIN): new accessor.
8698         (XIMAGE_INSTANCE_DOMAIN): ditto.
8699
8700         * glyphs-x.c (x_finalize_image_instance): device->domain.
8701
8702         * glyphs-msw.c (init_image_instance_geometry): device->domain.
8703         (mswindows_finalize_image_instance): ditto.
8704
8705         * glyphs-eimage.c (jpeg_instantiate): device->domain.
8706         (gif_instantiate): ditto.
8707         (png_instantiate): ditto.
8708         (tiff_instantiate): ditto.
8709
8710         * glyphs.c (instantiate_image_instantiator): use domain rather
8711         than device.
8712         (mark_image_instance): device -> domain.
8713         (print_image_instance): ditto.
8714         (finalize_image_instance): ditto.
8715         (image_instance_equal): ditto.
8716         (allocate_image_instance): ditto.
8717         (Fcolorize_image_instance): ditto.
8718         (query_string_geometry): ditto.
8719         (image_instantiate): ditto
8720         (query_string_font): ditto.
8721         (image_instantiate): ditto.
8722         (update_subwindow): ditto.
8723         (unmap_subwindow): ditto.
8724         (map_subwindow): ditto.
8725         (subwindow_instantiate): ditto.
8726
8727         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
8728         (DOMAIN_FRAME): ditto.
8729         (DOMAIN_WINDOW): ditto.
8730         (DOMAIN_LIVE_P): ditto.
8731         (XDOMAIN_DEVICE): ditto.
8732         (XDOMAIN_FRAME): ditto.
8733         (XDOMAIN_WINDOW): ditto.
8734
8735         * specifier.c (Fvalid_specifier_domain_p): add image instances as
8736         a valid specifier domain.
8737
8738 2000-04-19  Andy Piper  <andy@xemacs.org>
8739
8740         * glyphs-widget.c (syms_of_glyphs_widget): remove
8741         widget-callback-current-channel.
8742         (vars_of_glyphs_widget): ditto.
8743         * glyphs.h: ditto
8744
8745         * gui.c (get_gui_callback): revert to previous behaviour.
8746
8747 2000-04-18  Andy Piper  <andy@xemacs.org>
8748
8749         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
8750         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
8751         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
8752
8753         * glyphs.c (image_instance_equal): add margin_width.
8754         (image_instance_hash): ditto.
8755
8756         * glyphs-widget.c (widget_instantiate): deal with margin-width.
8757         (layout_query_geometry): ditto.
8758         (layout_layout): ditto.
8759         (syms_of_glyphs_widget): add margin-width.
8760         (image_instantiator_layout): allow margin-width.
8761
8762         * glyphs.c (update_widget_instances): make a normal function.
8763         (syms_of_glyphs): remove Qupdate_widget_instances.
8764         * glyphs.h: ditto.
8765
8766         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
8767         so that we don't corrupt ideas about the last event or
8768         command. Remove widget-callback-current-channel fiddling.
8769         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8770
8771 2000-05-01  Martin Buchholz <martin@xemacs.org>
8772
8773         * XEmacs 21.2.33 is released.
8774
8775 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
8776
8777         * make-src-depend: Allow dots in header file name.
8778
8779 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
8780
8781         * mule-charset.h (struct charset_lookup): Add
8782         next_allocated_1_byte_leading_byte and
8783         next_allocated_2_byte_leading_byte.
8784         * mule-charset.c: Move above two variables so that those values
8785         will be dumped.
8786
8787 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
8788
8789         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
8790         when string length is zero.
8791         (find_charsets_in_emchar_string): Ditto.
8792
8793 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
8794
8795         * lisp.h: extern Qdialog and Qmenubar.
8796
8797         * gui-x.c: added events.h.
8798                 also fixed typo which made the file uncompilable.
8799
8800         * general.c: Added Qmenubar and Qdialog
8801
8802 2000-04-28  Ben Wing  <ben@xemacs.org>
8803
8804         * frame-msw.c (mswindows_init_frame_1):
8805         * frame-msw.c (mswindows_mark_frame):
8806         * event-msw.c (mswindows_enqueue_dispatch_event):
8807         * console-msw.h:
8808         * console-msw.h (struct mswindows_frame):
8809         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
8810         there are now three hash tables for callbacks.
8811         mswindows_enqueue_dispatch_event is no longer static.
8812
8813         * dialog-x.c (maybe_run_dbox_text_callback):
8814         * dialog-x.c (dbox_descriptor_to_widget_value):
8815         switch to new cons3 form for callbacks.
8816
8817         * glyphs-msw.c (mswindows_register_gui_item):
8818         * glyphs-msw.c (mswindows_widget_instantiate):
8819         * glyphs-msw.c (add_tree_item):
8820         * glyphs-msw.c (add_tab_item):
8821         new image instance parameter, so it can be passed to callback-ex.
8822         respect :callback-ex as well as :callback.
8823
8824         * glyphs-widget.c (VALID_GUI_KEYWORDS):
8825         add :callback-ex.
8826
8827         * glyphs.c (print_image_instance):
8828         prettify, e.g. now prints widget type.
8829
8830         * gui-x.h:
8831         certain funs have new image instance parameter.
8832
8833         * gui.c:
8834         * gui.c (get_gui_callback):
8835         * gui.c (gui_item_add_keyval_pair):
8836         * gui.c (gui_item_init):
8837         * gui.c (gui_add_item_keywords_to_plist):
8838         * gui.c (mark_gui_item):
8839         * gui.c (gui_item_hash):
8840         * gui.c (gui_item_equal):
8841         * gui.c (copy_gui_item):
8842         * gui.c (syms_of_gui):
8843         recognize callback-ex in a number of places.
8844         also, fix the annoying "can't get out of yes-no dialog" bug.
8845
8846         * gui.h:
8847         * gui.h (struct Lisp_Gui_Item):
8848         recognize callback-ex in a number of places.
8849
8850         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8851         new parameter in button_item_to_widget_value.
8852
8853         * glyphs-x.c (x_update_widget):
8854         * glyphs-x.c (x_button_instantiate):
8855         * glyphs-x.c (x_button_update):
8856         * glyphs-x.c (x_progress_gauge_instantiate):
8857         * glyphs-x.c (x_edit_field_instantiate):
8858         * glyphs-x.c (x_combo_box_instantiate):
8859         * glyphs-x.c (x_tab_control_instantiate):
8860         * glyphs-x.c (x_label_instantiate):
8861         new image instance parameter in various places.
8862
8863         * event-Xt.c:
8864         * event-Xt.c (enqueue_Xt_dispatch_event):
8865         this fun gets exported.
8866
8867         * gui-msw.c:
8868         * gui-msw.c (mswindows_handle_gui_wm_command):
8869         handle both :callback and :callback-ex, and generate our own
8870         event because it's one of the callback-ex arguments.
8871
8872         * gui-x.c:
8873         * gui-x.c (popup_selection_callback):
8874         handle both :callback and :callback-ex, and generate our own
8875         event because it's one of the callback-ex arguments.
8876         * gui-x.c (button_item_to_widget_value):
8877         * gui-x.c (gui_items_to_widget_values_1):
8878         * gui-x.c (gui_item_children_to_widget_values):
8879         * gui-x.c (gui_items_to_widget_values):
8880         new image instance parameter in various places.
8881
8882         * fns.c (Freplace_list):
8883         fix small typo in doc string.
8884
8885         * lisp.h:
8886         declare enqueue_Xt_dispatch_event.
8887
8888 2000-04-28  Ben Wing  <ben@xemacs.org>
8889
8890         * buffer.c:
8891         * buffer.c (Frecord_buffer):
8892         * buffer.c (syms_of_buffer):
8893         delete record-buffer-hook.
8894
8895         * fns.c:
8896         * fns.c (Freplace_list):
8897         * fns.c (syms_of_fns):
8898         new primitive replace-list.
8899
8900         * frameslots.h:
8901         slot for old buffer-alist.
8902
8903         * lisp.h:
8904         exfun replace-list.
8905
8906         * redisplay.c:
8907         * redisplay.c (redisplay_frame):
8908         * redisplay.c (syms_of_redisplay):
8909         * redisplay.c (vars_of_redisplay):
8910         new hook buffer-list-changed-hook.
8911         call it.
8912
8913 2000-04-27  Ben Wing  <ben@xemacs.org>
8914
8915         * extents.h: extern in_modeline_generation.
8916
8917         * redisplay.c (generate_formatted_string_db): set
8918         in_modeline_generation.
8919
8920         * extents.c (extent_changed_for_redisplay): don't mark redisplay
8921         flags if in modeline generation.  otherwise frame-modified-tick
8922         is ticked far too often.
8923         Declare in_modeline_generation.
8924
8925 2000-04-26  Ben Wing  <ben@xemacs.org>
8926
8927         * emacs.c (vars_of_emacs): document quick-build "error-checking"
8928         option.
8929         (vars_of_emacs): add quick-build as an error-checking option.
8930         A bit kludgy, but there doesn't seem much point in creating
8931         a real var for this.
8932
8933         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
8934
8935 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
8936
8937         * redisplay.h (struct display_line): Add a new variable,
8938         line_continuation.
8939
8940         * redisplay.c (create_text_block): Set dl->line_continuation if
8941         the line continues.
8942         (create_string_text_block): Ditto.
8943         (regenerate_window_incrementally): Use line_continuation instead
8944         of searching continuation glyph.
8945         (add_margin_runes): Call add_glyph_rune.
8946         (add_glyph_rune): Handle margin glyph.
8947
8948 2000-04-20  Martin Buchholz  <martin@xemacs.org>
8949
8950         * filelock.c (fill_in_lock_file_name):
8951         ANSIfy.
8952         Check for IS_ANY_SEP instead of '/'.
8953         (lock_file_1):
8954         Avoid generating gratuitous garbage.  Call user_login_name() directly.
8955         Never check errno without first seeing that system call failed.
8956         (unlock_file): Add GCPRO.
8957         (Flock_buffer): Fix docstring.
8958         (Ffile_locked_p): Fix docstring.  Add GCPRO.
8959
8960 2000-04-19  Martin Buchholz  <martin@xemacs.org>
8961
8962         * sysdep.c (get_pty_max_bytes):
8963         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
8964         strings longer than 252 bytes.
8965
8966         * md5.c: Unconditionally include ANSI header <limits.h>
8967
8968         * glyphs-x.c (convert_EImage_to_XImage):
8969         * lisp-union.h (union Lisp_Object):
8970         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
8971
8972 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8973
8974         * filelock.c (current_lock_owner): Remove unused variable o, p.
8975
8976 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
8977
8978         * callint.c: Remove multiply defined symbol Qlet
8979         (syms_of_callint): ditto.
8980
8981 2000-04-14  Andy Piper  <andy@xemacs.org>
8982
8983         * general.c (syms_of_general): add last-command, this-command, let
8984         and funcall.
8985
8986         * lisp.h: declare various symbols.
8987
8988         * glyphs.h: declare Qwidget_callback_current_channel;
8989
8990         * glyphs-widget.c (syms_of_glyphs_widget): add
8991         Qgui_callback_current_channel.
8992         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
8993
8994         * gui-msw.c (mswindows_handle_gui_wm_command): bind
8995         widget-callback-current-channel when invoking the interactive
8996         arg. Also bind last-command and next-command when invoking the
8997         widget updates.
8998         * gui-x.c (popup_selection_callback): ditto.
8999
9000         * gui.c (get_gui_callback): massage args so that we are always
9001         calling eval. This allows us to add our own variable bindings
9002         outside.
9003
9004         * glyphs-x.c (x_button_instantiate): use
9005         gui_items_to_widget_values since this is GC safe.
9006         (x_progress_gauge_instantiate): ditto.
9007         (x_edit_field_instantiate): ditto.
9008         (x_label_instantiate): ditto.
9009
9010         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
9011         (emacs_Xt_event_widget_focus_out): new function
9012         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
9013         focus.
9014         (emacs_Xt_event_add_widget_actions): new function. add focus
9015         functions as actions.
9016         (init_event_Xt_late): use it.
9017
9018 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
9019
9020         * event-stream.c (Fdispatch_event): Doc fix.
9021
9022 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
9023
9024         * postgresql.c: Remove all references to PQsetenv*.
9025
9026         * postgresql.h: Remove references to PGsetenvHandler object.
9027         * lrecord.h (lrecord_type): Ditto.
9028
9029 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
9030
9031         * glyphs-msw.h (struct mswindows_image_instance_data): Added
9032         real_heigh and real_width members, and accessor macros for these.
9033
9034         * glyphs-msw.c (init_image_instance_geometry): New function.
9035         (init_image_instance_from_dibitmap): Use it.
9036         (mswindows_resource_instantiate): Use it.
9037         (init_image_instance_from_xbm_inline): Use it.
9038         (mswindows_initialize_image_instance_mask): Use real bitmap
9039         geometry.
9040         (mswindows_create_resized_bitmap): Ditto.
9041         (mswindows_create_resized_mask): Ditto.
9042
9043         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
9044         and bitmap to their surface size.
9045
9046 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
9047
9048         * process-unix.c (unix_send_process): Guard against process MIA
9049         after Faccept_process_output.
9050
9051 2000-04-11  Ben Wing  <ben@xemacs.org>
9052
9053         * eval.c (unbind_to_hairy): fix brokenness introduced by
9054         nanosecond speed improvements.
9055
9056 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
9057
9058         * sunplay.c (init_device): To play sounds correctly, the device
9059         apparently needs to be initialized at least once by XEmacs.  Make
9060         it so.
9061
9062 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9063
9064         * redisplay.c (add_margin_runes): Add text image glyph
9065           handling.
9066
9067 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
9068
9069         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
9070         gcc is newer than 2.5.
9071
9072 2000-04-06  Colin Rafferty  <colin@xemacs.org>
9073
9074         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
9075
9076         * fns.c (size_bit_vector):
9077         * alloc.c (size_vector):
9078         (make_vector_internal):
9079         (make_bit_vector_internal):
9080         (sweep_bit_vectors_1):
9081         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
9082
9083 2000-04-06  Andy Piper  <andy@xemacs.org>
9084
9085         * gmalloc.c (malloc): undo previous change.
9086         (malloc): ditto.
9087         (free): ditto.
9088         (realloc): ditto.
9089
9090 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
9091
9092         * line-number.c (buffer_line_number): Revert to former version.
9093
9094 2000-04-06  Andy Piper  <andy@xemacs.org>
9095
9096         * gmalloc.c (malloc): add error checking.
9097         (malloc): ditto.
9098         (free): ditto.
9099         (realloc): ditto.
9100
9101         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
9102         button_item_to_widget_value arg.
9103
9104         * glyphs-x.c (x_button_instantiate): add extra
9105         button_item_to_widget_value arg.
9106         (x_progress_gauge_instantiate): ditto.
9107         (x_edit_field_instantiate): ditto.
9108         (x_label_instantiate): ditto.
9109
9110         * gui-x.c (gui_items_to_widget_values_1): add extra
9111         button_item_to_widget_value arg.
9112         (button_item_to_widget_value): add extra menu_item_p arg.
9113
9114         * gui-x.h: change signature of button_item_to_widget_value.
9115
9116         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
9117         button_item_to_widget_value arg.
9118
9119 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9120
9121         * buffer.h (struct buffer): auto_save_modified should be long.
9122
9123 2000-04-05  Andy Piper  <andy@xemacs.org>
9124
9125         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
9126         type.
9127         (button_query_geometry): give a little more room so that athena
9128         buttons fit.
9129
9130 2000-04-05  Andy Piper  <andy@xemacs.org>
9131
9132         * faces.c (complex_vars_of_faces): The widget face should inherit
9133         the font of the gui-element face.
9134
9135 2000-04-04  Andy Piper  <andy@xemacs.org>
9136
9137         * glyphs-x.c (x_button_update): new function. unconditionally
9138         update a button's state when the instance is dirty.
9139         (image_instantiator_format_create_glyphs_x): add x_button_update.
9140         (x_widget_instantiate): remove old resize cruft.
9141
9142 2000-04-02  Andy Piper  <andy@xemacs.org>
9143
9144         * frame.c (change_frame_size_1): The introduction of gutters means
9145         that we need to allow 0 as a potential frame dimension.
9146
9147 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9148
9149         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
9150         image glyph if allow_cursor.
9151         (add_hscroll_rune): Don't allow cursor to border glyph.
9152         (create_text_block): Ditto.
9153
9154         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
9155         text not in buffer.
9156         (redisplay_output_layout): Call ensure_face_cachel_complete for
9157         text image glyph.
9158
9159
9160 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9161
9162         * redisplay.c (add_glyph_rune): Adding text image as text runes.
9163
9164         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
9165         not in buffer
9166
9167         * redisplay-tty.c (tty_output_display_block): Delete the routine
9168         for text image glyph
9169         * redisplay-x.c (x_output_display_block): ditto
9170         * redisplay-msw.c (mswindows_output_display_block): ditto
9171
9172 2000-02-02  Mike Alexander  <mta@arbortext.com>
9173
9174         Note: Some of these were committed by accident as part of other
9175         patches.
9176
9177         * regex.c (regex_compile): Avoid compiler warnings.
9178
9179         * ntproc.c (sys_spawnve): Avoid compiler warnings.
9180
9181         * nt.h: Declare term_ntproc correctly.
9182
9183         * nt.c: Remove incorrect declaration of get_home_directory which
9184         is declared correctly in lisp.h.
9185
9186         * keymap.c (get_keyelt): Avoid compiler warnings.
9187         (raw_lookup_key_mapper): Avoid compiler warnings.
9188
9189         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
9190
9191         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
9192
9193         * filemode.c (mode_string): Avoid compiler warnings.
9194
9195         * file-coding.c (Fcoding_system_aliasee): Add return statement to
9196         avoid warning.
9197
9198         * events-mod.h: Undef some things that winuser.h defines differently.
9199
9200         * data.c (Faset): Avoid compiler warnings.
9201
9202         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
9203
9204 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9205
9206         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
9207         Fall through to simple beep on error.
9208         Replace "extern" by real header file.
9209
9210         * linuxplay.c: Use nativesound.h
9211         (play_sound_data): Return error code. Be less verbose on error.
9212
9213         * sunplay.c: Use nativesound.h
9214         (play_sound_data): Return error code. Be less verbose on error.
9215
9216         * ntplay.c: Use nativesound.h
9217         (play_sound_data): Return fake error code
9218
9219         * sgiplay.c: Use nativesound.h
9220         (play_sound_data): Return error code
9221
9222         * hpplay.c: Use nativesound.h, partially implement
9223         new error code. Break compilation until finished.
9224         (play_sound_data): error code.
9225
9226         * nativesound.h (play_sound_file):
9227           (play_sound_data): Prototype in new header.
9228
9229 2000-03-31  Andy Piper  <andy@xemacs.org>
9230
9231         * glyphs-widget.c: (button_query_geometry): new function. Adjust
9232         for toggle and radio buttons.
9233         (image_instantiator_buttons): use it.
9234
9235 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
9236
9237         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
9238         (x_update_horizontal_scrollbar_callback): Return if no mirror was
9239         found. Scrollbar event probably belonged to some old config.
9240
9241 2000-03-31  Andy Piper  <andy@xemacs.org>
9242
9243         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
9244         than 1.
9245         (initialize_widget_image_instance): default layout to
9246         LAYOUT_HORIZONTAL rather than 0.
9247         (widget_instantiate): reverse the item list at the end rather than
9248         every iteration.
9249         (layout_layout): re-code for the border text at the front of the
9250         item list rather than at the end.
9251         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
9252         provided by the user.
9253         (widget_query_geometry): comment.
9254
9255 2000-03-30  Andy Piper  <andy@xemacs.org>
9256
9257         * glyphs-widget.c (image_instantiator_layout): allow standard
9258         widget keywords in layouts.
9259
9260         * gutter.c (output_gutter): cope with nil gutter contents.
9261
9262         * frame.c (Fset_frame_properties): add gutter docs.
9263
9264 2000-03-29  Andy Piper  <andy@xemacs.org>
9265
9266         * toolbar-msw.c (TBSTYLE_FLAT): add.
9267         (mswindows_output_toolbar): minor fiddling.
9268
9269 2000-03-29  Andy Piper  <andy@xemacs.org>
9270
9271         * gutter.c (output_gutter): force gutter size recalculation if
9272         what we are trying to display won't fit.
9273         (update_gutter_geometry): new function. A per-gutter version of
9274         update_frame_gutter_geometry.
9275         (update_frame_gutter_geometry): use it.
9276         (redraw_exposed_gutter): add extra debugging output.
9277
9278 2000-03-28  Mike Alexander  <mta@arbortext.com>
9279
9280         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
9281         (pdump_file_unmap): Implement it on Windows
9282         (pdump_file_get): Save alocated handles for pdump_file_unmap
9283
9284 2000-03-28  Andy Piper  <andy@xemacs.org>
9285
9286         * gui.c (get_gui_callback): treat Quit specially.
9287
9288 2000-03-27  Andy Piper  <andy@xemacs.org>
9289
9290         * glyphs.c (image_instantiate): be careful to check in the same
9291         way we assigned.
9292
9293 2000-03-27  Didier Verna  <didier@xemacs.org>
9294
9295         * config.h.in: define the proper SMART_INCLUDE macro.
9296         handle renaming of `foo_h_path' to `foo_h_file'.
9297
9298         * database.c: ditto.
9299
9300         * emacs.c: ditto.
9301
9302         * linuxplay.c: ditto.
9303
9304         * terminfo.c: ditto.
9305
9306         * tooltalk.h: ditto.
9307
9308 2000-03-27  Andy Piper  <andy@xemacs.org>
9309
9310         * glyphs-msw.c (mswindows_update_widget): make sure the widget
9311         gets updated whenever the face might have changed.
9312
9313 2000-03-26  Mike Alexander  <mta@arbortext.com>
9314
9315         * dumper.c (pdump_resource_free): Fix the comment.
9316
9317 2000-03-21  Olivier Galibert  <galibert@pobox.com>
9318
9319         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
9320
9321 2000-03-22  Mike Alexander  <mta@arbortext.com>
9322
9323         * dumper.c: Include Windows headers on Windows
9324         (pdump_resource_free): Add a body to the function
9325         (pdump_load): exe_name -> exe_path and add some comments.
9326
9327 2000-03-25  Mike Alexander  <mta@arbortext.com>
9328
9329         * gui.c (copy_gui_item_tree): Return a value in all cases
9330
9331 2000-03-21  Didier Verna  <didier@xemacs.org>
9332
9333         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
9334         lwlib/config.h.in.
9335         (SMART_INCLUDE): new macro.
9336         (POSTGRES_INCLUDE): new macro to include postgresql headers from
9337         the proper location.
9338
9339         * postgresql.c: use it.
9340
9341         * inline.c: ditto.
9342
9343 2000-03-24  Andy Piper  <andy@xemacs.org>
9344
9345         * gutter.c (redraw_exposed_gutters): must be "in display" when we
9346         do this.
9347
9348 2000-03-24  Andy Piper  <andy@xemacs.org>
9349
9350         * redisplay-output.c (compare_runes): use image_instance_changed
9351         to detect changes. Do not depend on glyphs_changed, only depend on
9352         dirtiness.
9353          (redisplay_output_layout): add debug messages.
9354         (compare_runes): ditto.
9355
9356         * glyphs.h: declare new functions.
9357         (struct Lisp_Image_Instance): remove percent and associated
9358         accessors.
9359
9360         * gui.h: declare new copying functions.
9361
9362         * gui.c (copy_gui_item_tree): new function.
9363         (copy_gui_item): new function.
9364         (gui_item_id_hash): revert to standard hash.
9365         (gui_item_hash): ditto.
9366         (gui_item_hash_internal): deleted.
9367         (mark_gui_item): mark value.
9368         (gui_item_add_keyval_pair): add value.
9369         (gui_item_init): ditto.
9370         (gui_add_item_keywords_to_plist): ditto.
9371         (gui_item_equal): ditto.
9372         (syms_of_gui): add Q_value.
9373
9374         * glyphs-x.c (x_progress_gauge_update): use pending items and
9375         value for setting the state.
9376         (x_update_widget): don't set items from pending here.
9377
9378         * glyphs-widget.c (update_widget): update items here.
9379         (progress_gauge_set_property): use items for storing value. Put
9380         new value in pending items.
9381
9382         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
9383         items for new value. Convert percent -> value.
9384         (mswindows_tab_control_update): don't update items here.
9385
9386         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
9387         (update_subwindow): ditto.
9388         (image_instance_changed): new function. Compare hash values and
9389         past and present widget items.
9390         (image_instantiate): We more careful about where we instantiate
9391         things.
9392         (image_instantiate): add error checking.
9393
9394         * gutter.c (syms_of_gutter): use -hook.
9395
9396 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
9397
9398         * console-tty.c (Fset_console_tty_input_coding_system): Use
9399         Qkeyboard.
9400         (Fset_console_tty_output_coding_system): Use Qterminal.
9401         (tty_init_console): Use Qkeyboard and Qterminal.
9402
9403 2000-03-21  Ben Wing  <ben@xemacs.org>
9404
9405         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
9406         From Mike Alexander <mta@arbortext.com>.
9407
9408 2000-03-21  Ben Wing  <ben@xemacs.org>
9409
9410         * event-msw.c (mswindows_need_event): Horrible kludge to fix
9411         process brokenness.  Proper implementation to come.
9412         * callproc.c:
9413         Rename call-process-internal to old-call-process-internal.
9414         New impl. in process.el.
9415
9416 2000-03-21  Martin Buchholz  <martin@xemacs.org>
9417
9418         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
9419
9420 2000-03-20  Andy Piper  <andy@xemacs.org>
9421
9422         * glyphs.c (full_list_hash): make hashes of the same elements in
9423         different orders return different values.
9424
9425 2000-03-20  Martin Buchholz <martin@xemacs.org>
9426
9427         * XEmacs 21.2.32 is released.
9428
9429 2000-03-20  Martin Buchholz  <martin@xemacs.org>
9430
9431         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
9432         (DFC_MALLOC_USE_CONVERTED_DATA):
9433         Add aliasing-safe casts to allow use with char* or unsigned char*
9434         lvalues.
9435
9436         * eldap.c (Fldap_open):
9437         (Fldap_search_basic):
9438         (Fldap_add):
9439         (Fldap_modify):
9440         Make C++-compilable.
9441         Make sure GCPRO'ed variables are initialized.
9442         Use temp variables to avoid repeated calls to Flength.
9443
9444 2000-03-16  Martin Buchholz  <martin@xemacs.org>
9445
9446         * sysfile.h:
9447         Make sure PATH_MAX is always defined.
9448         Include limits.h for PATH_MAX.
9449         Deprecate use of MAXPATHLEN.
9450
9451 2000-03-10  Martin Buchholz  <martin@xemacs.org>
9452
9453         * emacs.c: Add reinit_vars_of_fileio.
9454         * symsinit.h: Add reinit_vars_of_fileio.
9455         * fileio.c (reinit_vars_of_fileio): New.
9456         * fileio.c (Fmake_temp_name):
9457         Initialize temp_name random number from microseconds to make
9458         collisions even less likely.  Initialize always at process startup
9459         time.  (make-temp-name) used to return the same file name twice in
9460         a row when PDUMP.
9461         Random stylistic fiddling.
9462         Comment fixes.
9463
9464 2000-03-20  Andy Piper  <andy@xemacs.org>
9465
9466         * glyphs.c (image_instantiate): allow text glyphs to be
9467         instantiated in the minibuffer window.
9468
9469 2000-03-19  Andy Piper  <andy@xemacs.org>
9470
9471         * glyphs.c (image_instance_hash): be careful about which items we
9472         hash on.
9473
9474         * glyphs-widget.c (tab_control_set_property): record into pending
9475         items rather than the actual items.
9476
9477         * glyphs-x.c (x_update_widget): use pending items to update with.
9478
9479         * glyphs-msw.c (mswindows_tab_control_update): use pending items
9480         to update with.
9481
9482         * glyphs.c (mark_image_instance): mark pending items.
9483
9484         * window.c (Fset_window_configuration): record the buffer.
9485         (Fselect_window): totally revert previous change which breaks many
9486         things.
9487
9488 2000-03-18  Andy Piper  <andy@xemacs.org>
9489
9490         * glyphs-msw.c (mswindows_tab_control_update): force selected
9491         item.
9492
9493         * glyphs.c (image_instantiate): don't allow the minibuffer as a
9494         window domain cache, otherwise we get inconsistencies at
9495         startup. There is something fishy at startup which can lead to the
9496         minibuffer being the selected window when the gutter content is
9497         instantiated.
9498
9499         * gui.c (parse_gui_item_tree_list): add probably unnecessary
9500         gcpros.
9501         (parse_gui_item_tree_children): ditto.
9502         (parse_gui_item_tree_item): ditto.
9503
9504         * glyphs.c (Fupdate_widget_instances): return something.
9505
9506 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9507
9508         * window.c (Fselect_window): Undo 2000-03-17 change.
9509
9510 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
9511
9512         * postgresql.c (Fpq_setenv): Remove this turkey when linking
9513         against v7.0 libraries.  Insta-coredump city until the postgres
9514         folks fix it.
9515
9516 2000-03-17  Andy Piper  <andy@xemacs.org>
9517
9518         * faces.c (complex_vars_of_faces): don't give the widget face an
9519         inherited background pixmap.
9520
9521         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
9522         selected item.
9523
9524         * event-stream.c (Fdispatch_non_command_events): return something.
9525
9526         * gutter.c (output_gutter): use widget face.
9527         (clear_gutter): ditto.
9528
9529         * NEWS: adjust again.
9530
9531         * window.c (Fselect_window): make sure this runs to completion to
9532         avoid oddities with Fset_window_configuration.
9533         (Fcurrent_window_configuration): in general do not save the
9534         minibuffer as the selected window.
9535
9536         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
9537
9538 2000-03-16  Olivier Galibert  <galibert@pobox.com>
9539
9540         * emacs.c (Frunning_temacs_p): Revert previous patch.
9541         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
9542
9543 2000-03-16  Andy Piper  <andy@xemacs.org>
9544
9545         * glyphs-x.c (x_tab_control_update): if no widget values then
9546         return.
9547
9548         * NEWS: update for new features.
9549
9550         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
9551         synthetic event to the native system.
9552         (reinit_vars_of_event_Xt): set force_event_pending to
9553         emacs_Xt_force_event_pending.
9554
9555         * events.h (struct event_stream): add force_event_pending.
9556
9557         * specifier.c (recompute_one_cached_specifier_in_window): add
9558         comment.
9559
9560         * redisplay.c (redisplay_frame): don't call
9561         update_frame_subwindows. Reset subwindow cachels when
9562         subwindows_changed, removing this was an optimization too far.
9563
9564         * redisplay-output.c (compare_runes): reorganize so that we catch
9565         glyph changes when we want them. Set optimize_output when this
9566         would help layouts.
9567         (redisplay_output_layout): remove frame_really_changed, use
9568         optimize_output instead.
9569
9570         * redisplay-msw.c (mswindows_output_display_block): reset
9571         optimize_output after outputting a glyph.
9572         * redisplay-x.c (x_output_display_block): ditto.
9573         * redisplay-tty.c (tty_output_display_block): ditto.
9574
9575         * gutter.c: (specifier_vars_of_gutter): use new spec changed
9576         functions.
9577         (gutter_specs_changed): do specific gutter positions.
9578         (top_gutter_specs_changed): new function. Only update the
9579         specified gutter specs.
9580         (bottom_gutter_specs_changed): ditto.
9581         (left_gutter_specs_changed): ditto.
9582         (right_gutter_specs_changed): ditto.
9583
9584         * gui.c (gui_item_hash_internal): new function, does a real hash.
9585         (gui_item_id_hash): use it.
9586         (gui_item_hash): hash the eval'ed gui_item.
9587
9588         * gui-x.c (popup_selection_callback): send an eval event to call
9589         Fupdate_widget_instances.
9590
9591         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
9592         to call Fupdate_widget_instances.
9593
9594         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
9595         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
9596
9597         * glyphs.c: (update_frame_subwindows): deleted.
9598         (Fupdate_widget_instances): new function for updating the dirty
9599         state of widgets that might have changed.
9600         (syms_of_glyphs): add Qupdate_widget_instances.
9601         (full_list_hash): hash a list completely.
9602         (image_instance_hash): use it for items and properties.
9603
9604         * frame-msw.c (mswindows_size_frame_internal): remove unused
9605         variable.
9606
9607         * faces.h (struct face_cachel): fix comment.
9608
9609         * event-stream.c (Fdispatch_non_command_events): new
9610         function. Process non-command events, forcing an event cycle
9611         beforehand.
9612         (syms_of_event_stream): declare.
9613         (event_stream_force_event_pending): new function. Force an event
9614         on the native event queue so that an event cycle will occur next
9615         time we check.
9616
9617         * event-msw.c:
9618         (struct ntpipe_shove_stream):
9619         (mswindows_enqueue_dispatch_event):
9620         (mswindows_dequeue_dispatch_event):
9621         (mswindows_cancel_dispatch_event):
9622         (mswindows_pump_outstanding_events):
9623         (mswindows_drain_windows_queue):
9624         (mswindows_handle_paint):
9625         (mswindows_wnd_proc):
9626         (mswindows_key_to_emacs_keysym):
9627         (get_process_input_waitable):
9628         (emacs_mswindows_delete_stream_pair): re-indent file.
9629         (mswindows_need_event): do not process further fds if the windows
9630         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
9631         fixes the 100% cpu problem.
9632         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
9633
9634 2000-03-15  Olivier Galibert  <galibert@pobox.com>
9635
9636         * alloc.h: New.
9637         * dumper.h: New.
9638         * dumper.c: New.
9639
9640         * emacs.c: Moved dump file searching to dumper.c.
9641         (Frunning_temacs_p): Fixed.
9642
9643         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
9644         last_lrecord_type_index_assigned.
9645
9646 2000-02-20  Olivier Galibert  <galibert@pobox.com>
9647
9648         * symsinit.h: Added reinit parameter to init_console_stream
9649         declaration.
9650
9651         * lisp.h: Added file parameter to pdump_load declaration.
9652
9653         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
9654         support.  Added dump file searching.
9655
9656         * config.h.in: Added EMACS_PROGNAME.
9657
9658         * console-stream.c (init_console_stream): Fix reinitialisation
9659         when running from temacs.
9660
9661         * alloc.c (pdump): Add id support.
9662         (pdump_load): Add file parameter and signature/id support.
9663
9664         * Makefile.in.in: Add full pdump support.
9665
9666 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
9667
9668         * postgresql.c: Update documentation to reflect latest code
9669         status.
9670         (print_result): Show tuple counts in printed representation when
9671         appropriate.
9672         (Fpq_put_nbytes): MULE-ize.
9673         (Fpq_get_line_async): Ditto.
9674
9675 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9676
9677         * postgresql.c (Fpq_lo_import): Fix return value.
9678         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
9679
9680 2000-03-13  Ben Wing  <ben@xemacs.org>
9681
9682         * alloc.c (pdump_load):
9683         Fix compile warning under mswin.
9684
9685 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
9686
9687         * postgresql.c: Mule-ization, bug fixes.
9688         Use PG_CODING to encapsulate coding system name changes.
9689         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
9690         (pg-coding-system): Create.
9691
9692         (Fpq_conn_defaults): Mule-ize.
9693         (Fpq_connectdb): Mule-ize & bug fix.
9694         (Fpq_connect_start): Mule-ize.
9695         (Fpq_set_client_encoding): Mule-ize.
9696         (Fpq_finish): Document `DEAD' connection status.
9697         (Fpq_clear): Ditto.
9698         (Fpq_pgconn): Mule-ize.
9699         (Fpq_exec): Mule-ize & bug fix.
9700         (Fpq_send_query): Ditto.
9701         (Fpq_get_result): Ditto.
9702         (Fpq_res_status): Mule-ize.
9703         (Fpq_result_error_message): Mule-ize.
9704         (Fpq_ntuples): fix comments.
9705         (Fpq_fname): Mule-ize.
9706         (Fpq_fnumber): Mule-ize.
9707         (Fpq_ftype): fix comments.
9708         (Fpq_get_value): Mule-ize.
9709         (Fpq_cmd_status): Ditto.
9710         (Fpq_cmd_tuples): Ditto.
9711         (Fpq_oid_value): Ditto.
9712         (Fpq_notifies): Ditto.
9713         (Fpq_lo_import): Ditto.
9714         (Fpq_lo_export): Ditto.
9715         (Fpq_get_line): Ditto.
9716         (Fpq_put_line): Mule-ize and bug fix.
9717         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
9718
9719 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
9720
9721         * postgresql.c (vars_of_postgresql): Mule-ize.
9722         (Fpq_conn_defaults): Ditto.
9723
9724 2000-03-12  Ben Wing  <ben@xemacs.org>
9725
9726         * alloc.c (Fmake_byte_code):
9727         * alloc.c (debug_string_purity_print):
9728         * alloc.c (pdump_backtrace):
9729         * alloc.c (pdump_get_indirect_count):
9730         * alloc.c (pdump_register_sub):
9731         * alloc.c (pdump_register_object):
9732         * alloc.c (pdump_register_struct):
9733         * alloc.c (pdump_dump_data):
9734         * alloc.c (pdump_reloc_one):
9735         Minor cleanups.
9736
9737         * console-msw.c:
9738         * console-msw.c (GetConsoleHwnd):
9739         * console-msw.c (msw_hide_console):
9740         * console-msw.c (msw_show_console):
9741         * console-msw.c (msw_ensure_console_buffered):
9742         * console-msw.c (msw_output_console_string):
9743         * console-msw.c (console_type_create_mswindows):
9744
9745         a) Added functions to manipulate the console window for use with
9746         shell support.
9747
9748         b) Added support for writing text to the console, which is now
9749         used under Windows when xemacs is not being run non-interactively,
9750         to write text that would otherwise be destined for stdout because
9751         under these circumstances, text written to stdout tends to
9752         disappear and not be seen.
9753
9754         * console-msw.h:
9755         * event-Xt.c:
9756         * event-Xt.c (x_event_to_emacs_event):
9757         * event-Xt.c (describe_event_window):
9758         * events-mod.h (XEMACS_MOD_CONTROL):
9759         * events.c:
9760         * events.c (Fmake_event):
9761         * events.c (character_to_event):
9762         * events.c (event_to_character):
9763         * events.c (format_event_object):
9764         * events.c (Fevent_modifiers):
9765         * events.h:
9766         * events.h (struct key_data):
9767         * events.h (struct button_data):
9768         * events.h (struct misc_user_data):
9769         * frame-x.c (Fcde_start_drag_internal):
9770         * frame-x.c (Foffix_start_drag_internal):
9771         * gpmevent.c (Freceive_gpm_event):
9772         * keymap.c:
9773         * keymap.c (bucky_sym_to_bucky_bit):
9774         * keymap.c (control_meta_superify):
9775         * keymap.c (make_key_description):
9776         * keymap.c (keymap_lookup_directly):
9777         * keymap.c (create_bucky_submap):
9778         * keymap.c (keymap_store):
9779         * keymap.c (define_key_check_and_coerce_keysym):
9780         * keymap.c (define_key_parser):
9781         * keymap.c (define_key_alternate_name):
9782         * keymap.c (Fdefine_key):
9783         * keymap.c (raw_lookup_key_mapper):
9784         * keymap.c (struct map_keymap_unsorted_closure):
9785         * keymap.c (map_keymap_unsorted_mapper):
9786         * keymap.c (map_keymap_sort_predicate):
9787         * keymap.c (map_keymap_sorted):
9788         * keymap.c (accessible_keymaps_mapper_1):
9789         * keymap.c (where_is_recursive_mapper):
9790         * keymap.c (describe_map_mapper):
9791         * keymap.c (describe_map_sort_predicate):
9792         * keymap.c (describe_map):
9793         * keymap.c (complex_vars_of_keymap):
9794         And a number of other files, the key modifier preprocessor
9795         constants that xemacs uses have names that conflict with constants
9796         defined under MS Windows for other purposes, so they were renamed
9797         to begin with the prefix XEMACS_. The variables that hold such
9798         modifiers were changed to consistently be of type int to fix
9799         various compile warnings.
9800
9801         * console.c (complex_vars_of_console):
9802         * device.c:
9803         * device-msw.c:
9804         * device-msw.c (mswindows_finish_init_device):
9805         * device-msw.c (msw_get_workspace_coords):
9806         * device-msw.c (mswindows_device_system_metrics):
9807         and various other files, added support for a new
9808         device property called offset-workspace which returns the position
9809         of the upper left corner of the workspace area and goes along with
9810         the existing size-workspace property.
9811
9812         * dialog-msw.c:
9813         * dialog-msw.c (push_bufbyte_string_as_unicode):
9814         * dialog-msw.c (mswindows_popup_dialog_box):
9815         Added support for XEmacs-style accelerator specifications in
9816         button text.  Note: I didn't add support for this under X Windows,
9817         and somebody needs to do this.
9818
9819         * dialog.c:
9820         * dialog.c (Fpopup_dialog_box):
9821         Documented the support for accelerators that was just mentioned.
9822
9823         editfns.c (get_home_directory): Changed behavior under Windows
9824         when HOME not defined; former behavior was irretrievably broken.
9825
9826         * emacs.c:
9827         * emacs.c (main_1):
9828         * emacs.c (main):
9829         * minibuf.c (clear_echo_area_internal):
9830         * minibuf.c (echo_area_append):
9831         * print.c:
9832         * print.c (std_handle_out_external):
9833         * print.c (std_handle_out_va):
9834         * print.c (fatal):
9835         * print.c (write_string_to_stdio_stream):
9836         * print.c (output_string):
9837         * print.c (debug_print):
9838         * print.c (debug_backtrace):
9839         * print.c (debug_short_backtrace):
9840         Cleaned up the code that prints text to stdout so that this can be
9841         changed to output into a console window instead under MS Windows,
9842         as described above.
9843
9844         * eval.c:
9845         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
9846         * eval.c (internal_catch):
9847         * eval.c (unwind_to_catch):
9848         * eval.c (throw_or_bomb_out):
9849         * eval.c (condition_case_1):
9850         * eval.c (signal_1):
9851         * eval.c (check_error_state_sanity):
9852         * eval.c (call_with_suspended_errors_1):
9853         * eval.c (call_with_suspended_errors):
9854         * eval.c (reinit_vars_of_eval):
9855         Added code to catch throw loops and check for a pesky bug that may
9856         be gone now.
9857
9858         * event-msw.c:
9859         * event-msw.c (key_needs_default_processing_p):
9860         * event-msw.c (mswindows_wnd_proc):
9861         * event-msw.c (mswindows_modifier_state):
9862         * event-msw.c (emacs_mswindows_quit_p):
9863         * event-msw.c (vars_of_event_mswindows):
9864         a) Added support for using the alt key to select menu items as is
9865         standard under MS Windows.  This is controlled using the variable
9866         menu-accelerator-enabled, just like under X Windows.  There is an
9867         option on the options menu to turn this support on.  I really
9868         think that it should be on by default under Windows, but I'm not
9869         going to make this change yet.
9870
9871         b)  Added support for dynamic display size changes under Windows.
9872
9873         * event-stream.c:
9874         * event-stream.c (maybe_echo_keys):
9875         * event-stream.c (Fnext_event):
9876         * event-stream.c (command_builder_find_leaf):
9877         * event-stream.c (lookup_command_event):
9878         * event-stream.c (execute_command_event):
9879         * event-stream.c (pre_command_hook):
9880         * event-stream.c (post_command_hook):
9881         * event-stream.c (syms_of_event_stream):
9882         * event-stream.c (vars_of_event_stream):
9883         * event-stream.c (complex_vars_of_event_stream):
9884         * events.h (struct command_builder):
9885
9886         a) Tried to clean up a little bit the horribly written x-specific
9887         accelerator code that crept into this file.  I moved this code
9888         into menubar-x.c where it belongs. I also needed to move the
9889         command builder structure into the file events.h because it is
9890         accessed directly by this accelerator code.  What I didn't do, but
9891         which should be done at some point, is to properly abstract this
9892         code using device methods instead of the kludgy way that it
9893         currently hooks into the event code.
9894
9895         b) Added the lisp variables this-command-properties and
9896         last-command- properties, which should be used to synchronize two
9897         adjacent commands in preference to playing games with the variable
9898         this-command, which is typically what happens.
9899
9900         c) Added some slightly nasty code to hook into the lisp support
9901         for shifted- motion-key selection.  This is actually necessary for
9902         somewhat complicated reasons, which are described in
9903         simple.el. (NB: I think the proper thing would be to have the code
9904         that calls the pre and post command hooks also call out to generic
9905         lisp functions in simple.el, where all built-in stuff could be
9906         added.  I will think about this more.)
9907
9908         * event-unixoid.c (poll_fds_for_input):
9909         * lread.c (readchar):
9910         * redisplay-tty.c (tty_clear_frame):
9911         * redisplay-x.c (x_get_gc):
9912         * signal.c (interrupt_signal):
9913         And a whole bunch of other files: fixed up places that printed
9914         directly to stderr to instead call the function stderr_out so that
9915         the changes I made under Windows work correctly.
9916
9917         * filemode.c (mode_string):
9918         Warning fixes.
9919
9920         * frame-msw.c:
9921         * frame-msw.c (mswindows_size_frame_internal):
9922         Fixed the computation of frame size and position to keep the frame
9923         within the workspace area, rather than within the physical
9924         dimensions of the screen, so that the frame doesn't overlap window
9925         manager decorations, such as the start menu and toolbar, typically
9926         at the bottom of the screen.
9927
9928         * frame.c (vars_of_frame):
9929         Changed the default frame title format under MS Windows to consist
9930         of buffername-XEmacs, which is standard under MS Windows.  I think
9931         it might be a good idea to change this everywhere because I think
9932         it is superior to the current frame title format, but this is the
9933         kind of change that is likely to cause some people to get annoyed,
9934         so I'm not making it.
9935
9936         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
9937
9938         * gui-msw.c (mswindows_handle_gui_wm_command):
9939         Fixed compile warnings.
9940
9941         * gui-x.c:
9942         * gui-x.c (strdup_and_add_accel):
9943         * gui-x.c (button_item_to_widget_value):
9944         * gui-x.h:
9945         Added code to automatically put an accelerator onto the beginning
9946         of menu items that don't have one as is now the standard, and is
9947         described more later.  Also fixed things so that the menu item
9948         name can be an evaluated expression, again a new standard.
9949
9950         * gui.c:
9951         * gui.c (gui_item_add_keyval_pair):
9952         * gui.c (make_gui_item_from_keywords_internal):
9953         * gui.c (gui_add_item_keywords_to_plist):
9954         * gui.c (gui_item_accelerator):
9955         * gui.c (gui_name_accelerator):
9956         * gui.c (gui_item_included_p):
9957         * gui.c (gui_item_display_flush_left):
9958         * gui.c (gui_item_display_flush_right):
9959         * gui.c (parse_gui_item_tree_item):
9960         * gui.c (parse_gui_item_tree_children):
9961         * gui.c (parse_gui_item_tree_list):
9962         Mule-ized.  Cleanup.  GCPRO addition.
9963
9964         * line-number.c (buffer_line_number):
9965         * lisp.h:
9966         * lisp.h (EMACS_INT_MAX):
9967         Added the manifest constant EMACS_INT_MIN corresponding to the
9968         existing constant EMACS_INT_MAX.  This is partially to fix compile
9969         warnings under Windows, and partly for cleanliness.
9970
9971         * menubar-msw.c:
9972         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
9973         * menubar-msw.c (msw_translate_menu_or_dialog_item):
9974         * menubar-msw.c (displayable_menu_item):
9975         * menubar-msw.c (populate_menu_add_item):
9976         * menubar-msw.c (populate_or_checksum_helper):
9977         * menubar-msw.c (populate_menu):
9978         * menubar-msw.c (update_frame_menubar_maybe):
9979         * menubar-msw.c (prune_menubar):
9980         * menubar-msw.c (msw_char_is_accelerator):
9981         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
9982         * menubar-msw.c (mswindows_handle_wm_command):
9983         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
9984         * menubar-msw.c (mswindows_handle_wm_initmenu):
9985         * menubar-msw.c (mswindows_update_frame_menubars):
9986         * menubar-msw.c (mswindows_free_frame_menubars):
9987         * menubar-msw.c (mswindows_popup_menu):
9988         Fixed a bug in handling accelerators where an extra character
9989         would be displayed in the menu item.  Also generalized the
9990         function displayable_menu_item because it is now used by the
9991         dialog box code as well.  And finally, added code in the functions
9992         that create the menubar to extract a list of accelerators for the
9993         top level menubar, which is used in the event code to determine
9994         whether a particular alt-key combination should be used to invoke
9995         a menu item, or should be passed through to access the standard
9996         XEmacs keymap binding for this key combination.
9997
9998         Much needed GCPROing.
9999
10000         * menubar-x.c:
10001         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10002         * menubar-x.c (menu_item_descriptor_to_widget_value):
10003         * menubar-x.c (restore_in_menu_callback):
10004         * menubar-x.c (x_popup_menu):
10005         * menubar-x.c (menu_move_up):
10006         * menubar-x.c (menu_move_down):
10007         * menubar-x.c (menu_move_left):
10008         * menubar-x.c (menu_move_right):
10009         * menubar-x.c (menu_select_item):
10010         * menubar-x.c (command_builder_operate_menu_accelerator):
10011         * menubar-x.c (menu_accelerator_junk_on_error):
10012         * menubar-x.c (command_builder_find_menu_accelerator):
10013         * menubar-x.c (Faccelerate_menu):
10014         * menubar.h:
10015         Moved a whole bunch of code here that was previously in
10016         event-stream.c as described above.  There is also code connected
10017         to the new standard of adding an accelerator to the beginning of
10018         menu items that don't have one as described above and below.
10019
10020         * menubar.c:
10021         * menubar.c (menu_parse_submenu_keywords):
10022         * menubar.c (Fmenu_find_real_submenu):
10023         * menubar.c (Fnormalize_menu_item_name):
10024         * menubar.c (syms_of_menubar):
10025         * menubar.c (vars_of_menubar):
10026         * menubar.c (complex_vars_of_menubar):
10027
10028         a) Cleaned up a bunch of documentation and improved it.
10029
10030         b) XEmacs now automatically adds an accelerator onto the beginning
10031         of any menu items that don't have one.  I did this because there
10032         will inevitably be some menu items on the main menubar that don't
10033         have accelerators on them because the package that adds that
10034         particular menu item hasn't yet been fixed up to have accelerators
10035         in them and it looked rather strange to have some items with and
10036         some items without accelerators, especially since even in items
10037         without accelerators, you can, at least under windows, still
10038         access the item through an accelerator corresponding to the first
10039         character in the item's name.  If people don't like this behavior,
10040         I can add a variable to turn it off optionally, but I'm not sure
10041         this is a good idea because we really do need to have accelerators
10042         on all of the menu items, and if a package doesn't like the
10043         accelerators being put on the first character, then it should put
10044         the accelerators where they belong.
10045
10046         c) I made a behavior change, which is that the descriptor that
10047         specifies the text of the menu item, which formerly was just a
10048         string, can now also be an evaluated expression.  This makes this
10049         descriptor parallel with all of the others, which could also be
10050         evaluated expressions.  This also obviates the need for the
10051         keyword :label, which was previously listed in the documentation
10052         as unimplemented, and which was for the same purpose.
10053
10054         d) GCPROing.
10055
10056         * ntproc.c:
10057         * ntproc.c (new_child):
10058         * ntproc.c (sys_spawnve):
10059         * ntproc.c (find_child_console):
10060         * ntproc.c (sys_kill):
10061         Fixed compile warnings.  By the way, this file should really go
10062         away entirely, and this will happen as soon as Kirill makes his
10063         final round of process cleanups, which affect the function
10064         call-process.
10065
10066         * process-nt.c:
10067         * process-nt.c (struct nt_process_data):
10068         * process-nt.c (find_process_from_pid):
10069         * process-nt.c (send_signal_the_nt_way):
10070         * process-nt.c (enable_child_signals):
10071         * process-nt.c (find_child_console):
10072         * process-nt.c (send_signal_the_95_way):
10073         * process-nt.c (nt_finalize_process_data):
10074         * process-nt.c (ensure_console_window_exists):
10075         * process-nt.c (nt_create_process):
10076         * process-nt.c (nt_kill_child_process):
10077         * process-nt.c (nt_kill_process_by_pid):
10078         * process-nt.c (nt_open_network_stream):
10079         * process-nt.c (vars_of_process_nt):
10080         Copied over code from Emacs 20.5 to correctly send signals to sub-
10081         processes under Windows 95.  Also added code to automatically
10082         create and hide console window when a sub-process is created under
10083         Windows 95, which obviates the need for the separate runemacs.exe
10084         executable, and finally implemented some variables that were
10085         implemented in Emacs 20.5, but previously not in XEmacs.  These
10086         include mswindows- start-process-share-console and
10087         mswindows-start-process-inherit-error-mode. (Both of these only
10088         apply to Windows 95.)
10089
10090         * regex.c (regex_compile): Fixed a compile warning.
10091
10092         * select-msw.c:
10093         * select-msw.c (mswindows_own_selection):
10094         * select-msw.c (mswindows_get_foreign_selection):
10095         * select-msw.c (mswindows_disown_selection):
10096         * select-msw.c (console_type_create_select_mswindows):
10097         * select-msw.c (syms_of_select_mswindows):
10098         Cleaned up the file and implemented the device method
10099         selection_exists_p, which had accidentally been left out.  Also
10100         removed four lisp functions that were remnants from before the
10101         time when the selection code was properly device abstracted.
10102         These functions are no longer needed because there are generic
10103         equivalents, and because they were added recently and don't exist
10104         in FSF Emacs, I don't think there's any problem with just deleting
10105         them.
10106
10107         * sysdep.c:
10108         * sysdep.c (sys_subshell):
10109         Fixed a compile warning, although in this case there's probably
10110         something wrong with this code, and it ought to be looked into
10111         more thoroughly by somebody who understands it.
10112
10113         * window.c:
10114         * window.c (Fwindow_text_area_height):
10115         * window.c (Fwindow_width):
10116         * window.c (Fwindow_full_width):
10117         * window.c (Fwindow_pixel_width):
10118         * window.c (debug_print_window):
10119         * window.c (syms_of_window):
10120         Added functions window-text-area-height and window-full-width,
10121         which are functions for returning various width and height
10122         characteristics of a window. (One of these functions is necessary
10123         for making the file dialog box work correctly, and the other one
10124         was added for completeness.)  Also added a table to the
10125         documentation for window-height which describes the entire scheme
10126         for accessing width and height characteristics of a window.
10127
10128 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10129
10130         * nt.c (fstat): Added a comment for another problem with
10131         non-encapsulated [f]stat(), reported by Adrian Aichner
10132         <aichner@ecf.teradyne.com>.
10133
10134 2000-03-11  Andy Piper  <andy@xemacs.org>
10135
10136         * window.c (make_dummy_parent): initialize subwindow instance
10137         cache.
10138         (Fset_window_configuration): zero extent_modiff.
10139
10140 2000-03-10  Andy Piper  <andy@xemacs.org>
10141
10142         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
10143         more changes can be triggered.
10144         (Fredisplay_frame): ditto.
10145         (Fredraw_device): ditto.
10146         (Fredisplay_device): ditto.
10147         (redisplay_frame): make non-static.
10148         (redisplay_frame): call update_frame_gutter_geometry outside of
10149         display proper.
10150
10151         * gutter.h: declare update_frame_gutter_geometry.
10152
10153         * redisplay.h: declare redisplay_frame.
10154
10155         * gutter.c (update_frame_gutter_geometry): move geometry changes
10156         in update_frame_gutters here. Geometry changes can only occur
10157         outside of redisplay.
10158         (update_frame_gutters): remove geometry change code.
10159         (Fredisplay_gutter_area): make sure that we are in display when we
10160         update and that we have flushed any size changes.
10161
10162 2000-03-11  Andy Piper  <andy@xemacs.org>
10163
10164         * alloc.c (pdump_dump_data): remove i & count shadows.
10165
10166 2000-02-27  Mike Alexander  <mta@arbortext.com>
10167
10168         * sysdep.h: Declare pdump_read_file
10169
10170         * sysdep.c (pdump_read_file): New function
10171
10172         * alloc.c (pdump_load): Call pdump_read_file to get the portable
10173         dump data
10174
10175 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
10176
10177         * lrecord.h: add `lrecord_type_pgsetenv'.
10178
10179 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
10180
10181         * symsinit.h: declare (vars|syms)_of* functions.
10182         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
10183
10184 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
10185
10186         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
10187
10188         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
10189         GCCs.
10190
10191         * emacs.c (main_1): Call postgres initialization code.
10192
10193         * postgresql.h: New file.  PostgreSQL RDBMS support.
10194         * postgresql.c: New file.
10195
10196 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
10197
10198         * redisplay-output.c (redisplay_output_display_block): Disable
10199         redundant code.
10200
10201 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10202
10203         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
10204         (Fcanna_henkan_next): Ditto.
10205         (Fcanna_bunsetu_henkou): Ditto.
10206         (Fcanna_henkan_kakutei): Ditto.
10207         (Fcanna_henkan_end): Ditto.
10208         (Fcanna_henkan_quit): Ditto.
10209         (Fcanna_henkan_next): Set retun value correctly.
10210         (c2mu): Use unsigned char instead of signed char.
10211
10212 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10213
10214         * emacs.c (main_1): Always call syms_of_gui.
10215         * inline.c: include gui.h
10216
10217 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10218
10219         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
10220         converted to Lisp_Object.
10221         (Qtop_bottom): New variable.
10222         (syms_of_redisplay): Initialize it.
10223         * redisplay.h (Vvisible_bell): Ditto.
10224         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
10225         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
10226         only flash top and bottom.
10227
10228 2000-03-08  Andy Piper  <andy@xemacs.org>
10229
10230         * buffer.c (Frename_buffer): record new buffer name the right way.
10231
10232 2000-03-08  Andy Piper  <andy@xemacs.org>
10233
10234         * glyphs.c (update_subwindow): increase hash depth so that widget
10235         items get picked up properly.
10236
10237         * redisplay-output.c (compare_runes): increase hash depth so that
10238         widget items get picked up properly.
10239
10240 2000-03-08  Andy Piper  <andy@xemacs.org>
10241
10242         * gutter.c (output_gutter): add some debug.
10243
10244         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
10245         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
10246         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
10247
10248         * redisplay-output.c (compare_runes): use display_hash to
10249         determine if glyphs really are not the same.
10250
10251         * glyphs.c (update_subwindow): check display_hash to see if
10252         anything really needs to be updated. If not then do
10253         nothing. Record the display_hash after updating.
10254         (image_instance_equal): compare the image_instance face also.
10255
10256 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
10257
10258         * redisplay.h: Fix comment style.
10259
10260 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10261
10262         * consle-msw.h (struct mswindows_frame):
10263         Added new member paint_pending to indicate whether a WM_PAINT
10264         magic event has been queued for this frame.
10265
10266         * event-msw.c (mswindows_drain_windows_queue):
10267         Don't queue a WM_PAINT magic event if one is already queued.
10268         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
10269
10270         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
10271
10272 2000-03-07  Didier Verna  <didier@xemacs.org>
10273
10274         * dired.c: #include `regex.h' after `sysfile.h'.
10275
10276 2000-03-06  Martin Buchholz  <martin@xemacs.org>
10277
10278         * sound.c (init_nas_sound): Fix compiler warning.
10279
10280         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
10281         (FREE_STRUCT_P):
10282         (MARK_STRUCT_AS_FREE):
10283         (MARK_STRUCT_AS_NOT_FREE):
10284         Make `gcc -fstrict-aliasing' work properly.
10285
10286 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10287
10288         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
10289         (mswindows_delete_device): Call CoUnnitialize().
10290
10291         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
10292
10293 2000-02-25    <CraigL@DyCon.com>
10294
10295         * process-nt.c: MinGW now has <shellapi.h>, but still needs
10296         <errno.h>.
10297
10298         * sysdep.c: This extern declaration for environ prevents MinGW
10299         from finding the variable in CRTDLL.DLL.
10300
10301         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
10302         windows headers.
10303         (SHGFI_EXETYPE): ..
10304         (WM_MOUSEWHEEL): ..
10305         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
10306         definitions.
10307         (MMRESULT): Removed, now defined in cygwin's windows headers.
10308         (TIMECAPS): ..
10309         (uid_t,gid_t,pid_t,ssize_t): ..
10310         (_timeb): Removed, MinGW defines both _timeb and timeb.
10311         (HAVE_H_ERRNO): Added.
10312         (HAVE_TZNAME): Added, configure is not detecting this.
10313
10314 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
10315
10316         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
10317         * syntax.c (syntax_match): Use it.
10318
10319         * cmds.c: Import auto-fill-chars from FSF Emacs.
10320         (Vauto_fill_chars): New variables.
10321         (internal_self_insert): Check Vauto_fill_chars.
10322         (vars_of_cmds):
10323         Declare auto-fill-chars as a Lisp variable and initialize it.
10324
10325 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10326
10327         * fileio.c (Fmake_symbolic_link):
10328         (Ffile_symlink_p):
10329         Run handlers even if local machine doesn't have symlinks.
10330
10331 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10332
10333         * event-msw.c (mswindows_drain_windows_queue):
10334         Don't generate paint magic events for non-XEmacs frames.
10335
10336 2000-03-05  Andy Piper  <andy@xemacs.org>
10337
10338         * redisplay.c (redisplay_frame): generate_displayable_area and
10339         friends assumes that we are not in GC, we therefore have to make
10340         sure that this doesn't happen.
10341
10342         * gutter.c (calculate_gutter_size): generate_displayable_area
10343         assumes that we are not in GC, we therefore have to make sure that
10344         this doesn't happen.
10345
10346 2000-03-05  Martin Buchholz  <martin@xemacs.org>
10347
10348         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
10349
10350 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
10351
10352         * redisplay.c (regenerate_window): Make sure we set a sane value
10353         for end_pos even if we jump out of the loop.
10354         (regenerate_window): Answer Ben's question :-).
10355         (start_end_of_last_line): Add may_error argument.
10356         (start_of_last_line):
10357         (end_of_last_line): Pass may_error = 0.
10358         (end_of_last_line_may_error): New function.
10359         (pixel_to_glyph_translation): Use it, so we don't crash in
10360         event_to_glyph.
10361
10362 2000-03-04  Andy Piper  <andy@xemacs.org>
10363
10364         * window.h (struct window): add gutter_extent_modiff.
10365
10366         * window.c (allocate_window): zero out gutter_extent_modiff.
10367
10368         * redisplay.h: declare sync_display_line_structs.
10369
10370         * redisplay.c (add_glyph_rune): add a better comment.
10371
10372         * redisplay-output.c (sync_display_line_structs): made non-static.
10373         (compare_runes): remove unneccesary glyph cachel access.
10374
10375         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
10376
10377         * gutter.c (output_gutter): don't output the gutter if extent
10378         changes only involve extents in buffers. use 4 sets of display
10379         lines.
10380         (gutter_extent_signal_changed_region_maybe): new function. Mark
10381         extents in gutters as changed.
10382         (update_frame_gutters): use 4 sets of display lines.
10383         (reset_gutter_display_lines): ditto.
10384         (free_frame_gutters): ditto.
10385         (redraw_exposed_gutter): force output of gutters.
10386
10387         * frame.h (struct frame): add 4 sets of gutter display lines.
10388
10389         * extents.c: (extent_changed_for_redisplay): signal changes to
10390         extents in strings in the gutter as well as extents in buffers.
10391
10392 2000-03-02  Andy Piper  <andy@xemacs.org>
10393
10394         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
10395
10396         * frame.c (Fmake_frame): make sure the gutters get initialized
10397         after the frame is visible.
10398         (set_frame_selected_window): re-arrange compilation macros a
10399         little.
10400         (change_frame_size_1): mark gutters changed.
10401
10402         * device.c (Fset_device_class): mark gutters changed.
10403
10404 2000-03-01  Andy Piper  <andy@xemacs.org>
10405
10406         * window.c (window_top_frame_gutter_height): deleted.
10407         (window_bottom_frame_gutter_height): ditto.
10408         (window_left_frame_gutter_height): ditto.
10409         (window_right_frame_gutter_height): ditto.
10410         (window_top_gutter_height): don't use them.
10411         (window_bottom_gutter_height): ditto.
10412         (window_left_gutter_width): ditto.
10413         (window_right_gutter_width): ditto.
10414         (Fsplit_window): ditto.
10415         (Fwindow_pixel_edges): don't use border dimensions here.
10416
10417         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
10418         (update_scrollbar_instance): ditto.
10419
10420         * redisplay.c (generate_modeline): don't take gutters into account.
10421         (generate_modeline): ditto.
10422         (redisplay_frame): small gutter display optimization.
10423
10424         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
10425
10426         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
10427         gutters into account.
10428
10429         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
10430         for window position and type.
10431
10432         * gutter.c (get_gutter_coords): fix for frame gutters.
10433         (update_frame_gutters): update frame geometry if the gutters have
10434         changed.
10435         (init_frame_gutters): record current gutter geometries.
10436
10437         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
10438         var.
10439         (mswindows_widget_instantiate): ditto.
10440
10441         * frame.h (struct frame): add current_gutter_bounds.
10442
10443         * frame.c (change_frame_size_1): position window and minibuffer
10444         appropriately taking into account the frame gutters.
10445
10446         * frame-x.c: (x_initialize_frame_size): take into account the
10447         frame gutters.
10448
10449 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10450
10451         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
10452
10453 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
10454
10455         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
10456
10457 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10458
10459         * file-coding.c (reset_decoding_stream): Clear previous
10460         detection state when autodetect.
10461
10462 2000-02-29  Didier Verna  <didier@xemacs.org>
10463
10464         * extents.c (set_extent_glyph_1): don't require extents to be
10465         attached.
10466
10467 2000-02-27  Andy Piper  <andy@xemacs.org>
10468
10469         * gutter.c (Fset_default_gutter_position): don't default left and
10470         right gutter visibility to t.
10471         (Fset_default_gutter_position): run
10472         default-gutter-position-changed-hook.
10473         (syms_of_gutter): add default-gutter-position-changed-hook.
10474
10475 2000-02-26  Andy Piper  <andy@xemacs.org>
10476
10477         * specifier.c (Fmake_specifier): add gutter references.
10478
10479         * gutter.h (RAW_WINDOW_GUTTER): new macro.
10480
10481         * lisp.h: declare Fvalid_plist_p.
10482
10483         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
10484         as changed.
10485         (default_gutter_visible_p_changed_in_window): invalidate gutter as
10486         well as its visibility so that it gets reconstructed.
10487         (construct_window_gutter_spec): new function. Construct a string
10488         to be displayed in the gutter from a plist of strings. Take care
10489         to only use elements that are declared as visible.
10490         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
10491         WINDOW_GUTTER.
10492         (gutter_validate): allow plists of strings in the specifier.
10493         (gutter_specs_changed): construct the real_gutter from the gutter
10494         specs using construct_window_gutter_spec.
10495         (gutter_visible_validate): gutter-visible is a new specifier type.
10496         (Fgutter_visible_specifier_p): new function for the new specifier.
10497         (syms_of_gutter): declare gutter-visible and
10498         Fgutter_visible_specifier_p.
10499         (specifier_type_create_gutter): intitalize new gutter-visible
10500         specifier.
10501         (reinit_specifier_type_create_gutter): ditto.
10502         (specifier_vars_of_gutter): use new specifier type for gutter
10503         visibility.
10504         (init_frame_gutters): construct real_gutter correctly.
10505         (Fgutter_specifier_p): beef up documentation.
10506         (Fgutter_size_specifier_p): ditto.
10507
10508         * winslots.h: add real_gutter slots.
10509
10510 2000-02-25  Andy Piper  <andy@xemacs.org>
10511
10512         * device-msw.c: Be kind to older cygwin versions. From Raymond
10513         Toy <toy@rtp.ericsson.se>.
10514
10515         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
10516         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
10517
10518 2000-02-25  Martin Buchholz  <martin@xemacs.org>
10519
10520         * elhash.c (MARK_OBJ): Practice macro hygiene.
10521
10522 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10523
10524         * miscplay.c: s/__inline__/inline/g;
10525         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
10526         (get_device_compdc): INLINE ==> static inline
10527         * *.[ch]: Change INLINE to INLINE_HEADER globally.
10528         find -name '*.h' | \
10529         xargs global-replace \
10530         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
10531
10532 2000-02-25  Andy Piper  <andy@xemacs.org>
10533
10534         * window.c (window_top_frame_gutter_height): new function.
10535         (window_top_window_gutter_height): ditto.
10536         (window_top_gutter_height): use them.
10537         (window_bottom_frame_gutter_height): new function.
10538         (window_bottom_window_gutter_height): ditto.
10539         (window_bottom_gutter_height): use them.
10540         (window_left_window_gutter_width): new function.
10541         (window_left_frame_gutter_width): ditto.
10542         (window_left_gutter_width): use them.
10543         (window_right_window_gutter_width): new function.
10544         (window_right_frame_gutter_width): ditto.
10545         (window_right_gutter_width): use them.
10546         (window_pixel_height): new function. calulate window pixel height
10547         with frame gutter involvement.
10548         (Fsplit_window): calculate new sizes taking frame gutters into
10549         account.
10550         (window_char_height_to_pixel_height): don't include frame gutters.
10551         (window_char_height): use window_pixel_height.
10552         (window_pixheight): rename from window_pixel_height.
10553         (change_window_height): use it.
10554         (window_pixel_height_to_char_height): don't include frame gutters.
10555         (window_char_width_to_pixel_width): ditto.
10556
10557 2000-02-25  Andy Piper  <andy@xemacs.org>
10558
10559         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
10560         if it is.
10561
10562 2000-02-24  Martin Buchholz  <martin@xemacs.org>
10563
10564         * alloc.c (staticpro):
10565         (staticpro_nodump):
10566         (dumpstruct):
10567         (dumpopaque):
10568         (pdump_wire):
10569         (pdump_wire_list):
10570         (compact_string_chars):
10571         (pdump_dump_wired):
10572         Convert:  if (foo) abort();  ==>  assert (! foo);
10573
10574         * eldap.c (Fldap_search_basic):
10575         (Fldap_add):
10576         (Fldap_modify):
10577         (Fldap_delete):
10578         Fix compiler warnings, and possible crashes if (random) return
10579         value were to be used.
10580
10581 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10582
10583         * device-msw.c: Workaround ResetDC failure.
10584
10585         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
10586         applying a devmode.
10587
10588         * redisplay-msw.c (get_frame_dc): Added start_page_p.
10589         (mswindows_text_width): Do not start printer page.
10590
10591         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
10592
10593         * glyphs-msw.c: Added image methods to msprinter console and
10594         msprinter-specific image instantiation.
10595
10596 2000-02-20  Mike Alexander  <mta@arbortext.com>
10597
10598         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
10599         to avoid crashes when selection-sets-clipboard is on
10600         (mswindows_own_selection): ditto
10601
10602 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10603
10604         * glyphs-msw.c:
10605         * redisplay-msw.c (get_frame_dc):
10606         (get_frame_compdc):
10607         * console-msw.h:
10608         * device-msw.c (mswindows_init_device):
10609         (mswindows_delete_device):
10610         (msprinter_init_device):
10611         (msprinter_delete_device):
10612         * frame-msw.c (mswindows_init_frame_1):
10613         (mswindows_delete_frame):
10614         (msprinter_init_frame_3):
10615         (msprinter_delete_frame): Move compatible DC to device object from
10616         frame object, for both mswindows and msprinter. Only one at a time
10617         is needed, it is a real waste to have one per frame!
10618
10619 2000-02-23  Andy Piper  <andy@xemacs.org>
10620
10621         * glyphs.c: add dynamic width and height elements.
10622         (image_instance_equal): ditto.
10623
10624         * glyphs-widget.c (widget_query_geometry): calculate width and
10625         height dynamically if required.
10626         (initialize_widget_image_instance): initialize dynamic dimensions.
10627         (widget_instantiate): pick-up dynamic dimensions.
10628
10629         * glyphs.h (struct Lisp_Image_Instance): add width and height for
10630         dynamic determination. Add appropriate macros.
10631
10632         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
10633         dimensions safe.
10634         (WINDOW_GUTTER_SIZE): ditto.
10635         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
10636
10637         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
10638         inline.
10639         (get_frame_dc): ditto.
10640
10641         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
10642         here.
10643
10644 2000-02-23  Martin Buchholz <martin@xemacs.org>
10645
10646         * XEmacs 21.2.31 is released.
10647
10648 2000-02-22  Ben Wing <ben@xemacs.org>
10649
10650         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
10651
10652 2000-02-22  Andy Piper  <andy@xemacs.org>
10653
10654         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
10655
10656 2000-02-21  Mike Sperber <mike@xemacs.org>
10657
10658         * .dbxrc:
10659         * .gdbinit:
10660         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
10661         variables.
10662
10663 2000-02-21  Mike Sperber <mike@xemacs.org>
10664
10665         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
10666
10667 2000-02-21  Martin Buchholz <martin@xemacs.org>
10668
10669         * XEmacs 21.2.30 is released.
10670
10671 2000-02-20  Martin Buchholz  <martin@xemacs.org>
10672
10673         Performance hacking.
10674         * *.c (syms_of_*):
10675         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
10676         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
10677         * emacs.c (main_1):
10678         * lisp.h (DEFUN):
10679         * console.c (DEFVAR_CONSOLE_LOCAL_1):
10680         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
10681         * symeval.h (DEFVAR_SYMVAL_FWD):
10682         * symbols.c (guts_of_unbound_marker):
10683         Make all c_readonly objects also lisp_readonly and marked for life.
10684         * lrecord.h (struct lrecord_implementation):
10685         Document flags better.
10686         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
10687         * lrecord.h (DECLARE_LRECORD):
10688         * lrecord.h (XSETRECORD):
10689         * lrecord.h (RECORDP):
10690         * lrecord.h (RECORD_TYPEP):
10691         * lrecord.h (RECORD_MARKER): New.
10692         * lrecord.h (error_check_*):
10693         * lrecord.h (CONCHECK_NONRECORD):
10694         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
10695         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
10696         * lrecord.h (set_lheader_implementation):
10697         * lrecord.h (enum lrecord_type): New.
10698         * symeval.h (SYMBOL_VALUE_MAGIC_P):
10699         * alloc.c (disksave_object_finalization_1):
10700         * alloc.c (mark_object):
10701         * alloc.c (lrecord_type_index):
10702         * alloc.c (tick_lcrecord_stats):
10703         * alloc.c (Fgarbage_collect):
10704         * alloc.c (init_alloc_once_early):
10705         * alloc.c (pdump_load):
10706         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
10707         * alloc.c (lrecord_type_index): Delete.
10708         Make lisp object type indexes be constant.
10709           Makes (byte-compile) 5% faster.
10710         Put all marker functions into their own array.
10711           Makes (garbage-collect) 5% faster.
10712         Optimize SYMBOL_VALUE_MAGIC_P.
10713           Makes (byte-compile) 2-3% faster.
10714         * config.h.in (gc_checking_assert): New.
10715         * alloc.c: Use gc_checking_assert().
10716         * .dbxrc: Make compatible with new object type implementation.
10717         * .gdbinit: Make compatible with new object type implementation.
10718         * alloc.c: Delete all symbols defined only for debugging, such as
10719         Lisp_Type_Vector and lrecord_charset.
10720
10721 2000-02-21  Andy Piper  <andy@xemacs.org>
10722
10723         * gui-msw.c (Fmswindows_shell_execute): fix file location
10724         problems.
10725
10726         * buffer.c (Fkill_buffer): remove buffer from alist buffer
10727         unshowing so that set_window_buffer doesn't undo
10728         kill_buffer_hook's hard work.
10729
10730         * glyphs-widget.c (tab_control_query_geometry): don't count the
10731         first item when calculating geometry.
10732
10733         * glyphs.c (map_subwindow): remove redundant code.
10734         (update_frame_subwindows): be more circumspect about when to
10735         update subwindows.
10736
10737         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
10738         when items haven't changed. Update faces if faces have changed as
10739         well as just the widget face.
10740         (x_tab_control_update): Update faces if faces have changed as well
10741         as just the widget face.
10742
10743 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10744
10745         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
10746         registration.
10747         (build_syscolor_string): Use mswindows_color_to_string to try to
10748         get a named color.
10749         (mswindows_device_system_metrics): Reverse the foreground and
10750         background colors so that they match the documentation.
10751
10752         * objects-msw.c: (mswindows_X_color_map): tweak some values so
10753         they match the default Windows palette.
10754         (mswindows_color_to_string): New function.
10755
10756 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10757
10758         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
10759
10760 2000-02-18  Olivier Galibert  <galibert@pobox.com>
10761
10762         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
10763         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
10764
10765         * symbols.c (init_symbols_once_early): Removed obsolete
10766         DATA_SEG_BITS related kludge.
10767         (defvar_magic): Ditto.
10768
10769         * malloc.c: Removed obsolete DATA_SEG_BITS
10770         * ralloc.c: Ditto.
10771         * mem-limits.h: Ditto.
10772
10773         * Makefile.in.in: Removed obsolete HAVE_SHM
10774         * emacs.c: Ditto.
10775
10776 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10777
10778         *  device-msw.c (mswindows_delete_device): Free DDE string
10779         handles.
10780
10781 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10782
10783         * keymap.c (get_keyelt):
10784         * unexnt.c (unexec):
10785         * vm-limit.c (memory_warnings):
10786         * ntheap.c (recreate_heap):
10787         * ntheap.h (UNINIT_PTR):
10788         * select-msw.c (Fmswindows_get_clipboard):
10789         (Fmswindows_set_clipboard):
10790         * objects-msw.h (MSWINDOWS_BAD_HFONT):
10791         * objects-msw.c:
10792         * menubar-msw.c (displayable_menu_item):
10793         * glyphs-msw.c:
10794         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
10795         * sysdep.c (sys_subshell):
10796         * process-nt.c (nt_create_process):
10797         * nt.c (normalize_filename):
10798         (dostounix_filename):
10799         (unixtodos_filename):
10800         * ntproc.c (win32_executable_type):
10801         * ntplay.c (play_sound_data_1):
10802         (play_sound_file):
10803         * editfns.c (get_home_directory):
10804         * event-msw.c (struct winsock_stream):
10805         (mswindows_dde_callback):
10806         * device-msw.c (msprinter_init_device):
10807         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
10808
10809         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
10810         mswindows_clear_toolbar were swapped!
10811
10812         * objects-msw.c:(colormap_t):
10813         (fontmap_t):
10814         * emacs.c (struct standard_args): Fixed const jumble.
10815
10816         * glyphs-widget.c (update_widget): Fixed comparison notation.
10817
10818         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
10819
10820         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
10821         __declspec(noreturn) syntax.
10822
10823 2000-02-19  Martin Buchholz  <martin@xemacs.org>
10824
10825         * eldap.c (Fldap_open):
10826         (Fldap_search_basic):
10827         (Fldap_add):
10828         (Fldap_modify):
10829         Use new coding system conversion macros.
10830
10831 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10832
10833         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
10834
10835 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
10836
10837         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
10838         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10839
10840         * eldap.c (Qadd, Qreplace): New constant symbols
10841         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
10842         interruptions by XEmacs signals
10843         Remove unnecessary calls to slow_down_interrupts and
10844         speed_up_interrupts
10845         (Fldap_search_basic): Renamed from Fldap_search_internal
10846         Added new optional parameter VERBOSE that triggers the
10847         display of progress messages
10848         Remove unnecessary calls to slow_down_interrupts and
10849         speed_up_interrupts
10850         LDAP result code analysis rewritten
10851         (Fldap_add, Fldap_modify, Fldap_delete): New functions
10852         (syms_of_eldap): Define the new symbols and functions
10853
10854
10855 2000-02-17  Martin Buchholz  <martin@xemacs.org>
10856
10857         * realpath.c: Determine PATH_MAX maximally portably.
10858
10859         * insdel.c (bytecount_to_charcount): Optimize.
10860         The function used to be optimized for entirely ASCII sequences.
10861         Now it is optimized for successive characters from the same
10862         charset.  This also wins big for _mostly_ ASCII sequences.
10863
10864         * fileio.c (Ffile_truename): convert return from realpath() using
10865         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
10866         - Rewrite GCPROing slightly.
10867
10868         * sysdep.c (sys_open): Do filename conversion, like all other
10869         sys_* functions.  Fixes bug:
10870         (let ((file-name-coding-system 'iso-8859-2))
10871            (write-region x y latin2-name))
10872         ==> writes filename using internal encoding.
10873
10874 2000-02-18  Martin Buchholz  <martin@xemacs.org>
10875
10876         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
10877         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
10878         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
10879         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
10880         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
10881         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
10882         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
10883         (CONST_IF_NOT_DEBUG): Delete.
10884         * alloc.c (this_one_is_unmarkable): Delete.
10885         (mark_object): Don't check for this_one_is_unmarkable. Use the
10886         c_readonly flag instead.
10887         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
10888
10889 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10890
10891         * event-msw.c (mswindows_drain_windows_queue):
10892         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
10893         away redundant repaint events.
10894
10895 2000-02-17  Andy Piper  <andy@xemacs.org>
10896
10897         * redisplay.h: declare mark_redisplay_structs.
10898
10899         * redisplay.c (redisplay_window):
10900         (redisplay_frame): don't check subwindows_state_changed.
10901         (mark_redisplay): mark gutters here.
10902
10903         * glyphs.c: (instantiate_image_instantiator): always layout if we
10904         haven't done so already.
10905         (allocate_image_instance): don't mark as dirty.
10906         (update_subwindow): bind inhibit_quit.
10907
10908         * gutter.c (mark_gutters): new function.
10909
10910         * glyphs-x.c (x_update_widget): Always resize to get round a
10911         widget bug.
10912
10913         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
10914         breaking absolutely everything.
10915
10916         * gutter.h: declare mark_gutters.
10917
10918 2000-02-16  Martin Buchholz <martin@xemacs.org>
10919
10920         * XEmacs 21.2.29 is released.
10921
10922 2000-02-15  Olivier Galibert  <galibert@pobox.com>
10923
10924         * fns.c (size_bit_vector): Fix computation of the size.
10925
10926 2000-02-15  Martin Buchholz  <martin@xemacs.org>
10927
10928         * *.[ch]: Change CONST to const globally.
10929         find -name '*.[ch]' | \
10930         xargs global-replace \
10931         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
10932         - Remove vestigial references to CONST_IS_LOSING
10933
10934 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10935
10936         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
10937         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
10938         events instead of dispatching them directly.
10939         (mswindows_handle_paint): New function to do repainting.
10940         (mswindows_wnd_proc):
10941         (emacs_mswindows_handle_magic_event): Call above function.
10942
10943 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
10944
10945         * objects-msw.c (mswindows_create_font_variant): Return the new
10946         font handle.
10947         (initialize_font_instance): Get font metrics from the underlined
10948         variant of the font to cope with the case where the underlined
10949         font has a bigger descent.
10950
10951 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
10952
10953         * gui.c (gui_item_accelerator): Return the first underlined
10954         character in item name.
10955
10956 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10957
10958         * lisp.h: Added Qprinter.
10959
10960         * general.c (syms_of_general): Initialized it.
10961
10962         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
10963         (get_frame_dc):
10964         (get_frame_compdc): Made inline.
10965
10966         * console.h (struct console_methods): Added eject_page method.
10967
10968         * frame.h: Added FRAME_DISPLAY_P and friends.
10969         Aligned backslahes in many macros in more readable fashion.
10970         Added page_number to struct frame, and an accessor macro
10971         for it.
10972
10973         * defice.h: Added DEVICE_DISPLAY_P and friends.
10974
10975         * device.c (Fdevice_printer_p): Used these.
10976
10977         * frame.c (allocate_frame_core): Initialize page number.
10978         (Fprint_job_page_number):
10979         (Fprint_job_eject_page): Implemented.
10980
10981         * frame-msw.c (msprinter_eject_page): Added method.
10982         (msprinter_start_page): Added.
10983
10984         * window.c (Fwindow_truncated_p): Fixed docstring.
10985         (Fwindow_last_line_visible_height): Implemented.
10986
10987 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10988
10989         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
10990
10991 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
10992
10993         * syntax.c (scan_words): Always advance at least one character.
10994
10995 2000-02-13  Andy Piper  <andy@xemacs.org>
10996
10997         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
10998         to make sure the glyph is in the cachels.
10999
11000         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
11001         global image instance flag.
11002         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
11003         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
11004
11005         * glyphs.c (allocate_image_instance): set dirty bits correctly.
11006         (Fset_image_instance_property): mark layout as changed.
11007         (invalidate_glyph_geometry_maybe): mark layout as changed.
11008         (glyph_width): use new NEEDS_LAYOUT macro.
11009         (glyph_ascent): ditto.
11010         (glyph_descent): ditto.
11011         (glyph_height): ditto.
11012         (image_instance_layout): mark layout as clean after laying out.
11013         (update_subwindow): don't mark layout as clean here.
11014
11015         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
11016         should no longer be needed.
11017
11018         * glyphs-x.c (x_update_widget): sanitize asserts.
11019         (x_finalize_image_instance): sanitize assignment to widgets.
11020
11021         * glyphs-widget.c (widget_instantiate): don't need to clear the
11022         layout flag here.
11023
11024 2000-02-13  Martin Buchholz  <martin@xemacs.org>
11025
11026         * sysdep.c (getcwd): Use standard prototype.
11027         * sysdep.h (getcwd): Use standard prototype.
11028
11029         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
11030         (sequence, start, end).
11031         Remove redundant type checking.
11032         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
11033         view of `caller-protects') to avoid a crash where the real fix was
11034         found elsewhere.
11035
11036 2000-02-12  Martin Buchholz  <martin@xemacs.org>
11037
11038         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
11039
11040         * s/sol2.h: Remove feature macro initialization.
11041
11042         * alloc.c (alloc_lcrecord): Add more type checking assertions.
11043         (vector_hash): New.  Code from internal_hash.
11044         * lrecord.h:
11045         Fix up allocation subsystem comments.
11046
11047         * config.h.in: Add __EXTENSIONS__ for Solaris.
11048
11049         * systime.h (EMACS_GETTIMEOFDAY): New.
11050         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
11051         Remove Solaris-specific code.
11052         Use void* for the (ignored) second arg for gettimeofday().
11053
11054         * elhash.c (hash_table_hash): Implement it, finally.
11055         * elhash.c:  Use hashcode_t.
11056
11057         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
11058         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
11059
11060         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
11061         * fns.c (size_bit_vector):
11062         * alloc.c (size_vector):
11063         (make_vector_internal):
11064         (make_bit_vector_internal):
11065         (sweep_bit_vectors_1):
11066         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
11067
11068 2000-02-10  Martin Buchholz  <martin@xemacs.org>
11069
11070         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
11071         Include strings.h to avoid warnings for bzero and strcasecmp.
11072
11073 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11074
11075         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
11076         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
11077
11078         * fns.c (size_bit_vector): New.  Declare bit vectors as a
11079         sequence.
11080
11081 2000-02-10  Olivier Galibert  <galibert@pobox.com>
11082
11083         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
11084         use a value field instead.
11085         (symbol_value_forward_forward): Use value field.
11086         (DEFVAR_SYMVAL_FWD): Use value field.
11087         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
11088         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
11089         (DEFVAR_CONST_INT): Ditto.
11090         (DEFVAR_BOOL): Ditto.
11091         (DEFVAR_CONST_BOOL): Ditto.
11092         (DEFVAR_INT_MAGIC): Ditto.
11093         (DEFVAR_BOOL_MAGIC): Ditto.
11094
11095         * symbols.c (guts_of_unbound_marker): Use value field.
11096         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
11097         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
11098
11099         * lisp.h: Declare dumpopaque and noninteractive1.
11100
11101         * alloc.c (dumpopaque): Added.
11102         (pdump_dump_opaquevec): Added.
11103         (pdump): Call pdump_dump_opaquevec to dump opaque data.
11104         (pdump_load): Reload opaque data.  Sync noninteractive1 with
11105         noninteractive.
11106
11107 2000-02-10  Andy Piper  <andy@xemacs.org>
11108
11109         * glyphs.c (image_instance_layout): if the size changes, mark it
11110         as such.
11111
11112         * redisplay-output.c (redisplay_output_layout): Update the
11113         subwindow here.
11114         (redisplay_output_subwindow): ditto.
11115
11116         * glyphs.c (update_subwindow): make sure we reset flags for
11117         layouts as well as everything else.
11118
11119         * glyphs-widget.c (layout_layout): don't need to set the instances
11120         dimensions here.
11121
11122 2000-02-09  Martin Buchholz  <martin@xemacs.org>
11123
11124         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
11125         not HAVE_DLOPEN, which is a lower-level thing.
11126
11127         * .cvsignore: Ignore gmon.out
11128
11129 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
11130
11131         * .cvsignore: Ignore portable dumper xemacs.dmp file
11132
11133 2000-02-09  Andy Piper  <andy@xemacs.org>
11134
11135         * redisplay-output.c (redisplay_output_layout): be more clever
11136         about when we output based on the changed flags.
11137
11138         * glyphs.h (struct image_instantiator_methods): add update_method.
11139         (struct Lisp_Image_Instance): add changed flags. Declare new
11140         macros for manipulating them.
11141
11142         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
11143         (image_instance_parent_glyph): find an image_instance's parent
11144         glyph or image_instance.
11145         (image_instance_layout): mark the size as changed.
11146         (set_image_instance_dirty_p): new function. mark an image
11147         instance, plus all of its parents, as dirty.
11148         (Fset_image_instance_property): use it.
11149         (Fglyph_animated_timeout_handler): use it.
11150         (update_subwindow): call update_widget and device methods for
11151         update_subwindow. Mark all changed flags as clean.
11152         (Fresize_subwindow): mark size as changed.
11153
11154         * glyphs-x.c (x_finalize_image_instance): try and detect gc
11155         failures.
11156         (x_update_subwindow): only resize subwindows here.
11157         (x_update_widget): new function. Update all changed properties of
11158         a widget.
11159         (x_resize_subwindow): deleted.
11160         (x_widget_set_property): deleted.
11161         (x_progress_gauge_set_property): deleted.
11162         (x_progress_gauge_update): new function. Implement recorded
11163         changes.
11164         (x_tab_control_update): ditto.
11165         (x_tab_control_set_property): deleted.
11166         (console_type_create_glyphs_x): declare new functions.
11167         (image_instantiator_format_create_glyphs_x): ditto.
11168
11169         * glyphs-widget.c (widget_set_property): mark text changed.
11170         (update_widget): new function. Update properties of a widget.
11171         (widget_instantiate): for layouts make sure we set their
11172         children's parent correctly.
11173         (tab_control_set_property): new function. Record changes that will
11174         take place under redisplay's control.
11175         (progress_gauge_set_property): ditto.
11176         (image_instantiator_progress_guage): declare new functions.
11177         (image_instantiator_tab_control): ditto.
11178
11179         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
11180         now.
11181         (mswindows_update_widget): new function. Update all properties on
11182         a widget that have changed.
11183         (mswindows_button_update): new function. Update a button's set
11184         state.
11185         (mswindows_tab_control_update): new function. Update the items in
11186         a tab.
11187         (mswindows_tab_control_set_property): deleted.
11188         (mswindows_progress_gauge_update): new function. Update the
11189         progress gauge's progress.
11190         (mswindows_widget_set_property): deleted. This is all done
11191         asynchronously now.
11192         (mswindows_progress_gauge_set_property): ditto.
11193         (console_type_create_glyphs_mswindows): declare new methods.
11194         (image_instantiator_format_create_glyphs_mswindows): ditto.
11195
11196         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
11197         (msprinter_set_frame_properties): ditto.
11198
11199         * console.h (struct console_methods): Add update_widget_method.
11200
11201 2000-02-09  Andy Piper  <andy@xemacs.org>
11202
11203         * gui-msw.c (Fmswindows_shell_execute): Make
11204         mswindows-shell-execute industrial strength.
11205
11206 2000-02-08  Martin Buchholz  <martin@xemacs.org>
11207
11208         * lrecord.h: Make macro argument `props' match member function `plist'.
11209         * fns.c (Fget):
11210         * fns.c (Fput):
11211         * fns.c (Fremprop):
11212         * fns.c (Fobject_plist):
11213         * alloc.c:
11214         * symbols.c:
11215         Object property list frobbing cleanup.
11216         - Allow any lisp object (compared with `eq'), not just symbols, as
11217           keys in object plists.
11218         - Move symbol plist frobbing into symbols.c, where it belongs.
11219         - Move string plist frobbing into alloc.c, where it belongs.
11220         - Everything's an lrecord now, so no need to test for symbolp, etc.
11221         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
11222
11223         * extents.c: Reorder code to remove declarations.
11224
11225         * frame.h (store_in_alist): Remove useless declaration.
11226
11227 2000-02-07  Martin Buchholz  <martin@xemacs.org>
11228
11229         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
11230         * config.h.in: Add HAVE_XCONVERTCASE.
11231
11232 2000-02-07  Andy Piper  <andy@xemacs.org>
11233
11234         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
11235         it breaks many things.
11236
11237 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11238
11239         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
11240         actually can start a common comment type.
11241         * src/syntax.h (SYNTAX_END_P): ditto for end.
11242
11243 2000-02-07  Martin Buchholz <martin@xemacs.org>
11244
11245         * XEmacs 21.2.28 is released.
11246
11247 2000-02-06  Martin Buchholz  <martin@xemacs.org>
11248
11249         * event-Xt.c (x_keysym_to_character): New.
11250         (maybe_define_x_key_as_self_inserting_character): New.
11251         (x_has_keysym): New.
11252         Auto-define all keys on the keyboard as self-insert-key.
11253
11254 2000-02-02  Martin Buchholz  <martin@xemacs.org>
11255
11256         * menubar.c (vars_of_menubar): A small code simplification.
11257
11258         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
11259
11260         * ExternalShell.c:
11261         * ExternalClient.c:
11262         * EmacsShell-sub.c:
11263         * EmacsManager.c:
11264         * EmacsFrame.c:
11265         Use consistent style for specifying X resources.
11266
11267         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
11268         This makes (dontusethis-set-symbol-value-handler) actually usable.
11269
11270         * lrecord.h (lrecord_decription_type):
11271         * alloc.c (pdump_register_sub):
11272         (pdump_dump_data):
11273         (pdump_reloc_one):
11274         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
11275         Comply with XEmacs coding style.
11276         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
11277         args, and XD_LISP_OBJECT_ARRAY with 3 args.
11278
11279         * keymap.c (Faccessible_keymaps):
11280         Make (accessible-keymaps map "\C-h") do the Right Thing.
11281         Make (accessible-keymaps map []) do the Right Thing.
11282         Make (accessible-keymaps map "") do the Right Thing.
11283         (check_keymap_definition_loop): New function.
11284         (keymap_store_internal): Keep luser from shooting self in foot,
11285           via (define-key ctl-x-4-map "p" global-map).
11286         Remove fullness slot from struct Lisp_Keymap, since hash tables
11287         are now reliable.
11288         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
11289
11290 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11291
11292         * redisplay.c (init_redisplay): Fix small memory leak.
11293         * elhash.h:
11294         * elhash.c (pdump_reorganize_hash_table):
11295         Rename from reorganize_hash_table. Change prototype.
11296         Reuse the original memory for hentries.  Save 100k.
11297         * alloc.c (PDUMP_READ): new macro.
11298         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
11299         * alloc.c: No need to #ifndef before #undef.
11300
11301         * print.c: Allow debug_print() to print readably by modifying
11302         debug_print_readably.  Use consistent variable names.
11303
11304         * .dbxrc: Try to get things to work even if stopped in a function
11305         without source available by explicitly specifying source files.
11306 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11307
11308         * unexnt.c (_start): Removed bogus code which caused loading heap
11309         from differrent executable file.
11310         Removed bogus assignment to _fmode, which caused inconsistencies.
11311
11312 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11313
11314         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
11315         Have spawnve encapsulation regard DONT_ENCAPSULATE.
11316         Do not preliminary `#define signal sigset'.
11317
11318         * systime.h: Do not prototype environ on windows nt and cygwin,
11319         this conflicts with system header.
11320
11321         * syssignal.h: Use correct define for WINDOWSNT
11322
11323         * sysdep.h: Do not prototype environ on windows nt, this conflicts
11324         with system header.
11325
11326         * sysdep.c (near start of file): Fixed commentary and rearranged
11327         ifdefs in readable order.
11328         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
11329         (start_of_text):
11330         (end_of_text):
11331         (end_of_data): Do not compile in if using PDUMP.
11332
11333         * symsinit.h: Prototyped vars_of_nt().
11334
11335         * ntproc.c (windows9x_p): Added, instead of os_subtype.
11336         (find_child_console): Use it.
11337         (sys_kill): Use it.
11338
11339         * ntheap.h: Do not extern os_subtype.
11340
11341         * ntheap.c (cache_system_info): Do not cache unneeded:
11342         nt_major_version, nt_minor_version and os_subtype.
11343         (recreate_heap): Do not compile in when PDUMPing.
11344
11345         * nt.c (geteuid and friends): Use the new varibale
11346         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
11347         (init_user_info): Removed the above mentioned hackery.
11348         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
11349         stat has been fixed in the C runtime.
11350         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
11351
11352         * file-coding.c (struct file_coding_dump): Do not define
11353         ucs_to_mule_table in the struct if not MULE.
11354         (struct struct lrecord_description fcd_description_1): Do not dump
11355         the above.
11356
11357         * emacs.c (main_1): Call vars_of_nt().
11358         (right before Fdump_emacs_data): Don't need lastfile if using both
11359         portabe dumper and system malloc.
11360
11361         * alloc.c (Fmemory_limit): Conditionalized out.
11362         (pdump): Use OPEN_BINARY for the portable dump file.
11363         (pdump_load): Ditto.
11364
11365 2000-02-02  Mike Alexander  <mta@arbortext.com>
11366
11367         * nt.c (convert_time): Set tm_isdst before calling mktime and
11368         avoid calling it at all if the compiler supports 64 bit integers.
11369         Also initialize utc_base_ft before using it.
11370
11371 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
11372
11373         * frame.c (change_frame_size_1): Take f->internal_border_width
11374         into consideration when calculating the width of the frame.
11375
11376 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11377
11378         * window.c (frame_min_height):
11379         (frame_size_valid_p):
11380         (frame_pixsize_valid_p): Added.
11381         (check_frame_size): Generalized.
11382
11383         * window.h: Prototyped the above.
11384
11385         * lisp.h:
11386         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
11387         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
11388         Deleted Vwin32_* and Vbinary_process_* unused variables.
11389
11390         * device-msw.c (msprinter_init_device): Do not get printer font
11391         list; Added DEVMODE functions.
11392
11393         * frame-msw.c: Added lots of printer code.
11394
11395         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
11396         general.c.
11397
11398         * console-msw.h: Added more msprinter device private slots.
11399
11400 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11401
11402         * event-msw.c (key_needs_default_processing_p): Added.
11403         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
11404
11405 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11406
11407         * glyphs.c (image_instance_layout): Mark image instance as clean
11408         after layout.
11409         (glyph_dirty_p): Removed redundant function.
11410         (invalidate_glyph_geometry_maybe): Added.
11411         (update_glyph_cachel_data): Call it.
11412
11413         * glyphs.h: Prototyped it.
11414
11415         * redisplay.c (add_glyph_rune): Call it.
11416         (redisplay_window): Reset glyphs cachels when frame faces have
11417         changed, thus forcing recomputation of built-in border glyphs.
11418
11419 2000-01-30  Martin Buchholz  <martin@xemacs.org>
11420
11421         * Makefile.in.in: Make portable dumper and purify play well together.
11422         Add imperfect, but better than nothing, support for pdump.
11423         Remove xemacs.dmp when temacs is re-generated.
11424         Don't ignore errors when dumping xemacs.
11425
11426         * symbols.c (maybe_call_magic_handler): Remove one magic number.
11427
11428 2000-01-28  Andy Piper  <andy@xemacs.org>
11429
11430         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
11431         (setup_normal_frame): ditto.
11432         (setup_frame_without_minibuffer): ditto.
11433         (setup_minibuffer_frame): ditto.
11434         (delete_frame_internal): ditto.
11435         (Fmake_frame_invisible): ditto.
11436         (Ficonify_frame): ditto.
11437
11438         * window.h: change Fset_window_buffer signature.
11439
11440         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
11441         (Fset_window_buffer): allow recording of buffer if the window is
11442         the selected window.
11443         (window_loop): Use new Fset_window signature.
11444
11445 2000-01-23  Daniel Pittman  <daniel@danann.net>
11446
11447         * config.h.in: Added template for `HAVE_ATHENA_3D'
11448
11449 2000-01-29  Andy Piper  <andy@xemacs.org>
11450
11451         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
11452
11453         * gutter.c (output_gutter): Don't output if the window isn't live.
11454
11455 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11456
11457         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
11458         of 01/12/00: Moved SetFocus back here where it belongs.
11459
11460 2000-01-23  Andy Piper  <andy@xemacs.org>
11461
11462         * s/cygwin32.h: declare printer things.
11463
11464 2000-01-26  Andy Piper  <andy@xemacs.org>
11465
11466         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
11467         Alexander.
11468
11469 2000-01-24  Andy Piper  <andy@xemacs.org>
11470
11471         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
11472         (mswindows_button_instantiate): Make sure glyph is a pixmap.
11473
11474         * glyphs-widget.c (widget_instantiate): Avoid shadows.
11475
11476         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
11477
11478         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
11479
11480         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
11481         (mswindows_output_display_block): Avoid local shadows.
11482
11483         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
11484         (mswindows_enqueue_mouse_button_event): ditto.
11485         (mswindows_handle_gui_wm_command): remove declaration.
11486
11487         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
11488         warnings.
11489
11490         * console-msw.h: Avoid shadows.
11491         (mswindows_get_toolbar_button_text):
11492         (emacs_mswindows_create_stream_pair):
11493         (emacs_mswindows_delete_stream_pair):
11494         (mswindows_handle_toolbar_wm_command): declare.
11495
11496         * device-msw.c (build_syscolor_string): Avoid shadows.
11497
11498 2000-01-23  Andy Piper  <andy@xemacs.org>
11499
11500         * glyphs-widget.c (widget_instantiate): reverse the items for
11501         layouts so that children are in the expected order.
11502
11503 2000-01-28  Martin Buchholz  <martin@xemacs.org>
11504
11505         * ralloc.c: safe_bcopy ==> memmove
11506         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
11507         * s/msdos.h: Remove BCOPY macros.
11508         * insdel.c (gap_right): Remove BCOPY conditional code.
11509         * insdel.c (gap_left): Remove BCOPY conditional code.
11510         XEmacs demands a working ANSI C compiler - hence memmove.
11511
11512         * regex.c (regex_compile): Remove accidental use of trigraphs.
11513
11514 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11515
11516         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
11517         event timestamp.
11518
11519 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11520
11521         * event-msw.c (mswindows_drain_windows_queue): Added the
11522         parameter.
11523         (mswindows_need_event): Commented the call to
11524         mswindows_drain_windows_queue().
11525         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
11526         only.
11527
11528         * console-msw.h: Moved a few function prototypes here from
11529         event-msw.c.
11530
11531         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
11532         parameter from unsigned short to unsigned long.
11533         (Fmswindows_shell_execute): Added return value.
11534
11535 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11536
11537         * sysdep.c (init_system_name):
11538           process-unix.c (unix_canonicalized_host_name):
11539         Don't call freeaddrinfo() if getaddrinfo() fails.
11540
11541         * process-unix.c (unix_open_unix_network_stream):
11542         Moved the code to get a port # into address loop.
11543
11544 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11545
11546         * buffer.c (reinit_vars_of_buffer):
11547         The right place to initialize conversion_in_dynarr and
11548         conversion_out_dynarr.
11549
11550         * alloc.c (pdump): Use the real open() till sys_open() is functional.
11551
11552         * process-unix.c (unix_canonicalize_host_name): Muleize.
11553         (unix_open_network_stream): Muleize.
11554
11555         * buffer.h: Fix up prototypes for ralloc.c functions.
11556
11557 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
11558         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
11559         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
11560                 instead of gethostbyname()
11561         * process-unix.c: In unix_canonicalize_host_name() and
11562                 unix_open_network_stream(), add code to use getaddrinfo()
11563                 instead of gethostbyname().
11564
11565 2000-01-27  Daniel Pittman <daniel@danann.net>
11566
11567         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
11568         libs when built with flat Athena.
11569
11570 2000-01-27  Martin Buchholz  <martin@xemacs.org>
11571
11572         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
11573         Use coding standards for function prototypes.
11574
11575 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11576
11577         * dialog-msw.c (push_lisp_string_as_unicode):
11578         * doc.c (unparesseuxify_doc_string):
11579         * dired.c (Fuser_name_completion_1):
11580         * dired.c (Fuser_name_all_completions):
11581         * dired.c (free_user_cache):
11582         * dired.c (user_name_completion):
11583         * console-x.c (get_display_arg_connection):
11584         * minibuf.c (clear_echo_area_internal):
11585         * minibuf.c (echo_area_append):
11586         * eldap.c (Fldap_open):
11587         * eldap.c (Fldap_search_internal):
11588         * frame-x.c (x_set_frame_text_value):
11589         * frame-x.c (x_set_frame_properties):
11590         * frame-x.c (x_create_widgets):
11591         * redisplay-tty.c (term_get_fkeys_1):
11592         * objects-x.c (x_parse_nearest_color):
11593         * objects-x.c (x_valid_color_name_p):
11594         * objects-x.c (x_initialize_font_instance):
11595         * objects-x.c (x_list_fonts):
11596         * objects-x.c (x_find_charset_font):
11597         * tooltalk.c (Fadd_tooltalk_message_arg):
11598         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11599         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11600         * process-unix.c (unix_create_process):
11601         * ntproc.c (sys_spawnve):
11602         * sound.c (Fplay_sound_file):
11603         * sound.c (Fplay_sound):
11604         * buffer.c (init_initial_directory):
11605         * buffer.c (init_buffer):
11606         * editfns.c (init_editfns):
11607         * editfns.c (Ftemp_directory):
11608         * editfns.c (Fuser_full_name):
11609         * editfns.c (uncache_home_directory):
11610         * editfns.c (get_home_directory):
11611         * editfns.c (Fuser_home_directory):
11612         * editfns.c (Fformat_time_string):
11613         * editfns.c (Fcurrent_time_string):
11614         * gui-x.c (button_item_to_widget_value):
11615         * database.c (Fopen_database):
11616         * event-Xt.c (x_to_emacs_keysym):
11617         * event-Xt.c (x_event_to_emacs_event):
11618         * event-Xt.c (describe_event_window):
11619         * event-msw.c (mswindows_wnd_proc):
11620         * glyphs-eimage.c (jpeg_instantiate):
11621         * glyphs-eimage.c (gif_instantiate):
11622         * glyphs-eimage.c (png_instantiate):
11623         * glyphs-eimage.c (tiff_instantiate):
11624         * glyphs-x.c (xbm_instantiate_1):
11625         * glyphs-x.c (x_xbm_instantiate):
11626         * glyphs-x.c (x_xface_instantiate):
11627         * glyphs-x.c (autodetect_instantiate):
11628         * glyphs-x.c (cursor_font_instantiate):
11629         * glyphs-x.c (x_widget_instantiate):
11630         * glyphs-x.c (x_widget_set_property):
11631         * glyphs-x.c (x_widget_property):
11632         * glyphs-x.c (BUILD_GLYPH_INST):
11633         * print.c (write_string_to_stdio_stream):
11634         * print.c (output_string):
11635         * print.c (Falternate_debugging_output):
11636         * print.c (Fexternal_debugging_output):
11637         * glyphs-msw.c (extract_xpm_color_names):
11638         * glyphs-msw.c (mswindows_xpm_instantiate):
11639         * glyphs-msw.c (bmp_instantiate):
11640         * glyphs-msw.c (resource_name_to_resource):
11641         * glyphs-msw.c (mswindows_resource_instantiate):
11642         * glyphs-msw.c (xbm_instantiate_1):
11643         * glyphs-msw.c (mswindows_xbm_instantiate):
11644         * glyphs-msw.c (mswindows_xface_instantiate):
11645         * glyphs-msw.c (mswindows_widget_instantiate):
11646         * glyphs-msw.c (add_tree_item):
11647         * glyphs-msw.c (add_tab_item):
11648         * glyphs-msw.c (mswindows_combo_box_instantiate):
11649         * glyphs-msw.c (mswindows_widget_property):
11650         * glyphs-msw.c (mswindows_combo_box_property):
11651         * glyphs-msw.c (mswindows_widget_set_property):
11652         * console.c (stuff_buffered_input):
11653         * objects-msw.c (mswindows_initialize_color_instance):
11654         * objects-msw.c (mswindows_valid_color_name_p):
11655         * objects-msw.c (mswindows_list_fonts):
11656         * objects-msw.c (mswindows_font_instance_truename):
11657         * bytecode.c (optimize_compiled_function):
11658         * select-x.c (symbol_to_x_atom):
11659         * select-x.c (x_atom_to_symbol):
11660         * select-x.c (hack_motif_clipboard_selection):
11661         * select-x.c (selection_data_to_lisp_data):
11662         * select-x.c (lisp_data_to_selection_data):
11663         * select-x.c (Fx_get_cutbuffer_internal):
11664         * select-x.c (Fx_store_cutbuffer_internal):
11665         * buffer.h (TO_EXTERNAL_FORMAT): New function.
11666         * buffer.h (TO_INTERNAL_FORMAT): New function.
11667         * emacs.c (make_arg_list_1):
11668         * emacs.c (make_argc_argv):
11669         * emacs.c (main_1):
11670         * emacs.c (Fdump_emacs):
11671         * emacs.c (split_string_by_emchar_1):
11672         * file-coding.h:
11673         * lisp.h:
11674         * lstream.h:
11675         * symsinit.h:
11676         * device-x.c (x_init_device):
11677         * device-x.c (Fx_valid_keysym_name_p):
11678         * device-x.c (Fx_get_font_path):
11679         * device-x.c (Fx_set_font_path):
11680         * glyphs.c (bitmap_to_lisp_data):
11681         * glyphs.c (pixmap_to_lisp_data):
11682         * alloc.c (make_ext_string): Use coding system arguments.  Update
11683         all callers.
11684         * alloc.c (build_string):
11685         * callproc.c (child_setup):
11686         * callproc.c (init_callproc):
11687         * fileio.c (lisp_strerror):
11688         * fileio.c (directory_file_name):
11689         * fileio.c (Fexpand_file_name):
11690         * fileio.c (Ffile_truename):
11691         * fileio.c (Fsysnetunam):
11692         * fileio.c (Fdo_auto_save):
11693         * sysdep.c (sys_readdir):
11694         * tests.c: New file.  Allow adding C tests.
11695         Replace GET_* macros with a more comprehensible and flexible
11696         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
11697         Modify all calls.
11698         Any coding system can be used to do format conversion.
11699         Eliminate enum external_data_format.
11700         Eliminate convert_to_external_format.
11701         Eliminate convert_to_internal_format.
11702         Make sure file-name, keyboard, terminal, and ctext are always
11703         defined as coding systems or aliases.  Make
11704         file-name-coding-system, terminal-coding-system, and
11705         keyboard-coding-system magical variables that are equivalent to
11706         defining the corresponding coding system aliases.
11707
11708         * file-coding.c (Fcoding_system_canonical_name_p): New function.
11709         * file-coding.c (Fcoding_system_alias_p): New function.
11710         * file-coding.c (Fcoding_system_aliasee): New function.
11711         * file-coding.c (append_suffix_to_symbol): New function.
11712         * file-coding.c (dangling_coding_system_alias_p): New function.
11713         * file-coding.c (Ffind_coding_system):
11714         * file-coding.c (Fcopy_coding_system):
11715         * file-coding.c (encode_coding_no_conversion):
11716         * file-coding.c (syms_of_file_coding):
11717         * file-coding.c (vars_of_file_coding):
11718         Rewrite coding system alias code.
11719         Allow nested aliases, like symbolic links.
11720         Allow redefinition of coding system aliases.
11721         Prevent existence of dangling coding system aliases.
11722
11723         * dired.c (Fuser_name_completion_1):
11724         * dired.c (Fuser_name_all_completions):
11725         A crash would happen if user did QUIT in the middle of building
11726         user_name_cache.  Remove redundant code in mainline and unwind_protect.
11727
11728         * lisp.h:
11729         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
11730
11731         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
11732         an unsigned char *.  Update all callers.
11733
11734 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11735
11736         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
11737
11738 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11739
11740         * elhash.c (hentry_description): Use more portable definition.
11741         (resize_hash_table): Initialize new hentries using
11742         xnew_array_and_zero, thereby simplifying the code.
11743
11744         * mule-charset.c (make_charset): Make sure entire object is
11745         initialized, to avoid Purify warnings.
11746
11747         * alloc.c (resize_string): Fix unlikely crash with big strings.
11748
11749 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11750
11751         * realpath.c (xrealpath):
11752         Don't call getwd().
11753
11754 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11755
11756         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
11757
11758 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
11759
11760         * unexelfsgi.c (unexec): Change the way we decide which segment
11761         should be extended.
11762
11763         Assumption that .bss section should be outside the PT_LOADable
11764         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
11765         it's present) is inside the 'data' segment. This would fail the
11766         test which was used to find a segment to grow and cover new
11767         heap. Instead of this assumption, I created another one - on IRIX
11768         the segment to grow should start below .bss and it's address
11769         should extent above the end of .bss. Once this segment is
11770         identified, it's grown to accommodate the new heap and new
11771         zero-length .bss section is added at the end of .data2.
11772
11773 2000-01-25  Martin Buchholz  <martin@xemacs.org>
11774
11775         * eval.c (Feval): Wrong number of arguments should use original
11776         function, not the indirect_function version of it.
11777
11778 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11779
11780         * glyphs-x.c (x_button_instantiate): Don't add image if
11781         it is not a pixmap.
11782         (x_locate_pixmap_file): Call Fexpand_file_name when file name
11783         is relative.
11784
11785 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
11786
11787         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
11788         declaration.
11789         (DEFVAR_INT_MAGIC): Ditto.
11790         (DEFVAR_BOOL_MAGIC): Ditto.
11791         * glyphs.h: Reindent backslash.
11792
11793 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11794
11795         * glyphs-widget.c (layout_query_geometry):
11796         (layout_layout): Use correct types for gheight, gwidth.
11797
11798 2000-01-24  Martin Buchholz  <martin@xemacs.org>
11799
11800         * EmacsManager.c (QueryGeometry): Purified.
11801
11802 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11803
11804         * alloc.c (make_float): Make sure entire object is initialized, to
11805         avoid Purify warnings.
11806         (pdump_register_sub): Remove useless assignment.
11807         (pdump): Use xmalloc, not malloc.
11808         (pdump_load): Use xmalloc, not malloc.
11809
11810 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11811
11812         * callproc.c:
11813         * dired-msw.c:
11814         * fileio.c:
11815         * process-nt.c:
11816         * redisplay-msw.c:
11817         * sysdep.c: Removed redundant #include <windows.h>
11818
11819 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11820
11821         * frame.c (delete_frame_internal): Do not delete device when its
11822         implementation so declares.
11823         (delete_frame_internal): Set device selected frame to nil when
11824         last frame goes away.
11825
11826         * device-msw.c (msprinter_device_system_metrics): Implemented.
11827         (mswindows_device_system_metrics): Added 'device-dpi property.
11828
11829         * device.c: (Fdevice_printer_p): Added.
11830         Added 'offset-workspace device metric.
11831
11832         * console.h (device_metrics): Declared DM_offset_workspace.
11833
11834 2000-01-23  Martin Buchholz  <martin@xemacs.org>
11835
11836         * fileio.c (Ffile_truename): Remove pointless and confusing
11837         initialization of elen.
11838
11839         * glyphs-widget.c: Compiler warning fixes.
11840
11841 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11842
11843         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
11844         instead of a Lisp_Object as argument to make it consistent with
11845         the other LIVE_P macros.
11846         (CHECK_LIVE_PROCESS): New macro.
11847
11848         * process.c: Declare Qprocess_live_p.
11849         (Fprocess_live_p): New function.
11850         (create_process): Use PROCESS_LIVE_P.
11851         (read_process_output): Ditto.
11852         (set_process_filter): Ditto.
11853         (Fdelete_process): Ditto.
11854         (kill_buffer_processes): Ditto
11855         (process_send_signal): Use CHECK_LIVE_PROCESS.
11856         (Fprocess_input_coding_system): Check whether process is still
11857         alive (fix PR#1061).
11858         (Fprocess_output_coding_system): Ditto.
11859         (Fprocess_coding_system): Ditto.
11860         (Fset_process_input_coding_system): Ditto.
11861         (Fset_process_output_coding_system): Ditto.
11862
11863 2000-01-23  Andy Piper  <andy@xemacs.org>
11864
11865         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
11866         layout and widget.
11867
11868         * glyphs.c (mark_image_instance): take into account changed
11869         image_instance format.
11870         (image_instance_equal): ditto.
11871         (image_instance_hash): ditto.
11872
11873         * glyphs-widget.c (widget_instantiate): Incorporate layout
11874         instantiation here. Delay layout of the layout until later.
11875         (layout_instantiate): deleted.
11876         (layout_query_geometry): new function. get the geometry of a
11877         layout.
11878         (layout_layout): layout a layout dynamically.
11879         (image_instantiator_widget): New function - splitting up
11880         image_instantiator_format_create_glyphs_widget for netwinder
11881         compilation.
11882         (image_instantiator_buttons):
11883         (image_instantiator_edit_fields):
11884         (image_instantiator_combo_box):
11885         (image_instantiator_scrollbar):
11886         (image_instantiator_progress_guage):
11887         (image_instantiator_tree_view):
11888         (image_instantiator_tab_control):
11889         (image_instantiator_labels):
11890         (image_instantiator_layout): ditto.
11891         (image_instantiator_format_create_glyphs_widget): Call preceding
11892         functions.
11893
11894 2000-01-22  Martin Buchholz  <martin@xemacs.org>
11895
11896         * process.c (Fset_process_coding_system):
11897         * device-x.c (Fx_keysym_hash_table):
11898         Docstring fixes.
11899
11900         * lstream.c (Lstream_write): Return documented value, not 0.
11901
11902         * fileio.c (directory_file_name):
11903         (Fsubstitute_in_file_name):
11904         (Fsubstitute_insert_file_contents_internal):
11905         (Fwrite_region_internal):
11906         * emacs.c:
11907         * sysdep.c:
11908         * getloadavg.c:
11909         * systty.h:
11910         Remove vestigial APOLLO-conditional code.
11911
11912 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11913
11914         * getpagesize.h: Add guard macros.
11915         * libsst.h: Add guard macros.
11916         * libst.h: Add guard macros.
11917         * line-number.h: Add guard macros.
11918         * ndir.h: Add guard macros.
11919         * sysfloat.h: Add guard macros.
11920         * sysfile.h: Add guard macros.
11921         * sysproc.h: Add guard macros.
11922         * syswait.h: Add guard macros.
11923         * xintrinsic.h: Add guard macros.
11924         * xintrinsicp.h: Add guard macros.
11925         * xmmanager.h: Add guard macros.
11926         * xmmanagerp.h: Add guard macros.
11927         * xmprimitive.h: Add guard macros.
11928         * xmu.h: Add guard macros.
11929         * gpmevent.h: Add copyright statement. Add guard macros.
11930         * miscplay.h: Add guard macros.
11931         * *.h: Use consistent C-standards-approved guard macro names.
11932
11933         * opaque.c (make_opaque): Switch parameter order.
11934         * opaque.h (make_opaque): Switch parameter order.
11935         Update all callers.
11936         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
11937
11938         * config.h.in (type_checking_assert): Added.
11939         (bufpos_checking_assert): Added.
11940
11941 2000-01-21  Martin Buchholz  <martin@xemacs.org>
11942
11943         * alloc.c: Harmless pdump changes.
11944         - Use countof().
11945         - spell alignment correctly.
11946         * sysdep.c: Use countof()
11947
11948 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11949
11950         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
11951         initially_selected_for_input() console method, default to 0.
11952         (semi_canonicalize_console_connection): Try to delegate to
11953         canonicalize_console_connection if no such console method.
11954         (canonicalize_console_connection): Vice versa.
11955         (print_console): Do not print nil connection.
11956
11957         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
11958         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
11959         (XDEVIMPF_FRAMELESS_OK): Added.
11960         (CONSOLE_INHERITS_METHOD): Added.
11961
11962         * console-msw.c (mswindows_canonicalize_console_connection):
11963         Added.
11964         (mswindows_canonicalize_device_connection): Added.
11965
11966         * console-msw.h (struct msprinter_device): Added this struct and
11967         accessor macros.
11968         (mswindows_device): Made fontlist a lisp object.
11969
11970         * device.c (semi_canonicalize_device_connection):  Try to delegate
11971         to canonicalize_device_connection if no such console method.
11972         (canonicalize_device_connection): Vice versa.
11973         (print_device): Do not print nil connection.
11974
11975         * device-msw.c (mswindows_init_device): Call InitCommonControls
11976         when have widgets.
11977         (mswindows_delete_device): Removed fontlist deallocation.
11978         (mswindows_mark_device): Added.
11979
11980         * events.c (event_equal): Added abort() at unreached code.
11981         (event_hash): Ditto.
11982
11983         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
11984         fallback tags of Windows devices.
11985
11986         * general.c (syms_of_general): Initialized Qmsprinter.
11987
11988         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
11989         of fallback tags of Windows devices.
11990
11991         * lisp.h: Declared Qmsprinter.
11992
11993         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
11994         of strings.
11995         (mswindows_list_fonts): Ditto.
11996         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
11997         that it can be used by both mswindows and msprinter devices.
11998         (initialize_font_instance): Added.
11999         (mswindows_initialize_font_instance): Use it.
12000         (msprinter_initialize_font_instance): Added.
12001
12002         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
12003         and implementation flags check.
12004         (redisplay_without_hooks): Changed the call to the above.
12005         (Fredraw_device): Ditto.
12006         (Fredisplay_device): Ditto.
12007
12008         * redisplay-msw.c (get_frame_dc): Implemented.
12009         (get_frame_compdc): Implemented.
12010         (many functions): Use the two functions above to get device
12011         contexts, ether for a window or a printer.
12012
12013 2000-01-21  Olivier Galibert  <galibert@pobox.com>
12014
12015         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
12016         initialization here.
12017         (init_symbols_once_early): Call it.
12018         * emacs.c (main_1): Call it.
12019         * symsinit.h: Declare it.
12020
12021 2000-01-19  Olivier Galibert  <galibert@pobox.com>
12022
12023         * alloc.c: Use a lrecord_header * in the backtrace instead of a
12024         Lisp_Object.
12025         (pdump_backtrace): Ditto.
12026         (pdump_register_object): Ditto.  Cleanup use of the pointers.
12027         (pdump_get_entry): Abort if trying to register a null pointer.
12028         (pdump_dump_data): Cleanup types when relocating.
12029         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
12030         (pdump_dump_rtables): Remove bad casts.
12031         (pdump_load): Cleanup relocation w.r.t union type.  Use a
12032         Lisp_Object instead of a EMACS_INT for the hashtable
12033         reorganization.
12034
12035 2000-01-20  Martin Buchholz  <martin@xemacs.org>
12036
12037         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
12038
12039         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
12040
12041         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
12042
12043         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
12044
12045 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12046
12047         * faces.h (FACE_STRIKETHRU_P): Added.
12048
12049         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
12050         of font variants.
12051
12052         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
12053         (mswindows_set_dc_font): New function, aware of font variants,
12054         separated from mswindows_update_dc.
12055
12056         * objects-msw.h (struct mswindows_font_instance_data): Added
12057         definition.
12058
12059         * objects-msw.c (mswindows_finalize_font_instance): Delete all
12060         cached fonts and the data structure.
12061         (mswindows_initialize_font_instance): Added creation of font data
12062         structure.
12063         (mswindows_print_font_instance): Print at least something.
12064         (mswindows_create_font_variant): Implemented.
12065         (mswindows_get_hfont): Implemented.
12066
12067 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
12068
12069         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
12070         prototyping problem with msvc.
12071
12072         * emacs.c (main_1): added syms_of_gui_mswindows() call
12073
12074         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
12075         syms_of_gui_mswindows() function
12076
12077         * symsinit.h: added the prototype for syms_of_gui_mswindows()
12078
12079 2000-01-18  Martin Buchholz <martin@xemacs.org>
12080
12081         * XEmacs 21.2.27 is released.
12082
12083 2000-01-18  Martin Buchholz  <martin@xemacs.org>
12084
12085         * glyphs-eimage.c (struct tiff_error_struct):
12086         (tiff_error_func):
12087         (tiff_warning_func):
12088         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
12089
12090         * unexmips.c:
12091         * unexhp9k3.c:
12092         * unexfreebsd.c:
12093         * unexec.c: Remove vestigial Lucid C code.
12094         * unexalpha.c:
12095         * unexaix.c:
12096         * termcap.c:
12097         * libsst.c: Ansify.
12098         Remove declarations of errno and strerror().
12099
12100         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
12101
12102         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
12103
12104 2000-01-16  Martin Buchholz  <martin@xemacs.org>
12105
12106         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
12107         Optimize.
12108
12109 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12110
12111         * md5.c:
12112         * file-coding.c:
12113         * file-coding.h:
12114         Change enum eol_type to eol_type_t.
12115
12116 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12117
12118         * gui.c (get_gui_callback): Check cons before accessing car.
12119
12120 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12121
12122         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
12123         (XSETSPECIFIER_TYPE): Ditto.
12124
12125 2000-01-17  Didier Verna  <didier@xemacs.org>
12126
12127         * redisplay.c (generate_fstring_runes): compute string size in
12128         characters, not bytes.
12129
12130 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12131
12132         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
12133
12134 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
12135
12136         * print.c (print_error_message): Call print_prepare().
12137
12138 2000-01-14  Martin Buchholz  <martin@xemacs.org>
12139
12140         * .dbxrc: Renamed from dbxrc.
12141
12142         * events.c (event_to_character):
12143         Use `assert (foo)' instead of `if (!foo) abort()'
12144
12145         * .gdbinit (xtype): Add documentation.
12146         * .gdbinit (check-temacs): New function.
12147         * .gdbinit (check-xemacs): New function.
12148         * dbxrc (check-xemacs): New function.
12149         * dbxrc (check-xemacs): New function.
12150
12151 2000-01-14  Andy Piper  <andy@xemacs.org>
12152
12153         * glyphs-widget.c (widget_query_geometry): Make sure that we
12154         calculate default dimensions correctly.
12155
12156 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12157
12158         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
12159
12160         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
12161         pdump_wire'd variable.
12162
12163         * emacs.c: (main_1): Conditionalized calls to
12164         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
12165
12166 2000-01-13  Martin Buchholz  <martin@xemacs.org>
12167
12168         * window.c (Fset_window_configuration):
12169         * sysdep.c (_start):
12170         * input-method-motif.c (res):
12171         * event-Xt.c (Xt_process_to_emacs_event):
12172         Simple compiler warning fixes.
12173
12174         * bytecode.c (funcall_compiled_function): Use the original
12175         function symbol on the backtrace list in preference to the
12176         compiled_function object in error messages.
12177
12178 2000-01-13  Andy Piper  <andy@xemacs.org>
12179
12180         * glyphs-x.c (update_widget_face): Make sure we update the widget
12181         background as well as foreground.
12182
12183 2000-01-13  Andy Piper  <andy@xemacs.org>
12184
12185         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
12186         fields to subwindow.
12187         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
12188         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
12189         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12190         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
12191
12192         * glyphs-widget.c (check_valid_tab_orientation): new function.
12193         (initialize_widget_image_instance): zero orientation and
12194         justification.
12195         (widget_instantiate): pick up orientation.
12196         (tab_control_query_geometry): return appropriate values for
12197         vertical tabs.
12198
12199         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
12200         appropriate creation flags for left, right and bottom tabs.
12201
12202         * s/cygwin32.h: add tab definitions.
12203
12204 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12205
12206         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
12207         frame upon hiding a subwindow.
12208         (mswindows_button_instantiate): Changed the push button style to
12209         BS_PUSHBUTTON.
12210         (mswindows_button_instantiate): Removed button BS_NOTIFY
12211         style.
12212         (mswindows_button_instantiate): Removed redundant check for
12213         a disabled gui item.
12214         (mswindows_button_instantiate): Made use of WS_TABSTOP
12215         consistent: "operable" controls (edit, button, tree, scroll) have
12216         this style, "display-only" ones (static, progress gauge) do
12217         not. This style is currently ignored by XEmacs though. Also,
12218         removed the WS_EX_CONTROLPARENT style - it is not for children,
12219         it is for their parents!
12220         (mswindows_edit_field_instantiate): Ditto.
12221         (mswindows_progress_gauge_instantiate): Ditto.
12222         (mswindows_tree_view_instantiate): Ditto.
12223         (mswindows_tab_control_instantiate): Ditto.
12224         (mswindows_scrollbar_instantiate): Ditto.
12225         (mswindows_combo_box_instantiate): Ditto.
12226         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
12227         style to the "clip" window.
12228         (mswindows_button_instantiate): Removed compilation warning by
12229         equally typing terms of the ?: operator.
12230
12231 2000-01-12  Didier Verna  <didier@xemacs.org>
12232
12233         * redisplay.c (generate_fstring_runes): new parameter holding the
12234         last modeline-format extent.
12235         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
12236         extent, fill the glyph block with it.
12237         (generate_fstring_runes): handle these parameters.
12238         (generate_formatted_string_db): ditto.
12239
12240         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
12241         glyphs'extents in the modeline.
12242
12243 1999-01-11  Mike Woolley  <mike@bulsara.com>
12244
12245         * ntheap.c: Reduced the reserved heap space from 1Gb down to
12246         256Mb, as a workaround for the non-starting problem many people
12247         have experienced.
12248
12249 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
12250
12251         * console-tty.c (Fset_console_tty_output_coding_system):
12252         Force redrawing tty frame.
12253
12254 2000-01-10  Didier Verna  <didier@xemacs.org>
12255
12256         * redisplay.c (generate_fstring_runes): fix size computation bug.
12257
12258 2000-01-09  William M. Perry <wmperry@aventail.com>
12259
12260         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
12261
12262 2000-01-09  Andy Piper  <andy@xemacs.org>
12263
12264         * glyphs-msw.c: index -> i to avoid shadows.
12265         (xbm_create_bitmap_from_data): make static.
12266         (check_valid_string_or_int): deleted.
12267         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
12268
12269         * glyphs-x.c (x_update_subwindow): remove unused args.
12270
12271         * glyphs.c (glyph_image_instance): return the thing. Don't set the
12272         back pointer - this is done in allocate_image_instance.
12273         (query_string_font): return Qnil to make the compiler happy.
12274         (unmap_subwindow): set to ~0 to make the compiler happy.
12275         (glyph_query_geometry): comment out until used.
12276         (glyph_layout): ditto.
12277
12278 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
12279
12280         * insdel.c (signal_after_change): Remove extraneous unbind_to().