update.
[chise/xemacs-chise.git] / src / ChangeLog
1 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
4
5 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
6
7         * chartab.c (put_char_table): Modify for inherited coded-charsets
8         in XEmacs CHISE.
9
10 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
11
12         * chartab.c (Fput_char_table_map_function): Fixed.
13         (word_boundary_p): Don't check charset in XEmacs CHISE.
14
15 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
16
17         * mule-charset.c (charset_code_point): Fix problem when searching
18         in mother CCS fails with `defined_only' mode.
19
20 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
21
22         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
23         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
24         (put_char_composition): Likewise.
25         (Fput_char_attribute): Likewise.
26         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
27
28 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
29
30         * chartab.c (Q_ucs): Deleted.
31         (Fput_char_attribute): Don't refer `->ucs'.
32         (Fdefine_char): Likewise.
33         (Ffind_char): Likewise.
34         (syms_of_chartab): Delete `->ucs'.
35
36 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
37
38         * mule-charset.c (Qmap_cns11643_2): Renamed from
39         `Qchinese_cns11643_2'.
40         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
41         `chinese-cns11643-2'.
42         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
43         `=cns11643-2'.
44
45 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
46
47         * mule-charset.c (Qmap_cns11643_1): Renamed from
48         `Qchinese_cns11643_1'.
49         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
50         `chinese-cns11643-1'.
51         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
52         `=cns11643-1'.
53
54 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
55
56         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
57         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
58         `chinese-gb12345'.
59         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
60         `=gb12345'.
61
62 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
63
64         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
65         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
66         `chinese-gb2312'.
67         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
68         `=gb2312'.
69
70 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
71
72         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
73         (syms_of_mule_charset): Add new symbol `=big5' instead of
74         `chinese-big5'.
75         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
76
77 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
78
79         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
80         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
81         `korean-ksc5601'.
82         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
83         `=ks-x1001'.
84
85 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
86
87         * mule-charset.c (Qmap_jis_x0212): Renamed from
88         `Qjapanese_jisx0212'.
89         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
90         `japanese-jisx0212'.
91         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
92         `=jis-x0212'.
93
94 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
95
96         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
97         `Qjapanese_jisx0208'.
98         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
99         of `japanese-jisx0208'.
100         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
101         `=jis-x0208-1983'.
102
103 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
106         `Qjapanese_jisx0208_1978'.
107         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
108         of `japanese-jisx0208-1978'.
109         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
110         `=jis-x0208-1978'.
111
112 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
113
114         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
115         only for XEmacs CHISE.
116
117 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
118
119         * char-ucs.h: Compact non-ISO-IR charset-ids.
120         (LEADING_BYTE_UCS): Changed to -177.
121         (LEADING_BYTE_CONTROL_1): Changed to -77.
122         (LEADING_BYTE_UCS_BMP): Changed to -176.
123         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
124
125 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
126
127         * mule-charset.c (Qiso_ir): New variable.
128         (Fmake_charset): Recognise new property `iso-ir'.
129         (syms_of_mule_charset): Add new symbol `iso-ir'.
130
131 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
132
133         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
134         n to -n; charset-id of non ISO-IR sets are changed to positive
135         numbers.
136
137 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
138
139         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
140         for &MCS-XXXXXXXX; values.
141
142 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
143
144         * mule.c (Vxemacs_chise_version): Renamed from
145         `Vutf_2000_version'.
146         (vars_of_mule): Add new variable `xemacs-chise-version'; define
147         `utf-2000-version' as an alias for `xemacs-chise-version'.
148
149 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
150
151         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
152         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
153         defined.
154
155         * config.h.in (CHISE): New macro.
156
157 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
158
159         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
160         of `ucs'.
161         (Qmap_ucs): New variable.
162         (syms_of_mule_charset): Add new symbol `=ucs'.
163         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
164
165         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
166         (simplify_char_spec): Likewise.
167
168         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
169
170         * char-ucs.h (Qmap_ucs): New extern variable.
171
172 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
173
174         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
175         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
176         don't define it when UTF2000 is not defined.
177         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
178         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
179         when UTF2000 is not defined.
180         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
181         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
182
183 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
184
185         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
186
187         * mule-charset.c (Vcharset_ucs_gb): Deleted.
188         (Qucs_gb): Deleted.
189         (syms_of_mule_charset): Delete `ucs-gb'.
190         (complex_vars_of_mule_charset): Likewise.
191
192 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
193
194         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
195
196         * mule-charset.c (Vcharset_ucs_cns): Deleted.
197         (Qucs_cns): Deleted.
198         (syms_of_mule_charset): Delete `ucs-cns'.
199         (complex_vars_of_mule_charset): Likewise.
200
201 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
202
203         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
204
205         * mule-charset.c (Vcharset_ucs_jis): Deleted.
206         (Qucs_jis): Deleted.
207         (syms_of_mule_charset): Delete `ucs-jis'.
208         (complex_vars_of_mule_charset): Likewise.
209
210 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
211
212         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
213
214         * mule-charset.c (Vcharset_ucs_ks): Deleted.
215         (Qucs_ks): Deleted.
216         (syms_of_mule_charset): Delete `ucs-ks'.
217         (complex_vars_of_mule_charset): Likewise.
218
219 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
220
221         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
222         (Qideograph_daikanwa_2): Deleted.
223         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
224         (complex_vars_of_mule_charset): Likewise.
225
226         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
227         (LEADING_BYTE_DAIKANWA_1): Deleted.
228         (LEADING_BYTE_DAIKANWA_2): Deleted.
229         (MIN_CHAR_DAIKANWA): Deleted.
230         (MAX_CHAR_DAIKANWA): Deleted.
231
232 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
233
234         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
235         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
236         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
237
238         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
239         (Vcharset_ideograph_daikanwa): Deleted.
240         (Qideograph_hanziku_{1..12}): Deleted.
241         (Qideograph_daikanwa): Deleted.
242         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
243         Vcharset_ideograph_daikanwa.
244         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
245         `ideograph-hanziku-{1..12}'.
246         (complex_vars_of_mule_charset): Likewise.
247
248 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
249
250         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
251
252         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
253         (Qideograph_gt_pj_{1..11}): Deleted.
254         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
255         (complex_vars_of_mule_charset): Likewise.
256
257 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
258
259         * mule-charset.c (Vcharset_ucs_big5): Deleted.
260         (Vcharset_ideograph_gt): Deleted.
261         (Qucs_big5): Deleted.
262         (Qideograph_gt): Deleted.
263         (syms_of_mule_charset): Delete symbol `ucs-big5' and
264         `ideograph-gt'.
265         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
266         and `ideograph-gt'.
267
268         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
269         (LEADING_BYTE_GT): Deleted.
270         (MIN_CHAR_GT): Deleted.
271         (MAX_CHAR_GT): Deleted.
272
273 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
274
275         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
276
277 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
278
279         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
280         (save_uint16_byte_table): Likewise.
281         (save_byte_table): Likewise; convert values by it.
282         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
283         for `ideographic-structure'.
284         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
285         as the filter for `ideographic-structure'.
286
287 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
288
289         * chartab.c (put_char_composition): New function.
290         (Fput_char_attribute): Use `put_char_composition'; use
291         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
292
293         * fns.c (simplify_char_spec): New function.
294         (char_ref_simplify_spec): New function.
295         (Fchar_refs_simplify_char_specs): New function.
296         (syms_of_fns): Add new builtin function
297         `char-refs-simplify-char-specs'.
298
299 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
300
301         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
302         (Qideograph_cbeta): Deleted.
303         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
304         (complex_vars_of_mule_charset): Likewise.
305
306         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
307         (MIN_CHAR_CBETA): Comment out.
308         (MAX_CHAR_CBETA): Likewise.
309
310 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
311
312         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
313         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
314         CHISE client feature.
315
316 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
317
318         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
319
320 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
321
322         * mule-charset.c (charset_lookup_description_1): Use
323         `NUM_LEADING_BYTES' in UTF-2000.
324
325 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
326
327         * char-ucs.h (GC_CHARSETP): Deleted.
328
329 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
330
331         * char-ucs.h (MAX_CHAR_GT): Updated.
332
333 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
334
335         * text-coding.c: Sync with XEmacs 21.4.10.
336
337 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
338
339         * mule-charset.c (Vcharset_china3_jef): Deleted.
340         (Qchina3_jef): Deleted.
341         (syms_of_mule_charset): Don't define `china3-jef'.
342         (complex_vars_of_mule_charset): Likewise.
343
344         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
345         (MIN_CHAR_CHINA3_JEF): Comment out.
346         (MAX_CHAR_CHINA3_JEF): Comment out.
347
348 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
349
350         * mule-charset.c (Vcharset_ucs_gb): New variable.
351         (Qucs_gb): New variable.
352         (syms_of_mule_charset): Add new symbol `ucs-gb'.
353         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
354
355         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
356
357 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
358
359         * mule-charset.c (charset_code_point): if a coded-charset has a
360         final-byte, don't inherit the builtin range of the mother CCS.
361
362 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
363
364         * mule-charset.c (charset_code_point): Fix problem about
365         inheritance.
366
367 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
368
369         * mule-charset.c (decode_builtin_char): Reorganized.
370
371 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
372
373         * text-coding.c (char_encode_as_entity_reference): Modify for
374         `charset_code_point'.
375         (char_encode_shift_jis): Likewise.
376         (char_encode_big5): Likewise.
377         (char_encode_utf8): Likewise.
378         (char_encode_iso2022): Likewise.
379
380         * mule-charset.c (charset_code_point): Add new argument
381         `defined_only'.
382         (Fencode_char): Add new optional argument `defined_only'.
383
384         * chartab.c (put_char_table): Modify for `charset_code_point'.
385
386         * char-ucs.h (charset_code_point): Add new argument
387         `defined_only'.
388         (encode_char_1): Modify for `charset_code_point'.
389
390 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
391
392         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
393         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
394
395 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
396
397         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
398         (Qjis_x0208): Likewise.
399         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
400         XCHARSET_FINAL(charset).
401         (charset_code_point): Modify condition for final-byte based
402         builtin-chars.
403         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
404         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
405         in UTF-2000; specify `=jis-x0208' as the mother of
406         `japanese-jisx0208-1978', `japanese-jisx0208' and
407         `japanese-jisx0208-1990' in UTF-2000.
408
409 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
410
411         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
412
413 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
414
415         * text-coding.c (decode_coding_utf16): Support UTF-16.
416         (char_encode_utf16): Fixed.
417
418 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
419
420         * text-coding.c (Qutf16): New variable in MULE.
421         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
422         (Fcoding_system_type): Add `utf-16' in MULE.
423         (struct detection_state): Add a structure for utf16 in MULE.
424         (detect_coding_type): Setup st->utf16.mask in MULE.
425         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
426         MULE.
427         (reset_encoding_stream): Use `char_encode_utf16' and
428         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
429         (detect_coding_utf16): New function [incomplete].
430         (decode_coding_utf16): New function [support only UCS-2].
431         (char_encode_utf16): New function.
432         (char_finish_utf16): New function.
433         (syms_of_file_coding): Add new symbol `utf-16'; setup
434         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
435
436         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
437         UTF-2000.
438         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
439         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
440
441 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
442
443         * chartab.c (put_char_table): When a charset is specified as a
444         range in UTF-2000, don't support builtin characters.
445
446 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
447
448         * mule-charset.c (decode_defined_char): Don't refer external
449         database if Qunbound or Qnil are found.
450         (Fsave_charset_mapping_table): Don't define it if
451         HAVE_CHISE_CLIENT is not defined.
452         (Freset_charset_mapping_table): New function.
453         (load_char_decoding_entry_maybe): Store Qnil if a character is not
454         found in external database.
455         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
456         if HAVE_CHISE_CLIENT is not defined; add new builtin function
457         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
458
459 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
460
461         * text-coding.c (decode_coding_utf8): Check CCS is specified or
462         not.
463
464 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
465
466         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
467         Q_lowercase, Q_uppercase in UTF-2000.
468
469         * chartab.c (get_char_table): Add special code for the standard
470         case table to use character attribute `->downcase' and
471         `->uppercase' for case operations in UTF-2000.
472
473         * casetab.c (Qflippedcase): New variable in UTF-2000.
474         (Q_lowercase): Likewise.
475         (Q_uppercase): Likewise.
476         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
477         and `->uppercase' in UTF-2000.
478         (complex_vars_of_casetab): Assign attribute name `downcase' to
479         downcase and CANON table of Vstandard_case_table in UTF-2000;
480         assign attribute name `flippedcase' to upcase and EQV table of
481         Vstandard_case_table in UTF-2000.
482
483 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
484
485         * text-coding.c (decode_add_er_char): Support isolated-chars.
486         (char_encode_as_entity_reference): Likewise.
487
488 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
489
490         * emacs.c (Vutf_2000_lisp_directory): New variable.
491         (Vconfigure_utf_2000_lisp_directory): Likewise.
492         (complex_vars_of_emacs): Add new variable
493         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
494
495 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
496
497         * char-ucs.h (DECODE_CHAR): Delete special code for
498         `chinese-big5-1' and `chinese-big5-2'.
499
500         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
501         (Qbig5_2): Likewise.
502         (decode_defined_char): Support CONVERSION_BIG5_1 and
503         CONVERSION_BIG5_2.
504         (decode_builtin_char): Likewise.
505         (charset_code_point): Likewise.
506         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
507         'conversion in UTF-2000.
508         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
509         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
510         `chinese-big5-2' as children of `chinese-big5'.
511
512         * char-ucs.h (CONVERSION_BIG5_1): New macro.
513         (CONVERSION_BIG5_2): New macro.
514
515 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
516
517         * text-coding.c (char_encode_big5): Support entity-reference.
518
519 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
520
521         * text-coding.c (char_encode_as_entity_reference): New function.
522         (char_encode_utf8): Use `char_encode_as_entity_reference'.
523
524 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
525
526         * text-coding.c (decode_coding_big5): Support entity-reference
527         decoding feature.
528
529 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
530
531         * text-coding.c (allocate_coding_system): Initialize initial
532         charsets for CODESYS_UTF8.
533         (Fmake_coding_system): Accept charset-g0, charset-g1 and
534         charset-g2 for CODESYS_UTF8.
535         (decode_coding_utf8): Use charset-g0.
536         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
537         to force variants to map to UCS.
538
539 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
540
541         * text-coding.c (Qutf_8_mcs): New variable.
542         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
543         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
544         instead of `utf-8' in UTF-2000.
545
546 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
547
548         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
549         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
550         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
551         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
552         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
553         CONVERSION_96x96x96x96 are introduced.
554         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
555         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
556         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
557
558         * char-ucs.h (CONVERSION_94): New macro.
559         (CONVERSION_96): New macro.
560         (CONVERSION_94x94): New macro.
561         (CONVERSION_96x96): New macro.
562         (CONVERSION_94x94x94): New macro.
563         (CONVERSION_96x96x96): New macro.
564         (CONVERSION_94x94x94x60): New macro.
565         (CONVERSION_94x94x94x94): New macro.
566         (CONVERSION_96x96x96x96): New macro.
567
568 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
569
570         * chartab.c (Vcharacter_variant_table): Deleted.
571         (Fchar_variants): Use character-attribute `->ucs-variants' instead
572         of `Vcharacter_variant_table'.
573         (Fput_char_attribute): Likewise.
574         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
575         (complex_vars_of_chartab): Likewise.
576
577 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
578
579         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
580
581         * fns.c (Qideographic_structure): New variable.
582         (Qkeyword_char): New variable.
583         (ids_format_unit): New function.
584         (Fideographic_structure_to_ids): New function.
585         (syms_of_fns): Add new symbols `ideographic-structure' and
586         `:char'; add new builtin function `ideographic-structure-to-ids'.
587
588         * data.c (Fchar_ref_p): New function.
589         (syms_of_data): Add new builtin function `char-ref-p'.
590
591         * chartab.h: Add an EXFUN for `Ffind_char'.
592
593 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
594
595         * text-coding.c (Vcharacter_composition_table): Deleted.
596         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
597         in every UTF-2000.
598
599         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
600         UTF-2000.
601         (Vcharacter_composition_table): Deleted.
602         (Fget_composite_char): Use the implementation for external-DB
603         support in every UTF-2000.
604         (Fput_char_attribute): Likewise.
605         (char_attribute_system_db_file): Don't define if external-DB
606         feature is not available.
607         (Fsave_char_attribute_table): Likewise.
608         (Fmount_char_attribute_table): Likewise.
609         (Fclose_char_attribute_table): Likewise.
610         (Freset_char_attribute_table): Likewise.
611         (Fload_char_attribute_table): Likewise.
612         (syms_of_chartab): Don't define `save-char-attribute-table',
613         `mount-char-attribute-table', `reset-char-attribute-table',
614         `close-char-attribute-table' and `load-char-attribute-table' if
615         external-DB feature is not available.
616         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
617
618 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
619
620         * text-coding.c (Qcomposition): Add extern if external-DB feature
621         is supported.
622         (Vcharacter_composition_table): Don't add extern if external-DB
623         feature is supported.
624         (COMPOSE_ADD_CHAR): Modify for new data-representation of
625         character composition rule if external-DB feature is supported.
626
627         * chartab.c (Vcharacter_composition_table): Don't define if
628         external-DB feature is supported.
629         (Qcomposition): New variable.
630         (Fget_composite_char): New implementation for external-DB support.
631         (Fput_char_attribute): Use `composition' property of each
632         character instead of `Vcharacter_composition_table' to store
633         character-composition rules if external-DB feature is supported.
634         (syms_of_chartab): Add new symbol `composition'.
635         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
636         external-DB feature is supported.
637
638 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
639
640         * chartab.c (Vchar_db_stingy_mode): New variable.
641         (load_char_attribute_maybe): Close database if
642         Vchar_db_stingy_mode is not NIL.
643         (Fload_char_attribute_table_map_function): Use
644         `get_char_id_table_0' instead of `get_char_id_table'.
645         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
646
647         * chartab.h (get_char_id_table_0): New inline function.
648         (get_char_id_table): Use `get_char_id_table_0'.
649
650 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
651
652         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
653         and `COMPOSE_ADD_CHAR'.
654         (decode_coding_iso2022): Use `decode_flush_er_chars'.
655
656 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
657
658         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
659         instead of `DECODE_ADD_UCS_CHAR'.
660         (COMPOSE_ADD_CHAR): Likewise.
661
662 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
663
664         * text-coding.c (decode_flush_er_chars): New inline function.
665         (decode_add_er_char): New function.
666         (decode_coding_utf8): Use `decode_flush_er_chars' and
667         `decode_add_er_char'.
668
669 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
670
671         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
672         done before `decode_output_utf8_partial_char'.
673
674         * mule-charset.c (complex_vars_of_mule_charset): Specify
675         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
676         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
677
678 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
679
680         * mule-charset.c (decode_defined_char): New function; search
681         mother.
682         (decode_builtin_char): Don't search mother if
683         XCHARSET_MAX_CODE(charset) == 0.
684         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
685         == 0 even if code >= XCHARSET_MAX_CODE(charset).
686         (Fdecode_char): Use `decode_defined_char' instead of
687         `DECODE_DEFINED_CHAR'.
688         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
689         mother of `Vcharset_ucs_jis'.
690
691         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
692         instead of `DECODE_DEFINED_CHAR'.
693
694         * char-ucs.h (decode_defined_char): Renamed from
695         `DECODE_DEFINED_CHAR'; changed to normal function.
696         (DECODE_CHAR): Use `decode_defined_char' instead of
697         `DECODE_DEFINED_CHAR'.
698
699         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
700
701 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
702
703         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
704
705         * text-coding.c (Vcoded_charset_entity_reference_alist): New
706         variable.
707         (Quse_entity_reference): New variable.
708         (Qd): New variable.
709         (Qx): New variable.
710         (QX): New variable.
711         (coding_system_description): Add description for
712         `ccs_priority_list'.
713         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
714         (allocate_coding_system): Initialize `ccs_priority_list' in
715         UTF-2000.
716         (Fmake_coding_system): Add description about
717         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
718         (codesys).
719         (Fcoding_system_property): Accept `disable-composition' and
720         `use-entity-reference' in UTF-2000.
721         (struct decoding_stream): Add new member `er_counter' and `er_buf'
722         in UTF-2000.
723         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
724         (decode_coding_utf8): Decode entity-reference if
725         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
726         (char_encode_utf8): Encode non-Unicode characters as
727         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
728         (str->codesys).
729         (syms_of_file_coding): Add new symbols `use-entity-reference',
730         `d', `x', `X'.
731         (vars_of_file_coding): Add new variable
732         `coded-charset-entity-reference-alist'.
733         (complex_vars_of_file_coding): Declare `disable-composition' and
734         `use-entity-reference' to be coding-system-properties in UTF-2000.
735
736         * file-coding.h (struct Lisp_Coding_System): Add new member
737         `use_entity_reference' and `ccs_priority_list'.
738         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
739         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
740         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
741
742 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
743
744         * chartab.c (save_uint8_byte_table): Don't clear the table.
745         (save_uint16_byte_table): Likewise.
746         (save_byte_table): Likewise.
747         (Fmount_char_attribute_table): New function.
748         (syms_of_chartab): Add new builtin function
749         `mount-char-attribute-table'.
750
751 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
752
753         * mule-charset.c (Fsave_charset_mapping_table): Open database as
754         "w+" mode.
755         (load_char_decoding_entry_maybe): Open database as read-only mode.
756
757         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
758         open database as "w+" mode.
759         (load_char_attribute_maybe): Open database as read-only mode.
760         (Fload_char_attribute_table): Likewise.
761
762 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
763
764         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
765         (char_table_description): Delete member `db_file'.
766         (Fmake_char_table): Don't refer `ct->db_file'.
767         (Fcopy_char_table): Likewise.
768         (Fsave_char_attribute_table): Likewise.
769         (Fclose_char_attribute_table): Likewise.
770         (Freset_char_attribute_table): Likewise.
771         (load_char_attribute_maybe): Likewise.
772         (Fload_char_attribute_table): Likewise.
773
774         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
775
776 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
777
778         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
779         (Fsave_char_attribute_table): Don't check `ct->db_file' if
780         `ct->db' is living.
781         (load_char_attribute_maybe): Likewise.
782         (Fload_char_attribute_table): Likewise.
783
784 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
785
786         * chartab.c (Fclose_char_attribute_table): Set Qnil on
787         `ct->db_file' unconditionally.
788
789 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
790
791         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
792         UTF-2000.
793         (char_table_description): Add description for `db_file' and `db'
794         in UTF-2000.
795         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
796         UTF-2000.
797         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
798         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
799         (Fclose_char_attribute_table): New function.
800         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
801         (load_char_attribute_maybe): Change interface; use `cit->db_file'
802         and `cit->db'.
803         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
804         (syms_of_chartab): Add new builtin function
805         `Fclose_char_attribute_table'.
806
807 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
808
809         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
810         `db' in UTF-2000.
811         (load_char_attribute_maybe): Change interface.
812         (get_char_id_table): Modify for `load_char_attribute_maybe'.
813
814 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
815
816         * database.h: Add an EXFUN for `Fdatabase_live_p'.
817
818 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
819
820         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
821         instead of `DECODE_CHAR' for mother; don't use special code for
822         chinese-big5 to use code space of chinese-big5-1 and
823         chinese-big5-2.
824         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
825         `MAX_CHAR_BIG5_CDP' for chinese-big5.
826
827         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
828         (MAX_CHAR_BIG5_CDP): Revival.
829
830 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
831
832         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
833         the XLFD registry-encoding name of `chinese-big5'.
834
835 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
836
837         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
838         (Qchinese_big5_cdp): Deleted.
839         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
840         (complex_vars_of_mule_charset): Delete coded-charset
841         `chinese-big5-cdp'.
842
843         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
844         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
845         `CHARSET_ID_OFFSET - n' for private CCS.
846         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
847         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
848         of `MIN_LEADING_BYTE'.
849         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
850         `(CHARSET_ID_OFFSET - 97)'.
851         (MIN_CHAR_BIG5_CDP): Deleted.
852         (MAX_CHAR_BIG5_CDP): Deleted.
853
854 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
855
856         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
857
858 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
859
860         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
861         (vars_of_mule): Add new variable `utf-2000-version' [moved from
862         chartab.c].
863
864         * chartab.c (Vutf_2000_version): Moved to mule.c.
865         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
866
867 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
868
869         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
870         when HAVE_CHISE_CLIENT is not defined.
871
872         * mule.c (vars_of_mule): Provide feature `chise' when
873         HAVE_CHISE_CLIENT is defined.
874
875 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
876
877         * config.h.in (UTF2000): Add comment.
878         (HAVE_CHISE_CLIENT): New macro.
879
880 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
881
882         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
883         CONSP.
884         (Fput_char_attribute): Likewise.
885         (char_attribute_system_db_file): Encode file-name of attribute.
886         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
887         the initial value.
888
889 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
890
891         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
892         (Fsave_charset_mapping_table): Use
893         `char_attribute_system_db_file'.
894         (load_char_decoding_entry_maybe): Likewise.
895
896         * chartab.h (Qsystem_char_id): New external variable.
897         (char_attribute_system_db_file): New prototype.
898
899         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
900         (char_attribute_system_db_file): New function.
901         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
902         (Freset_char_attribute_table): Likewise.
903         (load_char_attribute_maybe): Likewise.
904         (Fload_char_attribute_table): Likewise.
905         (syms_of_chartab): Add new symbol `system-char-id'.
906
907 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
908
909         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
910         `XCHARSET_GRAPHIC(ccs)'.
911
912 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
913
914         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
915
916 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
917
918         * chartab.c (Q_ucs_variants): New variable.
919         (syms_of_chartab): Add new symbol `->ucs-variants'.
920         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
921         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
922         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
923
924         * mule-charset.c (load_char_decoding_entry_maybe): New function.
925
926         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
927         `HAVE_DATABASE' is defined.
928         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
929         `HAVE_DATABASE' is defined.
930
931 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
932
933         * chartab.c (Fsave_char_attribute_table): Don't clear internal
934         attribute-table.
935         (Freset_char_attribute_table): New function.
936         (syms_of_chartab): Add new builtin function
937         `reset-char-attribute-table'.
938
939 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
940
941         * chartab.c (load_char_attribute_maybe): Don't make directories.
942
943 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
944
945         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
946
947         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
948         for decoding-table.
949
950 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
951
952         * mule-charset.c (Fsave_charset_mapping_table): Use
953         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
954
955         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
956         instead of `XCHARSET_CHARS'.
957
958 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
959
960         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
961         (XCHARSET_BYTE_SIZE): Likewise.
962
963         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
964         mule-charset.c].
965         (XCHARSET_BYTE_SIZE): Likewise.
966
967 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
968
969         * chartab.c (Fput_char_attribute): Use exec-directory instead of
970         data-directory to store database.
971         (Fsave_char_attribute_table): Likewise.
972         (load_char_attribute_maybe): Likewise.
973         (Fload_char_attribute_table): Likewise.
974
975 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
976
977         * mule-charset.c (Fsave_charset_mapping_table): New function.
978         (syms_of_mule_charset): Add new builtin function
979         `save-charset-mapping-table'.
980
981 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
982
983         * char-ucs.h (decoding_table_check_elements): Delete prototype.
984         (get_ccs_octet_table): New inline function.
985         (put_ccs_octet_table): Likewise.
986         (decoding_table_put_char): Use `get_ccs_octet_table' and
987         `put_ccs_octet_table'.
988         (decoding_table_remove_char): Use `decoding_table_put_char'.
989         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
990
991         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
992         into encoding_table.
993         (make_charset): Use Qunbound instead Qnil as initial value of
994         decoding_table.
995
996 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
997
998         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
999         element is Qunloaded.
1000         (map_over_uint16_byte_table): Likewise.
1001         (map_over_byte_table): Likewise.
1002         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1003         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1004         database support, load encoding-table of the specified
1005         coded-charset if it is not loaded yet.
1006         (save_uint8_byte_table): New function of UTF-2000 with external
1007         database support.
1008         (save_uint16_byte_table): Likewise.
1009         (save_byte_table): Likewise.
1010         (Fput_char_attribute): Don't store value into external database
1011         even if the external database feature is supported in UTF-2000;
1012         set `attribute' as name of char-table if the external database
1013         feature is supported.
1014         (Fsave_char_attribute_table): New function in UTF-2000.
1015         (syms_of_chartab): Add new builtin function
1016         `save-char-attribute-table' in UTF-2000.
1017
1018 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1019
1020         * chartab.c (char_attribute_table_to_put): New variable in
1021         UTF-2000.
1022         (Qput_char_table_map_function): Likewise.
1023         (value_to_put): Likewise.
1024         (Fput_char_table_map_function): New function in UTF-2000.
1025         (put_char_table): Use `Fmap_char_attribute' for
1026         CHARTAB_RANGE_CHARSET in UTF-2000.
1027         (Fput_char_attribute): Store symbol instead of string in
1028         `XCHAR_TABLE_NAME (table)'.
1029         (load_char_attribute_maybe): Likewise.
1030         (syms_of_chartab): Add new symbol/function
1031         `put-char-table-map-function'.
1032
1033 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1034
1035         * database.h: Add new EXFUN for `Fmap_database'.
1036
1037         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1038         (syms_of_database): Likewise.
1039
1040         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1041         UTF-2000.
1042         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1043         (XCHAR_TABLE_UNLOADED): Likewise.
1044
1045         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1046         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1047         HAVE_DATABASE is defined.
1048         (char_attribute_table_to_load): New variable of UTF-2000 with
1049         external database support.
1050         (Qload_char_attribute_table_map_function): Likewise.
1051         (Fload_char_attribute_table_map_function): New function of
1052         UTF-2000 with external database support.
1053         (Fload_char_attribute_table): New function of UTF-2000.
1054         (Fmap_char_attribute): Call Fload_char_attribute_table if
1055         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1056         (syms_of_chartab): Add new symbol and function
1057         `load-char-attribute-table-map-function' in UTF-2000 with external
1058         database support; add new function `load-char-attribute-table' in
1059         UTF-2000.
1060
1061 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1062
1063         * chartab.h (load_char_attribute_maybe): New prototype for
1064         UTF-2000 with DATABASE support.
1065         (get_char_id_table): Use `load_char_attribute_maybe' if
1066         HAVE_DATABASE is defined.
1067
1068         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1069         with DATABASE support.
1070
1071 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1072
1073         * chartab.c (Fput_char_attribute): Use S-expression as key of
1074         external database.
1075
1076         * chartab.h (get_char_id_table): Use S-expression as key of
1077         external database.
1078
1079 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1080
1081         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1082         if an element is not loaded, load the corresponding attributes
1083         from an external database.
1084         (map_over_uint16_byte_table): Likewise.
1085         (map_over_byte_table): Likewise.
1086         (map_char_table): Modify for `map_over_uint8_byte_table',
1087         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1088         element is not loaded, load the corresponding attributes from an
1089         external database.
1090         (Fput_char_attribute): Change initial values to Qunloaded.
1091
1092         * chartab.h (get_char_id_table): If a character attribute is not
1093         loaded and the attribute value is not found in an external
1094         database, store Qunbound as the attribute value.
1095
1096 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1097
1098         * chartab.c (BT_UINT8_unloaded): New macro.
1099         (UINT8_VALUE_P): Accept Qunloaded.
1100         (UINT8_ENCODE): Likewise.
1101         (UINT8_DECODE): Likewise.
1102         (BT_UINT16_unloaded): New macro.
1103         (UINT16_VALUE_P): Accept Qunloaded.
1104         (UINT16_ENCODE): Likewise.
1105         (UINT16_DECODE): Likewise.
1106         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1107         BT_UINT16_unloaded.
1108         (mark_char_table): Mark `ct->name' in UTF-2000.
1109         (char_table_description): Add `name' in UTF-2000.
1110         (Fmake_char_table): Initialize `ct->name'.
1111         (Fcopy_char_table): Copy `ct->name'.
1112         (Fput_char_attribute): Store value into an external database if
1113         HAVE_DATABASE is defined.
1114
1115         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1116         UTF-2000.
1117         (CHAR_TABLE_NAME): New macro in UTF-2000.
1118         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1119         (get_char_id_table): Try to read an external database if Qunloaded
1120         is stored in a table.
1121
1122         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1123         Qunloaded.
1124
1125 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1126
1127         * database.h: Add EXFUN definitions for Fopen_database,
1128         Fput_database, Fget_database and Fclose_database.
1129
1130         * data.c (Qunloaded): New variable in UTF-2000.
1131
1132         * lisp.h (Qunloaded): New variable in UTF-2000.
1133
1134 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1135
1136         * mule-charset.c (put_char_ccs_code_point): Modify for
1137         `decoding_table_remove_char' and `decoding_table_put_char'.
1138         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1139
1140         * char-ucs.h (decoding_table_remove_char): Change arguments to
1141         hide decoding_table vector.
1142         (decoding_table_put_char): Likewise.
1143
1144 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1145
1146         * mule-charset.c (decoding_table_remove_char): Moved to
1147         char-ucs.h.
1148         (decoding_table_put_char): Likewise.
1149
1150         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1151         from mule-charset.c].
1152         (decoding_table_remove_char): New inline function [moved from
1153         mule-charset.c].
1154         (decoding_table_put_char): Likewise.
1155
1156 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1157
1158         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1159         extension.
1160
1161 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1162
1163         * mule-charset.c (decode_builtin_char): Support mother charsets.
1164
1165 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1166
1167         * mule-charset.c (Q94x94x60): New variable.
1168         (charset_code_point): Support conversion `94x94x60'.
1169         (Fmake_charset): Likewise.
1170         (syms_of_mule_charset): Add new symbol `94x94x60'.
1171
1172         * char-ucs.h (CONVERSION_94x94x60): New macro.
1173
1174 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1175
1176         * mule-charset.c (charset_code_point): Unify code about
1177         `code-offset'.
1178
1179 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1180
1181         * mule-charset.c (charset_code_point): Merge code about builtin
1182         characters into code about mother charsets; don't use
1183         `range_charset_code_point'.
1184         (range_charset_code_point): Deleted.
1185
1186 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1187
1188         * mule-charset.c (Qcode_offset): New variable.
1189         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1190         `max-code'; accept new property `code-offset'.
1191         (syms_of_mule_charset): Add new symbol `code-offset'.
1192
1193 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1194
1195         * mule-charset.c (range_charset_code_point): Fixed.
1196
1197 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1198
1199         * mule-charset.c (decode_builtin_char): Change semantics of
1200         code-offset of coded-charset.
1201         (charset_code_point): Likewise.
1202         (range_charset_code_point): Likewise.
1203         (complex_vars_of_mule_charset): Modify for the change.
1204
1205 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1206
1207         * mule-charset.c (Fencode_char): Reverse arguments.
1208
1209         * mule-charset.c (charset_code_point): Fixed.
1210
1211 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1212
1213         * mule-charset.c (Vcharset_mojikyo): Deleted.
1214         (Vcharset_mojikyo_2022_1): Deleted.
1215         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1216         (Qmin_code): New variable in UTF-2000.
1217         (Qmax_code): Likewise.
1218         (Qmother): Likewise.
1219         (Qconversion): Likewise.
1220         (Q94x60): Likewise.
1221         (Qmojikyo): Deleted.
1222         (Qmojikyo_2022_1): Deleted.
1223         (Qmojikyo_pj_{1..22}): Deleted.
1224         (mark_charset): Mark `cs->mother'.
1225         (charset_description): Add description for `mother'.
1226         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1227         new arguments `mother' and `conversion'; use
1228         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1229         (charset_code_point): Moved from char-ucs.h; support `mother'
1230         charset feature.
1231         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1232         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1233         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1234         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1235         allow 2 as the value of `graphic' in UTF-2000; add new properties
1236         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1237         require `final' in UTF-2000; modify for `make_charset'.
1238         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1239         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1240         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1241         (Fencode_char): New function.
1242         (syms_of_mule_charset): Add new builtin function `encode-char' in
1243         UTF-2000; add new symbols `min-code', `max-code', `mother',
1244         `conversion' and `94x60'; delete symbols `mojikyo',
1245         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1246         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1247         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1248         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1249
1250         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1251         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1252
1253         * char-ucs.h (Vcharset_mojikyo): Deleted.
1254         (Vcharset_mojikyo_2022_1): Deleted.
1255         (LEADING_BYTE_MOJIKYO): Deleted.
1256         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1257         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1258         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1259         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1260         add new member `mother'; add new member `conversion'.
1261         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1262         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1263         (CHARSET_MOTHER): New macro.
1264         (CHARSET_CONVERSION): New macro.
1265         (CONVERSION_IDENTICAL): New macro.
1266         (CONVERSION_94x60): New macro.
1267         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1268         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1269         (XCHARSET_MOTHER): New macro.
1270         (XCHARSET_CONVERSION): New macro.
1271         (MIN_CHAR_MOJIKYO): Deleted.
1272         (MAX_CHAR_MOJIKYO): Deleted.
1273         (DECODE_MOJIKYO_2022): Deleted.
1274         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1275         (charset_code_point): Changed to non-inline function.
1276         (encode_char_1): Use `charset_code_point'.
1277         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1278
1279 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1280
1281         * lread.c (read_compiled_function): Fix prototype.
1282         (read_vector): Likewise.
1283
1284 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1285
1286         * lrecord.h (struct lrecord_header): Delete `older'.
1287         (set_lheader_implementation): Delete code for `older'.
1288         (set_lheader_older_implementation): Deleted.
1289         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1290         (OLDER_RECORD_P): Deleted.
1291         (OLDER_RECORD_HEADER_P): Deleted.
1292         (alloc_older_lcrecord): Deleted.
1293         (alloc_older_lcrecord_type): Deleted.
1294
1295         * alloc.c (all_older_lcrecords): Deleted.
1296         (alloc_older_lcrecord): Deleted.
1297         (disksave_object_finalization_1): Delete code for older objects.
1298         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1299         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1300
1301 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1302
1303         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1304         instead of `make_older_vector'.
1305         (put_char_ccs_code_point): Likewise.
1306         (mark_charset): Mark `cs->decoding_table'.
1307         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1308
1309         * lisp.h (make_older_vector): Deleted.
1310         (make_vector_newer): Deleted.
1311
1312         * config.h.in (HAVE_GGC): Deleted.
1313
1314         * alloc.c (make_older_vector): Deleted.
1315         (make_vector_newer_1): Deleted.
1316         (make_vector_newer): Deleted.
1317
1318 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1319
1320         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1321         (Qideograph_daikanwa_2): New variable.
1322         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1323         (complex_vars_of_mule_charset): Add new coded-charset
1324         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1325         `LEADING_BYTE_DAIKANWA'.
1326
1327         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1328         (LEADING_BYTE_DAIKANWA_1): New macro.
1329         (LEADING_BYTE_DAIKANWA_2): New macro.
1330         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1331
1332 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1333
1334         * mule-charset.c (complex_vars_of_mule_charset): Change
1335         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1336         the second revised version.
1337
1338 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1339
1340         * mule-charset.c (Vcharset_ucs_smp): New variable.
1341         (Vcharset_ucs_sip): New variable.
1342         (Qucs_smp): New variable.
1343         (Qucs_sip): New variable.
1344         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1345         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1346         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1347         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1348         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1349         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1350
1351         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1352         (LEADING_BYTE_UCS_SIP): New macro.
1353         (MIN_CHAR_SMP): New macro.
1354         (MAX_CHAR_SMP): New macro.
1355         (MIN_CHAR_SIP): New macro.
1356         (MAX_CHAR_SIP): New macro.
1357
1358 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1359
1360         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1361         utf-2000.
1362
1363 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1364
1365         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1366         value; don't store value into `encoding_table' of `Lisp_Charset'.
1367         (mark_charset): `encoding_table' was deleted.
1368         (charset_description): Likewise.
1369         (make_charset): Likewise.
1370         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1371         `put_char_ccs_code_point'.
1372
1373         * chartab.h (Fput_char_attribute): New EXFUN.
1374
1375         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1376         is unified with normal symbol space.
1377         (Fget_char_attribute): Likewise.
1378         (Fput_char_attribute): Likewise; behavior of
1379         `put_char_ccs_code_point' is changed.
1380
1381         * char-ucs.h: Include "elhash.h".
1382         (Vchar_attribute_hash_table): New external variable.
1383         (struct Lisp_Charset): Delete `encoding_table'.
1384         (CHARSET_ENCODING_TABLE): New implementation; refer
1385         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1386         `Lisp_Charset'.
1387
1388 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1389
1390         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1391         (cs) == 0.
1392
1393 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1394
1395         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1396         `chinese-big5'.
1397
1398 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1399
1400         * chartab.c (uint8_byte_table_description): New constant.
1401         (uint8-byte-table): Use `uint8_byte_table_description'.
1402         (uint16_byte_table_description): New constant.
1403         (uint16-byte-table): Use `uint16_byte_table_description'.
1404
1405 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1406
1407         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1408         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1409
1410 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1411
1412         * mule-charset.c (Vcharset_ucs_ks): New variable.
1413         (Qucs_ks): New variable.
1414         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1415         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1416
1417         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1418
1419 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1420
1421         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1422         (Fdecode_char): Likewise.
1423
1424         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1425         chartab.h.
1426         (Fdefine_char): Modify for Fdecode_char.
1427         (Ffind_char): Likewise.
1428
1429         * mule-charset.c (Fdecode_char): Add new optional argument
1430         `defined-only'.
1431         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1432
1433 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1434
1435         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1436         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1437         (allocate_coding_system): Initialize initial-charsets of
1438         CODESYS_BIG5 in XEmacs UTF-2000.
1439         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1440         CODESYS_BIG5 in XEmacs UTF-2000.
1441         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1442         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1443
1444         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1445         variables.
1446         (Qideograph_hanziku_{1 .. 12}): Likewise.
1447         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1448         .. 12}'.
1449         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1450         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1451         `ideograph-hanziku-{1 .. 12}'.
1452
1453         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1454         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1455         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1456         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1457         (DECODE_DEFINED_CHAR): New inline function.
1458         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1459
1460 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1461
1462         * mule-charset.c (Vcharset_china3_jef): Renamed from
1463         `Vcharset_japanese_jef_china3'.
1464         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1465         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1466         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1467         (syms_of_mule_charset): Rename `china3-jef' from
1468         `japanese-jef-china3'.
1469         (complex_vars_of_mule_charset): Likewise; rename
1470         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1471
1472         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1473         `LEADING_BYTE_JEF_CHINA3'.
1474         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1475         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1476
1477 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1478
1479         * mule-charset.c (encode_builtin_char_1): Comment out special code
1480         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1481
1482         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1483         (MAX_CHAR_MOJIKYO_0): Comment out.
1484         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1485         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1486         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1487         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1488
1489 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1490
1491         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1492         (Qideograph_cbeta): New variable.
1493         (encode_builtin_char_1): Comment out special code for
1494         coded-charset `mojikyo' and `japanese-jef-china3'.
1495         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1496         (complex_vars_of_mule_charset): Add new coded-charset
1497         `ideograph-cbeta'.
1498
1499         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1500         (MIN_CHAR_CBETA): New macro.
1501         (MAX_CHAR_CBETA): New macro.
1502
1503 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1504
1505         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1506         (LEADING_BYTE_JEF_CHINA3): New macro.
1507         (MIN_CHAR_JEF_CHINA3): New macro.
1508         (MAX_CHAR_JEF_CHINA3): Likewise.
1509         (DECODE_CHAR): Fixed.
1510
1511 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1512
1513         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1514         (Qjapanese_jef_china3): New variable.
1515         (encode_builtin_char_1): Support `japanese-jef-china3'.
1516         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1517         (complex_vars_of_mule_charset): Add new coded-charset
1518         `japanese-jef-china3'.
1519
1520 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1521
1522         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1523         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1524         94^4, 96^3, 96^4, 128^n and 256^n set.
1525         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1526         (map_char_table): Likewise.
1527
1528 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1529
1530         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
1531         UTF-2000.
1532
1533 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1534
1535         * chartab.h (get_char_id_table): New inline function.
1536
1537         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
1538         function.
1539
1540 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1541
1542         * chartab.h (decode_char_table_range): New prototype in XEmacs
1543         UTF-2000.
1544         (put_char_id_table): New inline function in XEmacs UTF-2000.
1545
1546         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
1547         function.
1548         (decode_char_table_range): Delete static declaration in XEmacs
1549         UTF-2000.
1550
1551 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1552
1553         * chartab.c (put_char_id_table): Use `put_char_table'.
1554
1555 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1556
1557         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
1558         (map_over_uint16_byte_table): Likewise.
1559         (map_over_byte_table): Likewise.
1560         (map_char_table): Modify for `map_over_uint8_byte_table',
1561         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
1562         UTF-2000.
1563
1564 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1565
1566         * chartab.c (struct map_char_table_for_charset_arg): New
1567         structure.
1568         (map_char_table_for_charset_fun): New function.
1569         (map_char_table): Use `map_char_table' for encoding_table of
1570         `range->charset'.
1571
1572 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1573
1574         * chartab.c (map_char_table): Check a character is found in
1575         range->charset instead of non default value is defined in
1576         char-table when range is CHARTAB_RANGE_ROW.
1577
1578 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1579
1580         * chartab.c (map_char_id_table): Deleted.
1581         (Fmap_char_attribute): Use `map_char_table' instead of
1582         `map_char_id_table'.
1583
1584 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1585
1586         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
1587         UTF-2000.
1588         (update_syntax_table): Deleted in XEmacs UTF-2000.
1589
1590         * syntax.c (find_defun_start): Use `syntax_table' instead of
1591         `mirror_syntax_table' in XEmacs UTF-2000.
1592         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
1593         UTF-2000.
1594         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
1595         XEmacs UTF-2000.
1596         (Fmatching_paren): Likewise.
1597         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
1598         in XEmacs UTF-2000.
1599         (find_start_of_comment): Likewise.
1600         (find_end_of_comment): Likewise.
1601         (Fforward_comment): Likewise.
1602         (scan_lists): Likewise.
1603         (char_quoted): Likewise.
1604         (Fbackward_prefix_chars): Likewise.
1605         (scan_sexps_forward): Likewise.
1606         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
1607         (update_syntax_table): Likewise.
1608
1609         * search.c (skip_chars): Use `syntax_table' instead of
1610         `mirror_syntax_table' in XEmacs UTF-2000.
1611         (wordify): Likewise.
1612         (Freplace_match): Likewise.
1613
1614         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
1615         `mirror_syntax_table' in XEmacs UTF-2000.
1616         (WORDCHAR_P_UNSAFE): Likewise.
1617         (re_match_2_internal): Likewise.
1618
1619         * font-lock.c (find_context): Use `buf->syntax_table' instead of
1620         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1621
1622         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
1623         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
1624
1625         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
1626         XEmacs UTF-2000.
1627
1628         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
1629         UTF-2000.
1630         (print_char_table): Print `default_value' in XEmacs UTF-2000.
1631         (char_table_description): Delete `mirror_table' in XEmacs
1632         UTF-2000.
1633         (fill_char_table): Don't call `update_syntax_table' in XEmacs
1634         UTF-2000.
1635         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
1636         (Fcopy_char_table): Likewise.
1637         (put_char_table): Don't call `update_syntax_table' in XEmacs
1638         UTF-2000.
1639
1640         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
1641         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1642         (casify_region_internal): Likewise.
1643
1644         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
1645
1646         * buffer.c (common_init_complex_vars_of_buffer): Don't use
1647         `mirror_syntax_table' in XEmacs UTF-2000.
1648
1649         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
1650         `buf->mirror_syntax_table' in XEmacs UTF-2000.
1651         (Fexpand_abbrev): Likewise.
1652
1653 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1654
1655         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
1656
1657 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1658
1659         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
1660         (map_over_uint16_byte_table): Likewise.
1661         (map_over_byte_table): Likewise.
1662         (get_char_id_table): Refer `cit->default_value'.
1663         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1664         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
1665         of character-id ranges.
1666         (mark_char_table): Mark `ct->default_value'.
1667         (char_table_description): Add `default_value'.
1668         (fill_char_table): Use `default_value'.
1669         (decode_char_table_range): Decode `nil' as
1670         `CHARTAB_RANGE_DEFAULT'.
1671         (get_char_id_table): Refer `cit->default_value'.
1672         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
1673         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
1674         temporary hack; check value of char-table is bound or not.
1675         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
1676
1677         * chartab.h (struct Lisp_Char_Table): Add new member
1678         `default_value' in XEmacs UTF-2000.
1679         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
1680         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
1681         UTF-2000.
1682
1683 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1684
1685         * chartab.h (Lisp_Char_ID_Table): Deleted.
1686
1687         * chartab.c (char_table_description): Fix typo.
1688         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
1689         `Lisp_Char_ID_Table'.
1690
1691 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1692
1693         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
1694         `CHAR_ID_TABLE_P'.
1695
1696         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
1697         `CHAR_ID_TABLE_P'.
1698
1699         * chartab.h (XCHAR_ID_TABLE): Deleted.
1700         (XSETCHAR_ID_TABLE): Deleted.
1701         (CHAR_ID_TABLE_P): Deleted.
1702
1703         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
1704         `CHAR_ID_TABLE_P'.
1705         (Fget_composite_char): Likewise.
1706         (put_char_table): Likewise.
1707         (add_char_attribute_alist_mapper): Fixed.
1708         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
1709         `CHAR_ID_TABLE_P'.
1710         (Fget_char_attribute): Likewise.
1711         (Fget_char_attribute): Likewise.
1712         (Fmap_char_attribute): Likewise.
1713
1714         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
1715         `CHAR_ID_TABLE_P'.
1716         (encode_char_1): Likewise.
1717
1718 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1719
1720         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
1721         `XCHAR_ID_TABLE'.
1722
1723         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
1724         instead of `XCHAR_ID_TABLE'.
1725         (remove_char_ccs): Likewise.
1726
1727         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
1728         `XCHAR_ID_TABLE'.
1729         (Fget_composite_char): Likewise.
1730         (Fchar_variants): Likewise.
1731         (put_char_table): Likewise.
1732         (add_char_attribute_alist_mapper): Likewise.
1733         (Fchar_attribute_alist): Likewise.
1734         (Fget_char_attribute): Likewise.
1735         (Fput_char_attribute): Likewise.
1736         (Fmap_char_attribute): Likewise.
1737         (Fmap_char_attribute): Likewise.
1738
1739         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
1740         `XCHAR_ID_TABLE'.
1741         (encode_char_1): Likewise.
1742
1743 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1744
1745         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
1746         `Lisp_Char_ID_Table'.
1747         (mark_char_id_table): Deleted.
1748         (print_char_id_table): Likewise.
1749         (char_id_table_equal): Likewise.
1750         (char_id_table_hash): Likewise.
1751         (char_id_table_description): Likewise.
1752         (char_id_table): Likewise.
1753         (make_char_id_table): Use `Fmake_char_table' and
1754         `fill_char_table'.
1755         (get_char_id_table): Use `Lisp_Char_Table' instead of
1756         `Lisp_Char_ID_Table'.
1757         (put_char_id_table): Likewise.
1758         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
1759         `XCHAR_ID_TABLE'.
1760         (Fremove_char_attribute): Likewise.
1761         (syms_of_chartab): Don't define type `char-id-table'.
1762
1763         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
1764         (char_id_table): Likewise.
1765         (GC_CHAR_ID_TABLE_P): Likewise.
1766         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
1767         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
1768         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
1769         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
1770         (get_char_id_table): Use `Lisp_Char_Table' instead of
1771         `Lisp_Char_ID_Table'.
1772         (put_char_id_table_0): Likewise.
1773         (put_char_id_table): Likewise.
1774
1775 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1776
1777         * chartab.h: Lisp_Byte_Table related codes are moved from
1778         chartab.h.
1779
1780         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
1781
1782 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1783
1784         * chartab.h: Don't include "chartab.h".
1785         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
1786         (Lisp_Char_ID_Table): Likewise.
1787         (char_id_table): Likewise.
1788         (XCHAR_ID_TABLE): Likewise.
1789         (XSETCHAR_ID_TABLE): Likewise.
1790         (CHAR_ID_TABLE_P): Likewise.
1791         (GC_CHAR_ID_TABLE_P): Likewise.
1792         (get_char_id_table): Likewise.
1793
1794         * char-ucs.h: Include "chartab.h".
1795         (struct Lisp_Char_ID_Table): Moved to chartab.h.
1796         (Lisp_Char_ID_Table): Likewise.
1797         (char_id_table): Likewise.
1798         (XCHAR_ID_TABLE): Likewise.
1799         (XSETCHAR_ID_TABLE): Likewise.
1800         (CHAR_ID_TABLE_P): Likewise.
1801         (GC_CHAR_ID_TABLE_P): Likewise.
1802         (get_char_id_table): Likewise.
1803
1804 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1805
1806         * chartab.c (copy_uint8_byte_table): New function.
1807         (copy_uint16_byte_table): New function.
1808         (copy_byte_table): New function.
1809         (map_over_uint8_byte_table): Modify to avoid huge numbers of
1810         characters to call.
1811         (map_over_uint16_byte_table): Likewise.
1812         (map_over_byte_table): Likewise.
1813         (get_byte_table): Move prototype to chartab.h.
1814         (put_byte_table): Likewise.
1815         (put_char_id_table_0): Moved to chartab.h.
1816         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
1817         (char_table_entry_equal): Likewise.
1818         (char_table_entry_hash): Likewise.
1819         (char_table_entry_description): Likewise.
1820         (char_table_entry): Likewise.
1821         (make_char_table_entry): Likewise.
1822         (copy_char_table_entry): Likewise.
1823         (get_non_ascii_char_table_value): Likewise.
1824         (map_over_charset_ascii): Likewise.
1825         (map_over_charset_control_1): Likewise.
1826         (map_over_charset_row): Likewise.
1827         (map_over_other_charset): Likewise.
1828         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
1829         (print_char_table): Likewise.
1830         (char_table_equal): Likewise.
1831         (char_table_hash): Likewise.
1832         (char_table_description): Likewise.
1833         (fill_char_table): Likewise.
1834         (Fcopy_char_table): Likewise.
1835         (get_char_table): Likewise.
1836         (Fget_range_char_table): Likewise.
1837         (put_char_table): Likewise.
1838         (map_char_table): Likewise.
1839         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
1840         UTF-2000.
1841
1842 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1843
1844         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
1845         `Vauto_fill_chars' in XEmacs UTF-2000.
1846
1847         * chartab.h (get_byte_table): New prototype [moved from
1848         chartab.c].
1849         (put_byte_table): Likewise [moved from chartab.c].
1850         (put_char_id_table_0): New inline function [moved from chartab.c].
1851         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
1852         (Lisp_Char_Table_Entry): Likewise.
1853         (char_table_entry): Likewise.
1854         (XCHAR_TABLE_ENTRY): Likewise.
1855         (XSETCHAR_TABLE_ENTRY): Likewise.
1856         (CHAR_TABLE_ENTRYP): Likewise.
1857         (CHECK_CHAR_TABLE_ENTRY): Likewise.
1858         (NUM_ASCII_CHARS): Likewise.
1859         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
1860         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
1861
1862 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1863
1864         * chartab.c (get_char_id_table): Change interface.
1865         (put_char_id_table_0): New function.
1866         (put_char_id_table): Change interface; new implementation.
1867         (Fget_composite_char): Modify for interface change of
1868         `get_char_id_table'.
1869         (Fchar_variants): Likewise.
1870         (add_char_attribute_alist_mapper): Likewise.
1871         (Fchar_attribute_alist): Likewise.
1872         (Fget_char_attribute): Likewise.
1873         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
1874         as same as character as the first argument like `put-char-table';
1875         modify for interface change of `put_char_id_table'.
1876         (Fremove_char_attribute): Modify for interface change of
1877         `put_char_id_table'.
1878
1879 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1880
1881         * text-coding.c: Sync up with XEmacs 21.2.41.
1882         (COMPOSE_ADD_CHAR): Modify for interface change of
1883         `get_char_id_table'.
1884
1885         * mule-charset.c (put_char_ccs_code_point): Modify for interface
1886         change of `put_char_id_table'.
1887         (remove_char_ccs): Likewise.
1888
1889         * chartab.h (put_char_id_table): Change interface.
1890
1891         * char-ucs.h (get_char_id_table): Change interface.
1892         (charset_code_point): Modify for interface change of
1893         `get_char_id_table'.
1894         (encode_char_1): Likewise.
1895
1896 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1897
1898         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
1899         argument `ccs'.
1900         (map_over_uint16_byte_table): Likewise.
1901         (map_over_byte_table): Likewise.
1902         (map_char_id_table): Add new argument `range' like
1903         `map_char_table'.
1904         (Fmap_char_attribute): Add new argument `range' like
1905         `Fmap_char_table'.
1906
1907 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1908
1909         * chartab.c (map_over_uint8_byte_table): Change interface of
1910         mapping function to use struct chartab_range instead of Emchar.
1911         (map_over_uint16_byte_table): Likewise.
1912         (map_over_byte_table): Likewise.
1913         (map_char_id_table): Likewise.
1914         (struct slow_map_char_id_table_arg): Deleted.
1915         (slow_map_char_id_table_fun): Deleted.
1916         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
1917         function `slow_map_char_table_fun' instead of struct
1918         `slow_map_char_id_table_arg' and function
1919         `slow_map_char_id_table_fun'.
1920
1921 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1922
1923         * mule-charset.c: Move char-it-table related codes to chartab.c.
1924         (Vutf_2000_version): Moved to chartab.c.
1925         (Fdefine_char): Likewise.
1926         (Ffind_char): Likewise.
1927         (syms_of_mule_charset): Move types `uint8-byte-table',
1928         `uint16-byte-table', `byte-table' and `char-id-table' to
1929         chartab.c; move functions `char_attribute_list,
1930         `find_char_attribute_table, `char_attribute_alist,
1931         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
1932         `map_char_attribute, `define_char, `find_char, `char_variants and
1933         `get_composite_char to chartab.c; move symbols `=>ucs',
1934         `->decomposition', `compat', `isolated', `initial', `medial',
1935         `final', `vertical', `noBreak', `fraction', `super', `sub',
1936         `circle', `square', `wide', `narrow', `small' and `font' to
1937         chartab.c.
1938         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
1939         setting codes for `Vcharacter_composition_table' and
1940         `Vcharacter_variant_table' to chartab.c.
1941         (complex_vars_of_mule_charset): Move setting code for
1942         `Vchar_attribute_hash_table' to chartab.c.
1943
1944         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
1945         (make_char_id_table): New prototype.
1946         (put_char_id_table): Likewise.
1947         (Fget_char_attribute): Likewise.
1948
1949         * chartab.c: Move char-id-table related code from mule-charset.c.
1950         (Vutf_2000_version): Moved from mule-charset.c.
1951
1952         * char-ucs.h (Qucs): New external variable.
1953         (put_char_ccs_code_point): New prototype.
1954         (remove_char_ccs): Likewise.
1955
1956 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
1957
1958         * mule-charset.c (Vcharset_ucs_jis): New variable.
1959         (Qucs_jis): Likewise.
1960         (syms_of_mule_charset): Add new symbol `ucs-jis'.
1961         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
1962
1963         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
1964
1965 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1966
1967         * mule-charset.c (map_over_uint8_byte_table): New function.
1968         (map_over_uint16_byte_table): Likewise.
1969         (map_over_byte_table): Likewise.
1970         (map_char_id_table): Likewise.
1971         (slow_map_char_id_table_fun): Likewise.
1972         (Fmap_char_attribute): Likewise.
1973         (syms_of_mule_charset): Add new function `map-char-attribute'.
1974
1975 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1976
1977         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
1978         (syms_of_mule_charset): Add new function `find-char'.
1979
1980 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1981
1982         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
1983         XEmacs UTF-2000.
1984         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
1985         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
1986         XEmacs UTF-2000.
1987         (complex_vars_of_mule_charset): Add new coded-charset
1988         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
1989         `ideograph-gt-pj-*'.
1990
1991         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
1992
1993 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1994
1995         * mule-charset.c (encode_builtin_char_1): Purge codes about
1996         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
1997         {MIN|MAX}_CHAR_HEBREW.
1998         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
1999         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2000
2001         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2002         (MAX_CHAR_GREEK): Purged.
2003         (MIN_CHAR_CYRILLIC): Purged.
2004         (MAX_CHAR_CYRILLIC): Purged.
2005         (MIN_CHAR_HEBREW): Commented out.
2006         (MAX_CHAR_HEBREW): Likewise.
2007
2008 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2009
2010         * mule-charset.c (Qto_ucs): New variable.
2011         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2012         (Fdefine_char): Likewise.
2013         (syms_of_mule_charset): Add new symbol `=>ucs'.
2014
2015 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2016
2017         * mule-charset.c (Fdecode_char): Fixed.
2018
2019 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2020
2021         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2022         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2023         "tcvn5712-1".
2024
2025 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2026
2027         * mule-charset.c (Vcharset_ucs_big5): New variable.
2028         (Qucs_big5): Likewise.
2029         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2030         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2031
2032         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2033
2034 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2035
2036         * mule-charset.c (decode_builtin_char): Check Big5 code range
2037         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2038
2039 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2040
2041         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2042         (Qchinese_gb12345): Likewise.
2043         (Fdecode_builtin_char): Fixed.
2044         (syms_of_mule_charset): Add `chinese-gb12345'.
2045         (complex_vars_of_mule_charset): Add coded-charset
2046         `chinese-gb12345'.
2047
2048         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2049         (LEADING_BYTE_CHINESE_GB12345): New macro.
2050
2051 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2052
2053         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2054         and `latin-viscii-upper' for `latin-viscii'.
2055
2056 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2057
2058         * mule-charset.c (Fdecode_builtin_char): Comment out
2059         regularization code for ISO-IR GR representation.
2060
2061 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2062
2063         * mule-charset.c (decode_builtin_char): New function; renamed from
2064         `make_builtin_char'; return -1 instead of signal.
2065         (Fdecode_builtin_char): Use `decode_builtin_char'.
2066
2067         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2068         `make_builtin_char'.
2069         (DECODE_CHAR): Use `decode_builtin_char' instead of
2070         `make_builtin_char'; use mapping table of `chinese-big5' for
2071         `chinese-big5-{1,2}'.
2072
2073 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2074
2075         * text-coding.c (char_encode_big5): New function.
2076         (char_finish_big5): Likewise.
2077         (reset_encoding_stream): Use `char_encode_big5' and
2078         `char_finish_big5' for CODESYS_BIG5.
2079         (mule_encode): Don't use `encode_coding_big5'.
2080         (encode_coding_big5): Deleted.
2081
2082 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2083
2084         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2085         0x81- in XEmacs UTF-2000.
2086         (detect_coding_big5): Likewise.
2087
2088 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2089
2090         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2091         generate character-id if the CCS property does not have
2092         corresponding predefined character.
2093         (make_builtin_char): Return -1 if corresponding predefined
2094         character is not found.
2095         (Fdecode_char): Return nil if corresponding character is not
2096         found.
2097         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2098         don't map to builtin ucs space.
2099
2100 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2101
2102         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2103         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2104
2105 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2106
2107         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2108         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2109         (Qideograph_gt): Likewise.
2110         (Qideograph_gt_pj_{1..11}): Likewise.
2111         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2112         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2113         `ideograph-gt-pj-11'.
2114         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2115         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2116         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2117
2118         * char-ucs.h (LEADING_BYTE_GT): New macro.
2119         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2120         (MIN_CHAR_GT): Likewise.
2121         (MAX_CHAR_GT): Likewise.
2122
2123 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2124
2125         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2126         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2127
2128         * doprnt.c (unsigned_int_converters): Add `c'.
2129         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2130
2131         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2132         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2133         `MIN_CHAR_MOJIKYO'.
2134         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2135         (MAX_CHAR_MOJIKYO_0): New macro.
2136         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2137
2138 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2139
2140         * mule-charset.c (Fdefine_char): Delete cemented out code.
2141         (encode_builtin_char_1): Modify for new allocation of builtin
2142         Mojikyo characters.
2143
2144         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2145
2146 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2147
2148         * mule-charset.c (Vcharset_ucs_cns): New variable.
2149         (Qucs_cns): New variable.
2150         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2151         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2152
2153 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2154
2155         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2156
2157 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2158
2159         * search.c (search_buffer): Make `charset_base_code' as
2160         character-id >> 6 to eliminate the corresponding last byte in
2161         UTF-8 representation [I'm not sure it is right thing].
2162         (boyer_moore): Likewise.
2163
2164 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2165
2166         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2167         representation in MULE.
2168
2169 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2170
2171         * text-coding.c (Fmake_coding_system): Use
2172         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2173         `EXTERNAL_PROPERTY_LIST_LOOP'.
2174
2175 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2176
2177         * text-coding.c (decode_output_utf8_partial_char): New function.
2178         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2179
2180 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2181
2182         * text-coding.c (decode_coding_utf8): Output original byte
2183         sequence if it is broken; change order of conditions.
2184
2185         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2186         of conditions.
2187
2188         * mb-multibyte.h (BYTE_ASCII_P):
2189         Use bit ops for char-signedness safety.
2190         (BYTE_C0_P): Use bit ops for char-signedness safety.
2191         (BYTE_C1_P): Use bit ops for char-signedness safety.
2192
2193         * character.h: (XCHAR_OR_CHAR_INT):
2194         Always use inline function.
2195         Remove redundant type checking assert() - XINT will abort quite
2196         nicely.
2197
2198 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2199
2200         * text-coding.c: (Fencode_shift_jis_char):
2201         (Fencode_big5_char):
2202         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2203         Replace 0 with '\0' when working with bytes.
2204         Replace initial "(" with "\(" in docstrings.
2205
2206         (Fmake_coding_system):
2207         When type is ccl and value is vector, register it with a proper
2208         symbol.  And checks whether the given ccl program is valid.
2209         (mule_decode): When calling ccl_driver, if src indicates
2210         NULL pointer, set an empty string instead.
2211         (mule_encode): Likewise.
2212
2213         (detect_eol_type):
2214         (detect_coding_sjis):
2215         (decode_coding_sjis):
2216         (detect_coding_big5):
2217         (decode_coding_big5):
2218         (detect_coding_ucs4):
2219         (decode_coding_ucs4):
2220         (detect_coding_utf8):
2221         (decode_coding_utf8):
2222         (detect_coding_iso2022):
2223         (decode_coding_iso2022):
2224         (decode_coding_no_conversion):
2225         (mule_decode):
2226         Make all detecting and decoding functions take an Extbyte * arg.
2227         (text_encode_generic):
2228         (encode_coding_big5):
2229         (encode_coding_no_conversion):
2230         (mule_encode):
2231         Make all encoding functions take a Bufbyte * arg.
2232         Use size_t instead of unsigned int for memory sizes.
2233         Only cast to unsigned char whenever dereferencing Extbyte *.
2234
2235         (struct lrecord_description fcd_description_1): Use countof.
2236         (complex_vars_of_file_coding):
2237         Use countof instead of sizeof.
2238         Use CHECK_NATNUM instead of CHECK_INT.
2239
2240 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2241
2242         * mule-charset.c (Fget_char_attribute): Add new optional argument
2243         `default-value'.
2244         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2245         (remove_char_ccs): Likewise.
2246
2247 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2248
2249         * text-coding.c (char_encode_shift_jis): New implementation in
2250         UTF-2000.
2251         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2252         ...)'.
2253
2254         * mule-charset.c (Vcharset_chinese_big5): New variable in
2255         UTF-2000.
2256         (Qchinese_big5): New variable in UTF-2000.
2257         (BIG5_SAME_ROW): New macro in UTF-2000.
2258         (make_builtin_char): Use builtin characters of
2259         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2260         characters of `Vcharset_chinese_big5'.
2261         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2262         (complex_vars_of_mule_charset): Add new coded-charset
2263         `chinese-big5' in UTF-2000.
2264
2265         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2266         (Vcharset_chinese_big5): New external variable declaration.
2267         (Vcharset_japanese_jisx0208_1990): Likewise.
2268
2269 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2270
2271         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2272         function.
2273         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2274
2275 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2276
2277         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2278         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2279         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2280         `mojikyo-pj-*'.
2281
2282 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2283
2284         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2285
2286 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2287
2288         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2289         to 0.17.
2290
2291 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2292
2293         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2294         for `CHARSET_BY_ATTRIBUTES'.
2295         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2296         `CHARSET_BY_ATTRIBUTES'.
2297
2298         * text-coding.c (struct decoding_stream): Rename member `CH' to
2299         `CPOS'.
2300         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2301         (decode_coding_sjis): Likewise.
2302         (decode_coding_big5): Likewise.
2303         (decode_coding_ucs4): Likewise.
2304         (decode_coding_utf8): Likewise.
2305         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2306         `CHARSET_BY_ATTRIBUTES'.
2307         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2308         `str->counter'; decode 3, 4 bytes sets.
2309         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2310         sets.
2311         (decode_coding_no_conversion): Use `str->cpos' instead of
2312         `str->ch'.
2313
2314         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2315         (Qmojikyo_2022_1): New variable.
2316         (make_charset): Don't use `CHARSET_TYPE_*'.
2317         (range_charset_code_point): Support coded-charset
2318         `mojikyo-2022-1'.
2319         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2320         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2321         `CHARSET_BY_ATTRIBUTES'.
2322         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2323         `CHARSET_BY_ATTRIBUTES'.
2324         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2325         (complex_vars_of_mule_charset): Add new coded-charset
2326         `mojikyo-2022-1'.
2327
2328         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2329         interface; changed to inline function.
2330
2331         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2332         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2333         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2334         (CHARSET_TYPE_94): Deleted.
2335         (CHARSET_TYPE_94X94): Deleted.
2336         (CHARSET_TYPE_96): Deleted.
2337         (CHARSET_TYPE_96X96): Deleted.
2338         (CHARSET_TYPE_128): Deleted.
2339         (CHARSET_TYPE_128X128): Deleted.
2340         (CHARSET_TYPE_256): Deleted.
2341         (CHARSET_TYPE_256X256): Deleted.
2342         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2343         to inline function.
2344         (DECODE_MOJIKYO_2022): New inline function.
2345         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2346         `Vcharset_mojikyo_2022_1'.
2347
2348 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2349
2350         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2351         instead of `EQ'.
2352         (put_byte_table): Likewise.
2353         (char_id_table_equal): Use `get_byte_table' [new implementation].
2354
2355 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2356
2357         * mule-charset.c: Include <limits.h> in UTF-2000.
2358         (BT_UINT8_MIN): New macro in UTF-2000.
2359         (BT_UINT8_MAX): New macro in UTF-2000.
2360         (BT_UINT8_t): New macro in UTF-2000.
2361         (BT_UINT8_nil): New macro in UTF-2000.
2362         (BT_UINT8_unbound): New macro in UTF-2000.
2363         (INT_UINT8_P): New inline function in UTF-2000.
2364         (UINT8_VALUE_P): New inline function in UTF-2000.
2365         (UINT8_ENCODE): New inline function in UTF-2000.
2366         (UINT8_DECODE): New inline function in UTF-2000.
2367         (mark_uint8_byte_table): New function in UTF-2000.
2368         (print_uint8_byte_table): New function in UTF-2000.
2369         (uint8_byte_table_equal): New function in UTF-2000.
2370         (uint8_byte_table_hash): New function in UTF-2000.
2371         (make_uint8_byte_table): New function in UTF-2000.
2372         (uint8_byte_table_same_value_p): New function in UTF-2000.
2373         (BT_UINT16_MIN): New macro in UTF-2000.
2374         (BT_UINT16_MAX): New macro in UTF-2000.
2375         (BT_UINT16_t): New macro in UTF-2000.
2376         (BT_UINT16_nil): New macro in UTF-2000.
2377         (BT_UINT16_unbound): New macro in UTF-2000.
2378         (INT_UINT16_P): New inline function in UTF-2000.
2379         (UINT16_VALUE_P): New inline function in UTF-2000.
2380         (UINT16_ENCODE): New inline function in UTF-2000.
2381         (UINT16_DECODE): New inline function in UTF-2000.
2382         (UINT8_TO_UINT16): New inline function in UTF-2000.
2383         (mark_uint16_byte_table): New function in UTF-2000.
2384         (print_uint16_byte_table): New function in UTF-2000.
2385         (uint16_byte_table_equal): New function in UTF-2000.
2386         (uint16_byte_table_hash): New function in UTF-2000.
2387         (make_uint16_byte_table): New function in UTF-2000.
2388         (uint16_byte_table_same_value_p): New function in UTF-2000.
2389         (print_byte_table): New function in UTF-2000.
2390         (byte-table): Use `print_byte_table' as printer.
2391         (make_byte_table): Delete second argument `older'.
2392         (byte_table_same_value_p): New function in UTF-2000.
2393         (copy_byte_table): Deleted.
2394         (get_byte_table): New function in UTF-2000.
2395         (put_byte_table): New function in UTF-2000.
2396         (print_char_id_table): New function in UTF-2000.
2397         (char-id-table): Use `print_char_id_table' as printer.
2398         (make_char_id_table): Delete second argument `older'.
2399         (get_char_id_table): Use `get_byte_table [new implementation].
2400         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2401         implementation].
2402         (Ffind_char_attribute_table): New function in UTF-2000.
2403         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2404         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2405         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2406         (syms_of_mule_charset): Add new function
2407         `find-char-attribute-table' in UTF-2000.
2408
2409         * lrecord.h (enum lrecord_type): Add
2410         `lrecord_type_uint16_byte_table' and
2411         `lrecord_type_uint8_byte_table'.
2412
2413         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2414         (Lisp_Uint8_Byte_Table): New type.
2415         (XUINT8_BYTE_TABLE): New macro.
2416         (XSETUINT8_BYTE_TABLE): New macro.
2417         (UINT8_BYTE_TABLE_P): New macro.
2418         (GC_UINT8_BYTE_TABLE_P): New macro.
2419         (struct Lisp_Uint16_Byte_Table): New structure.
2420         (Lisp_Uint16_Byte_Table): New type.
2421         (XUINT16_BYTE_TABLE): New macro.
2422         (XSETUINT16_BYTE_TABLE): New macro.
2423         (UINT16_BYTE_TABLE_P): New macro.
2424         (GC_UINT16_BYTE_TABLE_P): New macro.
2425
2426 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2427
2428         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2429         (Vcharacter_ideographic_strokes_table): Deleted.
2430         (Vcharacter_total_strokes_table): Deleted.
2431         (Vcharacter_morohashi_daikanwa_table): Deleted.
2432         (Vcharacter_decomposition_table): Deleted.
2433         (Qname): Deleted because it is duplicated.
2434         (Qideographic_radical): Deleted.
2435         (Qideographic_strokes): Deleted.
2436         (Qtotal_strokes): Deleted.
2437         (Qmorohashi_daikanwa): Deleted.
2438         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2439         `ideographic-radical', `ideographic-strokes', `total-strokes',
2440         `morohashi-daikanwa' and `->decomposition'.
2441         (Fget_char_attribute): Likewise.
2442         (Fput_char_attribute): Likewise; use `make-vector' instead of
2443         `make_older_vector' for `->decomposition' value.
2444         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2445         `ideograph-daikanwa'.
2446         (syms_of_mule_charset): Delete builtin symbols `name',
2447         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2448         `morohashi-daikanwa'.
2449         (vars_of_mule_charset): Don't setup
2450         `Vcharacter_ideographic_radical_table',
2451         `Vcharacter_ideographic_strokes_table',
2452         `Vcharacter_total_strokes_table',
2453         `Vcharacter_morohashi_daikanwa_table' and
2454         `Vcharacter_decomposition_table'.
2455
2456 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2457
2458         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2459         `make_older_vector', `make_vector_newer_1' and
2460         `make_vector_newer'.
2461
2462         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2463         `make_older_vector' and `make_vector_newer'.
2464
2465         * config.h.in (HAVE_GGC): New macro.
2466
2467 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2468
2469         * mule-charset.c (struct char_attribute_list_closure): New
2470         structure in UTF-2000.
2471         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2472         (Fchar_attribute_list): Likewise.
2473         (Fset_charset_mapping_table): Use `make_vector_newer'.
2474         (Fdecode_builtin_char): New function in UTF-2000.
2475         (syms_of_mule_charset): Add new function `char-attribute-list' and
2476         `decode-builtin-char' in UTF-2000.
2477
2478         * lisp.h (make_vector_newer): New prototype.
2479
2480         * alloc.c (make_vector_newer_1): New function.
2481         (make_vector_newer): New function.
2482
2483 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2484
2485         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2486         50100)'.
2487
2488 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2489
2490         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2491         (Vcharacter_attribute_table): Deleted.
2492         (Vcharacter_name_table): Deleted.
2493         (put_char_attribute): Deleted.
2494         (remove_char_attribute): Deleted.
2495         (struct char_attribute_alist_closure): New structure.
2496         (add_char_attribute_alist_mapper): New function.
2497         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2498         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2499         (Fget_char_attribute): Likewise.
2500         (Fput_char_attribute): Likewise.
2501         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2502         of `remove_char_attribute'.
2503         (Fdefine_char): Return character.
2504         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2505         and `Vcharacter_name_table'.
2506         (complex_vars_of_mule_charset): Likewise
2507         `Vchar_attribute_hash_table'.
2508
2509 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2510
2511         * character.h (CHARC_CHARSET): New macro.
2512         (CHARC_CHARSET_ID): New macro.
2513         (CHARC_CODE_POINT): New macro.
2514         (CHARC_COLUMNS): New macro.
2515         (CHARC_TO_CHAR): New inline function.
2516         (CHARC_EQ): New inline function.
2517         (CHARC_ASCII_EQ): New inline function.
2518         (CHARC_IS_SPACE): New inline function.
2519         (ASCII_TO_CHARC): New inline function.
2520
2521         * char-ucs.h (encode_char_2): Deleted.
2522         (ENCODE_CHAR): Use `encode_char_1' again.
2523         (breakup_char_1): Likewise.
2524         (CHAR_TO_CHARC): New inline function.
2525
2526         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2527
2528 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2529
2530         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
2531         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
2532         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
2533         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
2534         (create_string_text_block): Use `CHARC_ASCII_EQ' and
2535         `CHARC_IS_SPACE'.
2536         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
2537
2538         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
2539         `CHARC_CODE_POINT'.
2540         (x_output_display_block): Use `CHARC_CHARSET' and
2541         `CHARC_ASCII_EQ'.
2542
2543         * redisplay-tty.c (tty_output_display_block): Use
2544         `CHARC_ASCII_EQ'.
2545         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
2546
2547         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
2548
2549         * insdel.c (find_charsets_in_charc_string): Use
2550         `CHARC_CHARSET_ID'.
2551         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
2552         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
2553         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
2554         (convert_charc_string_into_malloced_string): Likewise.
2555
2556 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2557
2558         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
2559         instead of <Emchar_dynarr *> for buf; use
2560         `convert_bufbyte_string_into_charc_dynarr' instead of
2561         `convert_bufbyte_string_into_emchar_dynarr'; use
2562         `find_charsets_in_charc_string' instead of
2563         `find_charsets_in_emchar_string'.
2564
2565         * redisplay.h:
2566         - Include "character.h".
2567         (struct rune): New member `cglyph'; delete member `chr'.
2568
2569         * redisplay.c (redisplay_text_width_charc_string): New function;
2570         delete `redisplay_text_width_emchar_string'.
2571         (rtw_charc_dynarr): New variable; renamed from
2572         `rtw_emchar_dynarr'.
2573         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
2574         `rtw_emchar_dynarr'; use
2575         `convert_bufbyte_string_into_charc_dynarr' instead of
2576         `convert_bufbyte_string_into_emchar_dynarr'; use
2577         `redisplay_text_width_charc_string' instead of
2578         `redisplay_text_width_emchar_string'.
2579         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
2580         instead of `rtw_emchar_dynarr'; use
2581         `convert_bufbyte_string_into_charc_dynarr' instead of
2582         `convert_bufbyte_string_into_emchar_dynarr'.
2583         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
2584         `redisplay_text_width_charc_string' instead of
2585         `redisplay_text_width_emchar_string'.
2586         (create_text_block): Modify for <struct rune> change.
2587         (generate_formatted_string_db): Likewise.
2588         (create_string_text_block): Likewise.
2589         (pixel_to_glyph_translation): Likewise.
2590
2591         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
2592         instead of <const Emchar *>.
2593         (x_text_width): Likewise.
2594         (x_output_display_block): Use <Charc_dynarr *> instead
2595         <Emchar_dynarr *>; modify for <structure rune> change.
2596         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
2597         *>.
2598
2599         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
2600         <const Emchar *>; use `charc_string_displayed_columns' instead of
2601         `emchar_string_displayed_columns'.
2602         (tty_output_display_block): Use <Charc_dynarr *> instead of
2603         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
2604         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
2605         (tty_output_charc_dynarr_dynarr): New variable; renamed from
2606         `tty_output_emchar_dynarr_dynarr'.
2607         (tty_output_charc_dynarr): New function; delete
2608         `tty_output_charc_dynarr'.
2609
2610         * redisplay-output.c (compare_runes): Modify for `struct rune'.
2611         (redisplay_output_layout): Use <Charc_dynarr *> instead of
2612         <Emchar_dynarr *> for buf; use
2613         `convert_bufbyte_string_into_charc_dynarr' instead of
2614         `convert_bufbyte_string_into_emchar_dynarr'.
2615
2616         * frame.c (title_string_charc_dynarr): New variable; renamed from
2617         `title_string_emchar_dynarr'.
2618         (generate_title_string): Use `title_string_charc_dynarr' instead
2619         of `title_string_emchar_dynarr'; use
2620         `convert_charc_string_into_malloced_string' instead of
2621         `convert_emchar_string_into_malloced_string'.
2622         (init_frame): Use `title_string_charc_dynarr' instead of
2623         `title_string_emchar_dynarr'.
2624
2625         * console.h:
2626         - Include "character.h".
2627         (struct console_methods): Use <const Charc *> instead of <const
2628         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
2629         <Emchar_dynarr *> in output_string_method.
2630
2631         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
2632         <Emchar_dynarr *>.
2633
2634         * console-stream.c (stream_text_width): Use <const Charc *>
2635         instead of <const Emchar *>.
2636
2637         * character.h (Charc_dynarr): New type.
2638
2639         * char-ucs.h (structure Charc): New structure; define new type
2640         `Charc'.
2641
2642         * char-lb.h (DECODE_CHAR): New inline function.
2643         (encode_char_1): New inline function.
2644         (ENCODE_CHAR): New macro.
2645         (structure Charc): New structure; define new type `Charc'.
2646
2647         * char-1byte.h (Vcharset_control_1): New macro.
2648         (Vcharset_latin_iso8859_1): New macro.
2649         (DECODE_CHAR): New inline function.
2650         (encode_char_1): New inline function.
2651         (ENCODE_CHAR): New macro.
2652         (structure Charc): New structure; define new type `Charc'.
2653
2654         * insdel.c (find_charsets_in_charc_string): New function; delete
2655         `find_charsets_in_emchar_string'.
2656         (charc_string_displayed_columns): New function; delete
2657         `emchar_string_displayed_columns'.
2658         (convert_bufbyte_string_into_charc_dynarr): New function; delete
2659         `convert_bufbyte_string_into_emchar_dynarr'.
2660         (convert_charc_string_into_bufbyte_dynarr): New function; delete
2661         `convert_charc_string_into_bufbyte_dynarr'.
2662         (convert_charc_string_into_malloced_string): New function; delete
2663         `convert_charc_string_into_malloced_string'.
2664
2665         * buffer.h (find_charsets_in_charc_string): New prototype; delete
2666         `find_charsets_in_emchar_string'.
2667         (charc_string_displayed_columns): New prototype; delete
2668         `emchar_string_displayed_columns'.
2669         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
2670         `convert_charc_string_into_bufbyte_dynarr'.
2671         (convert_charc_string_into_malloced_string): New prototype; delete
2672         `convert_charc_string_into_malloced_string'.
2673
2674 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2675
2676         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
2677
2678 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2679
2680         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
2681
2682         * char-ucs.h: Use <short> for <Charset_ID>.
2683
2684         * mule-charset.h, char-1byte.h: Use <unsigned char> for
2685         <Charset_ID>.
2686
2687 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2688
2689         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2690         to 0.16.
2691
2692 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2693
2694         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
2695         variable.
2696         (Qmorohashi_daikanwa): New variable.
2697         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
2698         for `morohashi-daikanwa' attribute.
2699         (Fget_char_attribute): Likewise.
2700         (Fput_char_attribute): Likewise.
2701         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
2702         has the same value of `ideograph-daikanwa'.
2703         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
2704         (vars_of_mule_charset): Setup
2705         `Vcharacter_morohashi_daikanwa_table'.
2706
2707 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2708
2709         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
2710         attributes.
2711         (add_charset_to_list_mapper): Add `key' instead of
2712         `XCHARSET_NAME (value)' to return aliases.
2713
2714 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2715
2716         * mule-charset.c (Vcharacter_ideographic_radical_table): New
2717         variable.
2718         (Vcharacter_ideographic_strokes_table): New variable.
2719         (Qideographic_radical): New variable.
2720         (Qideographic_strokes): New variable.
2721         (Fchar_attribute_alist): Use
2722         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
2723         attribute; use `Vcharacter_ideographic_strokes_table' for
2724         `ideographic-strokes' attribute.
2725         (Fget_char_attribute): Likewise.
2726         (Fput_char_attribute): Likewise.
2727         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
2728         `ideographic-strokes'.
2729         (vars_of_mule_charset): Setup
2730         `Vcharacter_ideographic_radical_table' and
2731         `Vcharacter_ideographic_strokes_table'.
2732
2733 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2734
2735         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
2736         (Qtotal_strokes): New variable.
2737         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
2738         `total-strokes' attribute.
2739         (Fget_char_attribute): Likewise.
2740         (Fput_char_attribute): Likewise.
2741         (syms_of_mule_charset): Add new symbol `total-strokes'.
2742         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
2743
2744 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2745
2746         * mule-charset.c (Vcharacter_decomposition_table): New variable.
2747         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
2748         are found.
2749         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
2750         `->decomposition' attribute.
2751         (Fput_char_attribute): Likewise.
2752         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
2753
2754 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2755
2756         * mule-charset.c (decoding_table_check_elements): New function.
2757         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
2758
2759 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2760
2761         * mule-charset.c (Fset_charset_mapping_table): Use
2762         `put_char_ccs_code_point'.
2763
2764 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2765
2766         * mule-charset.c (decoding_table_put_char): New inline function.
2767         (put_char_ccs_code_point): Use `decoding_table_put_char'.
2768
2769 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2770
2771         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
2772         (XCHARSET_BYTE_SIZE): New macro.
2773         (decoding_table_remove_char): New inline function.
2774         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
2775         `decoding_table_remove_char'.
2776         (remove_char_ccs): Use `decoding_table_remove_char'.
2777         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
2778
2779 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2780
2781         * mule-charset.c (Vcharacter_name_table): New variable.
2782         (Qname): New variable.
2783         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
2784         attribute.
2785         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
2786         `Vcharacter_name_table' for `name' attribute.
2787         (Fremove_char_attribute): Use function `remove_char_ccs'.
2788         (put_char_ccs_code_point): New function.
2789         (remove_char_ccs): New function.
2790         (syms_of_mule_charset): Add new symbol `name'.
2791         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
2792
2793 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2794
2795         * mule-charset.c (make_byte_table): Add new argument `older'.
2796         (make_char_id_table): Likewise.
2797         (copy_char_id_table): Comment out because it is not used.
2798         (put_char_id_table): Modify for `make_byte_table'.
2799         (Fput_char_attribute): Make encoding_table as older object;
2800         inherit older bit of `Vcharacter_composition_table'.
2801         (mark_charset): Don't mark `cs->encoding_table'.
2802         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
2803         normal object; make `Vcharacter_composition_table' as an older
2804         object; delete staticpro for `Vcharacter_composition_table'; make
2805         `Vcharacter_variant_table' as a normal object.
2806
2807         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
2808         (mark_object): Don't check older object in UTF-2000.
2809
2810         * lrecord.h (struct lrecord_header): Add new member `older' in
2811         UTF-2000.
2812         (set_lheader_implementation): Setup `SLI_header->older' in
2813         UTF-2000.
2814         (set_lheader_older_implementation): New macro in UTF-2000.
2815         (OLDER_RECORD_P): New macro in UTF-2000.
2816         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
2817         (alloc_older_lcrecord): New prototype in UTF-2000.
2818         (alloc_older_lcrecord_type): New macro in UTF-2000.
2819
2820 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2821
2822         * mule-charset.c (byte_table_description): Use
2823         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
2824         (char_id_table_description): Delete bogus `, 1'.
2825         (Fget_char_attribute): Refer encoding_table of each coded-charset
2826         to get value of coded-charset attribute of a character.
2827         (Fput_char_attribute): Use `make_older_vector' instead of
2828         `make_vector'; use encoding_table of each coded-charset to store
2829         value of coded-charset attribute of a character.
2830         (Fremove_char_attribute): Use encoding_table of each coded-charset
2831         to store value of coded-charset attribute of a character.
2832         (mark_charset): Mark `cs->encoding_table'; don't mark
2833         `cs->decoding_table'.
2834         (charset_description): Add description of new member
2835         `encoding_table'.
2836         (make_charset): Initialize `encoding_table'.
2837
2838         * char-ucs.h (struct Lisp_Charset): Add new member
2839         `encoding_table'.
2840         (CHARSET_ENCODING_TABLE): New macro.
2841         (XCHARSET_ENCODING_TABLE): New macro.
2842         (charset_code_point): New implementation.
2843         (encode_char_1): Likewise.
2844
2845         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
2846         (disksave_object_finalization_1): Call finalizers of
2847         `all_older_lcrecords' in UTF-2000.
2848         (make_older_vector): New function in UTF-2000.
2849         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
2850         UTF-2000.
2851
2852         * lisp.h (make_older_vector): New prototype in UTF-2000.
2853
2854 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2855
2856         * lrecord.h (enum lrecord_type): Rename
2857         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
2858
2859         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
2860         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
2861         `get_char_code_table'.
2862
2863         * mule-charset.c (mark_char_id_table): Renamed from
2864         `mark_char_code_table'.
2865         (char_id_table_equal): Renamed from `char_code_table_equal'.
2866         (char_id_table_hash): Renamed from `char_code_table_hash'.
2867         (make_char_id_table): Renamed from `make_char_code_table'.
2868         (copy_char_id_table): Renamed from `copy_char_code_table'.
2869         (get_char_id_table): Renamed from `get_char_code_table'.
2870         (put_char_id_table): Renamed from `put_char_code_table'.
2871         (to_char_id): Renamed from `to_char_code'.
2872
2873         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
2874         `Lisp_Char_Code_Table'.
2875         (char_id_table): Renamed from `char_code_table'.
2876         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
2877         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
2878         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
2879         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
2880         (get_char_id_table): Renamed from `get_char_code_table'.
2881
2882 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2883
2884         * lrecord.h (enum lrecord_type): Rename
2885         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
2886
2887         * mule-charset.c (mark_byte_table): Renamed from
2888         `mark_char_byte_table'.
2889         (byte_table_equal): Renamed from `char_byte_table_equal'.
2890         (byte_table_hash): Renamed from `byte_table_hash'.
2891         (make_byte_table): Renamed from `make_byte_table'.
2892         (copy_byte_table): Renamed from `copy_char_byte_table'.
2893
2894         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
2895         `Lisp_Char_Byte_Table'.
2896         (byte_table): Renamed from `char_byte_table'.
2897         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
2898         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
2899         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
2900         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
2901
2902 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2903
2904         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
2905         (dfc_convert_to_internal_format): Likewise.
2906         
2907         * text-coding.c (Fcoding_system_canonical_name_p): New function.
2908         * text-coding.c (Fcoding_system_alias_p): New function.
2909         * text-coding.c (Fcoding_system_aliasee): New function.
2910         * text-coding.c (append_suffix_to_symbol): New function.
2911         * text-coding.c (dangling_coding_system_alias_p): New function.
2912         * text-coding.c (Ffind_coding_system):
2913         * text-coding.c (Fcopy_coding_system):
2914         * text-coding.c (encode_coding_no_conversion):
2915         * text-coding.c (syms_of_file_coding):
2916         * text-coding.c (vars_of_file_coding):
2917         Rewrite coding system alias code.
2918         Allow nested aliases, like symbolic links.
2919         Allow redefinition of coding system aliases.
2920         Prevent existence of dangling coding system aliases.
2921         Eliminate convert_to_external_format.
2922         Eliminate convert_to_internal_format.
2923         
2924         * text-coding.c: Change enum eol_type to eol_type_t.
2925
2926 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2927
2928         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
2929         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2930
2931         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
2932         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
2933
2934 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2935
2936         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
2937         `ideograph-daikanwa'.
2938
2939         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
2940         (Vcharset_ucs_bmp): Likewise.
2941         (Vcharset_mojikyo): Add new extern variable definition.
2942         (Vcharset_latin_iso8859_2): Deleted because it is not used.
2943         (Vcharset_latin_iso8859_3): Likewise.
2944         (Vcharset_latin_iso8859_4): Likewise.
2945         (Vcharset_latin_iso8859_9): Likewise.
2946         (Vcharset_latin_viscii_lower): Likewise.
2947         (Vcharset_latin_viscii_upper): Likewise.
2948         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
2949         `mojikyo' code-point is used to decode.
2950         (encode_char_2): New function [to convert `mojikyo' code-point to
2951         Mojikyo font encoding].
2952         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
2953         (breakup_char_1): Likewise.
2954         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
2955
2956 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2957
2958         * text-coding.c (Fmake_coding_system): Add document about
2959         `disable-composition' property.
2960
2961 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2962
2963         * text-coding.c (Qdisable_composition): New variable; delete
2964         `Qcomposite'.
2965         (Fmake_coding_system): Add new property `disable-composite';
2966         delete property `composite'.
2967         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
2968         instead of `!CODING_SYSTEM_COMPOSITE'.
2969         (syms_of_file_coding): Add new symbol `disable-composition';
2970         delete symbol `composite'.
2971
2972         * file-coding.h (struct Lisp_Coding_System): Add
2973         `disable_composition'; delete `enable_composition'.
2974         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2975         `CODING_SYSTEM_COMPOSITE'.
2976         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
2977         `XCODING_SYSTEM_COMPOSITE'.
2978
2979 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2980
2981         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2982         to 0.15.
2983
2984 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2985
2986         * text-coding.c (Qcomposite): New variable.
2987         (Fmake_coding_system): Add new property `composite'.
2988         (struct decoding_stream): Add `combined_char_count',
2989         `combined_chars' and `combining_table' in UTF-2000.
2990         (COMPOSE_FLUSH_CHARS): New macro.
2991         (COMPOSE_ADD_CHAR): New macro.
2992         (reset_decoding_stream): Reset `str->combined_char_count' and
2993         `str->combining_table' in UTF-2000.
2994         (decode_coding_iso2022): Modify for character-decomposition.
2995         (syms_of_file_coding): Add new symbol `composite'.
2996
2997 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2998
2999         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3000         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3001         of `Vcharacter_composition_table' if `->decomposition' property
3002         has only 1 element.
3003         (Qlatin_tcvn5712): New variable.
3004         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3005         (complex_vars_of_mule_charset): Add new coded-charset
3006         `latin-tcvn5712'.
3007
3008         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3009
3010 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3011
3012         * file-coding.h (struct Lisp_Coding_System): Add
3013         `enable_composition'.
3014         (CODING_SYSTEM_COMPOSITE): New macro.
3015         (XCODING_SYSTEM_COMPOSITE): New macro.
3016
3017 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3018
3019         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3020
3021 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3022
3023         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3024         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3025
3026 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3027
3028         * mule-charset.c (Vcharset_mojikyo): New variable.
3029         (Fdefine_char): Don't use coded-charset which does not have
3030         non-builtin character range to allocate character-id.
3031         (Qmojikyo): New variable.
3032         (syms_of_mule_charset): Add new symbol `mojikyo'.
3033         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3034
3035         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3036         (LEADING_BYTE_MOJIKYO): New macro.
3037         (MIN_CHAR_MOJIKYO): New macro.
3038         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3039         (MAX_CHAR_MOJIKYO): New macro.
3040
3041 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3042
3043         * mule-charset.c (remove_char_attribute): Fixed.
3044
3045 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3046
3047         * mule-charset.c (remove_char_attribute): New function.
3048         (Fremove_char_attribute): New function.
3049         (encode_builtin_char_1): Comment out builtin-support for
3050         greek-iso8859-7 and cyrillic-iso8859-5.
3051         (Fdecode_char): Check `code' is an integer.
3052         (syms_of_mule_charset): Add `remove-char-attribute'.
3053         (MIN_CHAR_GREEK): Deleted.
3054         (MAX_CHAR_GREEK): Likewise.
3055         (MIN_CHAR_CYRILLIC): Likewise.
3056         (MAX_CHAR_CYRILLIC): Likewise.
3057         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3058         MAX_CHAR_GREEK for `greek-iso8859-7'.
3059
3060         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3061         (MAX_CHAR_GREEK): Likewise.
3062         (MIN_CHAR_CYRILLIC): Likewise.
3063         (MAX_CHAR_CYRILLIC): Likewise.
3064
3065 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3066
3067         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3068         format is used without `ucs' property.
3069         (Fdecode_char): Fix problem with GR representation.
3070         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3071         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3072
3073 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3074
3075         * mule-charset.c (make_builtin_char): New function.
3076         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3077         (Fset_charset_mapping_table): Modify for new representation of
3078         code-point.
3079         (Fdecode_char): New function.
3080         (syms_of_mule_charset): Add new builtin function `decode-char' in
3081         UTF-2000.
3082
3083         * char-ucs.h (make_builtin_char): New prototype.
3084         (DECODE_CHAR): New inline function.
3085         (MAKE_CHAR): Use `DECODE_CHAR'.
3086
3087 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3088
3089         * text-coding.c (parse_charset_conversion_specs): Use
3090         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3091         `XCHARSET_TYPE'.
3092         (iso2022_designate): Likewise.
3093
3094         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3095         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3096
3097         * mule-charset.c (Vcharset_ucs): New variable.
3098         (print_charset): Change design; use `CHARSET_CHARS' and
3099         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3100         (make_charset): Change signature to specify `chars' and
3101         `dimension' instead of `type'.
3102         (range_charset_code_point): Modify for 256^n-set.
3103         (encode_builtin_char_1): Encode as `ucs' in default.
3104         (Fmake_charset): Modify for `make_charset'.
3105         (Fmake_reverse_direction_charset): Likewise.
3106         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3107         UTF-2000.
3108         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3109         for `make_charset'.
3110
3111         * char-ucs.h (Vcharset_ucs): New variable.
3112         (LEADING_BYTE_UCS): New macro.
3113         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3114         and `chars' to `unsigned short' from `unsigned int'.
3115         (CHARSET_TYPE): Deleted.
3116         (XCHARSET_TYPE): Deleted.
3117
3118 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3119
3120         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3121
3122         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3123         (ENCODE_CHAR): New macro.
3124
3125 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3126
3127         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3128         to 0.14 (Kawachi-Katakami).
3129
3130 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3131
3132         * text-coding.c (char_encode_shift_jis): Modify for
3133         `charset_code_point'.
3134         (char_encode_iso2022): Likewise.
3135
3136         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3137         (integer) instead of list of <Lisp_Object>s (integers) as the
3138         format of code-point of a coded-charset.
3139         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3140         (encode_builtin_char_1): New function; delete
3141         `split_builtin_char'.
3142         (charset_code_point): Return <int> instead of <Lisp_Object>.
3143         (Fsplit_char): Don't use `SPLIT_CHAR'.
3144
3145         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3146         prototype for `split_builtin_char'.
3147         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3148         (charset_code_point): Likewise.
3149         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3150         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3151
3152 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3153
3154         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3155         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3156
3157 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3158
3159         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3160
3161         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3162         (MAX_CHAR_OBS_94x94): Deleted.
3163
3164 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3165
3166         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3167
3168         * char-ucs.h (MAX_CHAR_BMP): New macro.
3169
3170 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3171
3172         * text-coding.c: Sync with r21-2-24.
3173
3174 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3175
3176         * file-coding.c: Modify for UTF-2000.
3177
3178 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3179
3180         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3181         to 0.13 (Takaida).
3182
3183 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3184
3185         * mule-charset.c (split_builtin_char): Delete builtin support for
3186         `katakana-jisx0201'.
3187         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3188         BMP area in builtin representation.
3189
3190         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3191         `Vcharset_katakana_jisx0201'.
3192
3193 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3194
3195         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3196         (Qisolated): New variable.
3197         (Qinitial): New variable.
3198         (Qmedial): New variable.
3199         (Qfinal): New variable.
3200         (Qvertical): New variable.
3201         (Qsmall): New variable.
3202         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3203         `Qvertical' and `Qsmall'.
3204         (Qmojikyo_pj_[1 .. 21]): New variable.
3205         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3206         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3207         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3208         .. 21]'.
3209
3210 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3211
3212         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3213         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3214         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3215
3216 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3217
3218         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3219         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3220         BMP.
3221         (Qjapanese_jisx0208_1990): New variable.
3222         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3223         (complex_vars_of_mule_charset): Add new coded-charset
3224         `japanese-jisx0208-1990'.
3225
3226         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3227         (MIN_CHAR_JIS_X0208_1990): New macro.
3228         (MAX_CHAR_JIS_X0208_1990): New macro.
3229
3230 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3231
3232         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3233         coded-charset is not found.
3234
3235 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3236
3237         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3238         (Fdefine_char): Use `Fmake_char'.
3239
3240 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3241
3242         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3243         (Vcharset_hiragana_jisx0208): Deleted.
3244         (Vcharset_katakana_jisx0208): Deleted.
3245         (Qideograph_daikanwa): New variable.
3246         (Qhiragana_jisx0208): Deleted.
3247         (Qkatakana_jisx0208): Deleted.
3248         (split_builtin_char): Split `ideograph-daikanwa'.
3249         (Fsplit_char): New implementation for UTF-2000.
3250         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3251         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3252         (complex_vars_of_mule_charset): Add new coded-charset
3253         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3254         `katakana-jisx0208'.
3255
3256         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3257         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3258         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3259         (MIN_CHAR_DAIKANWA): New macro.
3260         (MAX_CHAR_DAIKANWA): New macro.
3261
3262 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3263
3264         * data.c (Fstring_to_number): Don't recognize floating point if
3265         base is not 10.
3266
3267 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3268
3269         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3270
3271 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3272
3273         * mule-charset.c (Qsquare): New variable.
3274         (to_char_code): Add `Qsquare'.
3275         (syms_of_mule_charset): Add new symbol `square'.
3276
3277 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3278
3279         * mule-charset.c (Qcircle): New variable.
3280         (to_char_code): Add `Qcircle'.
3281         (syms_of_mule_charset): Add new symbol `circle'.
3282
3283 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3284
3285         * mule-charset.c (Qfont): New variable.
3286         (to_char_code): Add `Qfont'.
3287         (syms_of_mule_charset): Add new symbol `font'.
3288
3289 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3290
3291         * mule-charset.c (Qsub): New variable.
3292         (to_char_code): Add `Qsub'.
3293         (syms_of_mule_charset): Add new symbol `sub'.
3294
3295 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3296
3297         * mule-charset.c (Fput_char_attribute): Convert each element of
3298         VALUE to GL position if ATTRIBUTE is a GR-set,
3299
3300 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3301
3302         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3303         coded-charset is a GR-set.
3304
3305 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3306
3307         * mule-charset.c (Fput_char_attribute): Check each element of
3308         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3309
3310 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3311
3312         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3313         UTF-2000.
3314         (Qethiopic_ucs): New variable in UTF-2000.
3315         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3316         (complex_vars_of_mule_charset): Add new coded-charset
3317         `ethiopic-ucs' in UTF-2000.
3318
3319         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3320         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3321         9)'.
3322         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3323         10)'.
3324         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3325
3326 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3327
3328         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3329         `ascii'.
3330
3331 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3332
3333         * mule-charset.c (Vcharacter_variant_table): New variable.
3334         (Q_ucs): New variable.
3335         (Fchar_variants): New function.
3336         (Fput_char_attribute): Register `->ucs' value to
3337         `Vcharacter_variant_table'.
3338         (syms_of_mule_charset): Add new function `char-variants' and new
3339         symbol `->ucs'.
3340         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3341
3342 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3343
3344         * mule-charset.c (get_char_code_table): Allow negative character
3345         code.
3346         (put_char_code_table): Likewise.
3347         (Vcharacter_composition_table): New variable.
3348         (Q_decomposition): New variable.
3349         (Qwide): New variable.
3350         (Qnarrow): New variable.
3351         (Qcompat): New variable.
3352         (QnoBreak): New variable.
3353         (Qsuper): New variable.
3354         (Qfraction): New variable.
3355         (to_char_code): New function.
3356         (Fget_composite_char): New function.
3357         (Fput_char_attribute): Register `->decomposition' value to
3358         `Vcharacter_composition_table'.
3359         (syms_of_mule_charset): Add new function `get-composite-char', new
3360         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3361         `super' and `fraction'.
3362         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3363
3364 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3365
3366         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3367         character; copy the return value.
3368
3369 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3370
3371         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3372
3373         * mule-charset.c (range_charset_code_point): Must use make_int.
3374         (split_builtin_char): New function.
3375
3376 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3377
3378         * mule-charset.c (char_byte_table): Change name from
3379         "char-code-table" to "char-byte-table".
3380         (mark_char_code_table): New function.
3381         (char_code_table_equal): New function.
3382         (char_code_table_hash): New function.
3383         (char_code_table_description): New constant.
3384         (char_code_table): New type.
3385         (make_char_code_table): New function.
3386         (copy_char_code_table): New function.
3387         (get_char_code_table): Modify for `char_code_table' type.
3388         (put_char_code_table): Likewise.
3389         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3390         (Kashiwara).
3391
3392         * char-ucs.h (char_code_table): New type.
3393         (XCHAR_CODE_TABLE): New macro.
3394         (XSETCHAR_CODE_TABLE): New macro.
3395         (CHAR_CODE_TABLE_P): New macro.
3396         (GC_CHAR_CODE_TABLE_P): New macro.
3397         (struct Lisp_Char_Code_Table): New structure.
3398
3399 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3400
3401         * mule-charset.c (Fmake_charset): Setup byte_offset for
3402         {94|96}^n-set.
3403
3404 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3405
3406         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3407         character.
3408
3409 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3410
3411         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3412         is found.
3413
3414 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3415
3416         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3417         charset, it is regarded as a charset.
3418         (put_char_attribute): New function in UTF-2000.
3419         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3420         charset, mapping-table of the charset is modified.
3421         (Fdefine_char): New function in UTF-2000.
3422         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3423         `Fput_char_attribute'.
3424         (syms_of_mule_charset): Add new function `define-char' and new
3425         symbol `ucs' in UTF-2000.
3426         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3427
3428 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3429
3430         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3431         non-UTF-2000 configuration.
3432
3433 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3434
3435         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3436         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3437
3438         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3439         deleted.
3440         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3441         (Fset_charset_mapping_table): Likewise.
3442
3443         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3444         (CHARSET_ENCODING_TABLE): Delete.
3445         (XCHARSET_ENCODING_TABLE): Delete.
3446         (charset_code_point): New interface.
3447
3448 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3449
3450         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3451         instead of `charset_get_byte1' and `charset_get_byte2'.
3452
3453         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3454         (charset_get_byte2): Deleted.
3455
3456 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3457
3458         * char-ucs.h (SPLIT_CHAR): New inline function.
3459         (breakup_char_1): Use `SPLIT_CHAR'.
3460
3461         * mule-charset.c (range_charset_code_point): New function.
3462         (charset_code_point): New function.
3463
3464         * char-ucs.h (range_charset_code_point): New interface.
3465         (breakup_char_1): Use `range_charset_code_point'.
3466
3467 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3468
3469         * mule-charset.c (Fmake_charset): Delete unused local variable
3470         `code_offset'.
3471
3472         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3473         (breakup_char_1): Find a charset and code-point in
3474         `Vcharacter_attribute_table'.
3475
3476 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3477
3478         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3479         to 0.10 (Yao).
3480
3481 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3482
3483         * mule-charset.c (Vcharacter_attribute_table): New variable.
3484         (Fchar_attribute_alist): New function.
3485         (Fget_char_attribute): New function.
3486         (Fput_char_attribute): New function.
3487         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3488         too.
3489         (syms_of_mule_charset): Add new function `char-attribute-alist',
3490         `get-char-attribute' and `put-char-attribute'.
3491         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3492
3493 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3494
3495         * mule-charset.c (Fmake_charset): Just use
3496         `get_unallocated_leading_byte'.
3497
3498         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3499         sets; don't use final-byte based number for private sets.
3500
3501 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3502
3503         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3504         integer.
3505
3506 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3507
3508         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3509         to 0.9.
3510
3511 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3512
3513         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3514         of `CHAR_LEADING_BYTE' in UTF-2000.
3515
3516         * insdel.c (find_charsets_in_bufbyte_string): Use
3517         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3518         (find_charsets_in_emchar_string): Likewise.
3519
3520         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3521         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3522
3523         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3524         (CHAR_CHARSET_ID): New macro.
3525
3526 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3527
3528         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3529         charset-id - MIN_LEADING_BYTE.
3530         (put_char_table): Likewise.
3531
3532 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3533
3534         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
3535         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
3536         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
3537         (CHARSET_ID_OFFSET): New macro.
3538         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
3539         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
3540         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
3541         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3542         4).
3543         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
3544         5).
3545         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
3546         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
3547         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
3548         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
3549         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
3550
3551 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3552
3553         * mule-charset.c (next_allocated_leading_byte): New variable in
3554         UTF-2000.
3555         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
3556         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
3557         (get_unallocated_leading_byte): Simply use
3558         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
3559         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
3560         UTF-2000.
3561
3562         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
3563         (MAX_LEADING_BYTE_PRIVATE): New macro.
3564         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
3565         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
3566
3567 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3568
3569         * mule-charset.c (Fmake_charset): Allocate final-byte based
3570         charset-id for 94-set, 96-set and 94x94-set.
3571
3572 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3573
3574         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
3575         ambiguous `else'.
3576         (Fmake_charset): Likewise.
3577         (complex_vars_of_mule_charset): Modify the font registry of
3578         `ucs-bmp' not to match `Ethiopic-Unicode'.
3579
3580 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3581
3582         * mule-charset.c (complex_vars_of_mule_charset): Add font
3583         registory of `ucs-bmp'.
3584
3585 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3586
3587         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
3588         coded-charsets in `default-coded-charset-priority-list' when
3589         breaking up a character.
3590
3591         * mule-charset.c (Vcharset_latin_viscii): New variable.
3592         (Qlatin_viscii): New variable.
3593         (make_charset): Don't use `decoding_table'.
3594         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
3595         byte_offset.
3596         (Fset_charset_mapping_table): New implementation.
3597         (syms_of_mule_charset): Add new symbol `latin-viscii'.
3598         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
3599         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
3600         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
3601         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
3602         charset `latin_viscii'.
3603
3604         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
3605         (CHARSET_TYPE_94X94): Change to 1 from 2.
3606         (CHARSET_TYPE_96): Change to 2 from 1.
3607         (CHARSET_TYPE_128): New macro.
3608         (CHARSET_TYPE_128X128): Change to 5 from 4.
3609         (CHARSET_TYPE_256): New macro.
3610         (CHARSET_TYPE_256X256): Change to 7 from 5.
3611         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
3612
3613 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3614
3615         * text-coding.c (char_encode_shift_jis): Refer
3616         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
3617         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
3618
3619         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
3620         (char_byte_table_equal): New function in UTF-2000.
3621         (char_byte_table_hash): New function in UTF-2000.
3622         (char_byte_table_description): New constant in UTF-2000.
3623         (char_byte_table): New type in UTF-2000.
3624         (make_char_byte_table): New function in UTF-2000.
3625         (copy_char_byte_table): New function in UTF-2000.
3626         (make_char_code_table): New macro in UTF-2000.
3627         (get_char_code_table): New function in UTF-2000.
3628         (put_char_code_table): New function in UTF-2000.
3629         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3630         (charset_description): Add setting in UTF-2000.
3631         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
3632         `CHARSET_TO_BYTE1_TABLE(cs)'.
3633         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
3634         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
3635         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
3636         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
3637         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
3638         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
3639         `CHARSET_TO_BYTE2_TABLE(cs)'.
3640
3641         * char-ucs.h (char_byte_table): New type.
3642         (XCHAR_BYTE_TABLE): New macro.
3643         (XSETCHAR_BYTE_TABLE): New macro.
3644         (CHAR_BYTE_TABLE_P): New macro.
3645         (GC_CHAR_BYTE_TABLE_P): New macro.
3646         (struct Lisp_Char_Byte_Table): New structure.
3647         (get_char_code_table): New interface.
3648         (Emchar_to_byte_table): Deleted.
3649         (get_byte_from_character_table): Deleted.
3650         (struct Lisp_Charset): Add `encoding_table'; delete
3651         `to_byte1_table' and `to_byte2_table'.
3652         (CHARSET_ENCODING_TABLE): New macro.
3653         (CHARSET_TO_BYTE1_TABLE): Deleted.
3654         (CHARSET_TO_BYTE2_TABLE): Deleted.
3655         (XCHARSET_ENCODING_TABLE): New macro.
3656         (XCHARSET_TO_BYTE1_TABLE): Deleted.
3657         (XCHARSET_TO_BYTE2_TABLE): Deleted.
3658
3659 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3660
3661         * mule-charset.c (syms_of_mule_charset): Delete charset alias
3662         `vietnamese-viscii-*'.
3663
3664 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
3665
3666         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
3667         (Qvietnamese_viscii_upper): New variable.
3668         (Fdefine_charset_alias): New function.
3669         (syms_of_mule_charset): Add new function `define-charset-alias'.
3670         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
3671         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
3672         `latin-viscii-*'.
3673
3674 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
3675
3676         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
3677         (MAX_CHAR_OBS_94x94): New macro.
3678         (breakup_char_1): Support obsolete XEmacs-UCS private code space
3679         for 94x94 sets.
3680
3681         * mule-charset.c (put_byte_from_character_table): Change unit size
3682         from 128 to 256.
3683         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
3684         not defined.
3685         (Fmake_reverse_direction_charset): Modify dummy argument of
3686         `make_charset' for non-UTF-2000 environment.
3687
3688 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3689
3690         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
3691
3692         * mule-charset.c (destroy_byte_from_character_table): New macro.
3693         (latin_jisx0201_to_ucs): Deleted.
3694         (latin_iso8859_2_to_ucs): Deleted.
3695         (latin_iso8859_3_to_ucs): Deleted.
3696         (latin_iso8859_4_to_ucs): Deleted.
3697         (latin_iso8859_9_to_ucs): Deleted.
3698         (latin_viscii_lower_to_ucs): Deleted.
3699         (latin_viscii_upper_to_ucs): Deleted.
3700         (mark_charset): Mark `cs->decoding_table'.
3701         (Fcharset_mapping_table): Fix DOC-string.
3702         (Fset_charset_mapping_table): New function.
3703         (syms_of_mule_charset): Add nwe function
3704         `set-charset-mapping-table'.
3705         (complex_vars_of_mule_charset): Don't setup and use
3706         `latin_*_to_ucs'.
3707
3708 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3709
3710         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
3711         charset.
3712
3713 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3714
3715         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
3716         (Vcharset_katakana_jisx0208): New variable.
3717         (Qhiragana_jisx0208): New variable.
3718         (Qkatakana_jisx0208): New variable.
3719         (make_charset): Add new argument `byte_offset'.
3720         (charset_get_byte1): Modify for new coded-charset definition; use
3721         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3722         `XCHARSET_BYTE_OFFSET'.
3723         (Fmake_charset): Modify for `make_charset'.
3724         (Fmake_reverse_direction_charset): Likewise.
3725         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
3726         `katakana-jisx0208'.
3727         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
3728         `.'  in font registry of charset `katakana-jisx0201',
3729         `latin-jisx0201', `vietnamese-viscii-lower' and
3730         `vietnamese-viscii-upper'; modify DOC-string of charset
3731         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
3732         registry of charset `japanese-jisx0208' not to use font for JIS
3733         X0208:1990; add new charset `hiragana-jisx0208' and
3734         `katakana-jisx0208'.
3735
3736         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
3737         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
3738         (struct Lisp_Charset): Add `byte_offset'.
3739         (CHARSET_BYTE_OFFSET): New macro.
3740         (XCHARSET_UCS_MIN): New macro.
3741         (XCHARSET_UCS_MAX): New macro.
3742         (XCHARSET_CODE_OFFSET): New macro.
3743         (XCHARSET_BYTE_OFFSET): New macro.
3744         (MIN_CHAR_HIRAGANA): New macro.
3745         (MAX_CHAR_HIRAGANA): New macro.
3746         (MIN_CHAR_KATAKANA): New macro.
3747         (MAX_CHAR_KATAKANA): New macro.
3748         (MAKE_CHAR): Modify for new coded-charset definition; use
3749         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
3750         `XCHARSET_BYTE_OFFSET'.
3751
3752 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3753
3754         * mule-charset.c (CHAR96): Deleted.
3755         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
3756         <Lisp_Object>.
3757         (latin_iso8859_2_to_ucs): Likewise.
3758         (latin_iso8859_3_to_ucs): Likewise.
3759         (latin_iso8859_4_to_ucs): Likewise.
3760         (latin_iso8859_9_to_ucs): Likewise.
3761         (latin_viscii_lower_to_ucs): Likewise.
3762         (latin_viscii_upper_to_ucs): Likewise.
3763         (latin_tcvn5712_to_ucs): Commented out.
3764         (make_charset): Change type of argument `decoding_table' from
3765         <Emchar*> to <Lisp_Object> [vector of characters].
3766         (Fmake_charset): Modify for `make_charset'.
3767         (Fmake_reverse_direction_charset): Likewise.
3768         (Fcharset_mapping_table): New function in UTF-2000.
3769         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
3770         UTF-2000.
3771         (complex_vars_of_mule_charset): Modify for type change of
3772         `*_to_ucs'; modify for `make_charset'.
3773
3774         * char-ucs.h (struct Lisp_Charset): Change type of
3775         `decoding_table' from <Emchar*> to <Lisp_Object>.
3776         (MAKE_CHAR): Modify for new specification of `decoding_table'.
3777
3778 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3779
3780         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
3781         error with non-UTF-2000-Mule.
3782
3783 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
3784
3785         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
3786         in lisp again].
3787         (Vcharset_chinese_cns11643_4): Likewise.
3788         (Vcharset_chinese_cns11643_5): Likewise.
3789         (Vcharset_chinese_cns11643_6): Likewise.
3790         (Vcharset_chinese_cns11643_7): Likewise.
3791         (Qchinese_cns11643_3): Likewise.
3792         (Qchinese_cns11643_4): Likewise.
3793         (Qchinese_cns11643_5): Likewise.
3794         (Qchinese_cns11643_6): Likewise.
3795         (Qchinese_cns11643_7): Likewise.
3796         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
3797         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
3798         and `chinese-cns11643-7' to lisp/mule/chinese.el.
3799         (complex_vars_of_mule_charset): Likewise.
3800
3801 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3802
3803         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
3804         96-set.
3805         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
3806         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
3807
3808 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
3809
3810         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
3811         0xFF60.
3812         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
3813         (breakup_char_1): Likewise.
3814
3815         * text-coding.c (char_encode_iso2022): Keep designated charsets if
3816         one of them includes the specified character.
3817
3818 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3819
3820         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
3821
3822 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3823
3824         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
3825
3826 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3827
3828         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
3829         definition for non-UTF-2000 Mule.
3830         (latin_iso8859_3_to_ucs): Likewise.
3831         (latin_iso8859_4_to_ucs): Likewise.
3832         (latin_iso8859_9_to_ucs): Likewise.
3833         (latin_jisx0201_to_ucs): Likewise.
3834         (MIN_CHAR_THAI): Likewise.
3835         (MAX_CHAR_THAI): Likewise.
3836         (MIN_CHAR_GREEK): Likewise.
3837         (MAX_CHAR_GREEK): Likewise.
3838         (MIN_CHAR_HEBREW): Likewise.
3839         (MAX_CHAR_HEBREW): Likewise.
3840         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
3841         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
3842         (MIN_CHAR_CYRILLIC): Likewise.
3843         (MAX_CHAR_CYRILLIC): Likewise.
3844
3845 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
3846
3847         * char-ucs.h (breakup_char_1): Use
3848         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
3849         thai-tis620 and katakana-jisx0201 area.
3850
3851 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3852
3853         * char-ucs.h (breakup_char_1): Use
3854         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
3855         area.
3856
3857         * text-coding.c (reset_encoding_stream): Fixed.
3858         (char_encode_ucs4): Delete `& 255'.
3859
3860         * char-ucs.h (breakup_char_1): Use
3861         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
3862
3863 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3864
3865         * file-coding.c (Fmake_coding_system): Don't set up
3866         `codesys->fixed.size'.
3867         (encode_coding_no_conversion): Don't refer
3868         `str->codesys->fixed.size'.
3869
3870 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3871
3872         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
3873         (latin_a_char_to_byte1): Deleted.
3874         (latin_a_char_to_byte2): Deleted.
3875
3876 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3877
3878         * mule-charset.c (make_charset): Add new argument `ucs_min',
3879         `ucs_max' and `code_offset'.
3880         (charset_get_byte1): New implementation [delete specific charset
3881         depended implementations].
3882         (Fmake_charset): Modify for `make_charset'.
3883         (Fmake_reverse_direction_charset): Likewise.
3884         (complex_vars_of_mule_charset): Likewise.
3885
3886         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
3887         `code_offset'.
3888         (CHARSET_UCS_MIN): New macro.
3889         (CHARSET_UCS_MAX): New macro.
3890         (CHARSET_CODE_OFFSET): New macro.
3891         (MAKE_CHAR): Delete charset depended definitions [except
3892         katakana-jisx0201].
3893
3894 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3895
3896         * char-ucs.h (breakup_char_1): Use
3897         `Vdefault_coded_charset_priority_list' for C0-Controls,
3898         Basic-Latin, C1-Controls and Latin-1-Supplement area.
3899
3900 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3901
3902         * char-ucs.h (charset_get_byte1): New function.
3903         (XCHARSET_GET_BYTE1): Deleted.
3904         (charset_get_byte2): New function.
3905         (XCHARSET_GET_BYTE2): Deleted.
3906         (Vdefault_coded_charset_priority_list): New external variable.
3907         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
3908         `Vdefault_preferred_coded_charset_list'.
3909
3910         * mule-charset.c (charset_get_byte1): New function.
3911         (charset_get_byte2): New function.
3912         (Vdefault_coded_charset_priority_list): New variable.
3913         (vars_of_mule_charset): Add new variable
3914         `default-coded-charset-priority-list'.
3915
3916 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3917
3918         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
3919         (XCHARSET_GET_BYTE2): New inline function.
3920         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
3921         `XCHARSET_GET_BYTE2'.
3922
3923 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3924
3925         * mule-charset.c (make_charset): Initialize
3926         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
3927         NULL if table is not defined.
3928
3929 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3930
3931         * text-coding.c (char_encode_shift_jis): Use
3932         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
3933         `ucs_to_latin_jisx0201'.
3934
3935         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
3936         (ucs_to_latin_iso8859_2): Deleted.
3937         (ucs_to_latin_iso8859_3): Deleted.
3938         (ucs_to_latin_iso8859_4): Deleted.
3939         (ucs_to_latin_iso8859_9): Deleted.
3940         (ucs_to_latin_viscii_lower): Deleted.
3941         (ucs_to_latin_viscii_upper): Deleted.
3942         (ucs_to_latin_tcvn5712): Deleted.
3943         (make_charset): Add new argument `decoding_table'; set up
3944         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
3945         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
3946         `decoding_table' is defined in UTF-2000.
3947         (Fmake_charset): Modify for `make_charset'.
3948         (Fmake_reverse_direction_charset): Likewise.
3949         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
3950         and `GENERATE_96_SET'.
3951
3952         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
3953         (ucs_to_latin_jisx0201): Deleted.
3954         (latin_iso8859_2_to_ucs): Deleted.
3955         (ucs_to_latin_iso8859_2): Deleted.
3956         (latin_iso8859_3_to_ucs): Deleted.
3957         (ucs_to_latin_iso8859_3): Deleted.
3958         (latin_iso8859_4_to_ucs): Deleted.
3959         (ucs_to_latin_iso8859_4): Deleted.
3960         (latin_iso8859_9_to_ucs): Deleted.
3961         (ucs_to_latin_iso8859_9): Deleted.
3962         (latin_viscii_lower_to_ucs): Deleted.
3963         (ucs_to_latin_viscii_lower): Deleted.
3964         (latin_viscii_upper_to_ucs): Deleted.
3965         (ucs_to_latin_viscii_upper): Deleted.
3966         (struct Lisp_Charset): Renamed `encoding_table' to
3967         `to_byte1_table'; add `to_byte2_table'.
3968         (CHARSET_DECODING_TABLE): New macro.
3969         (CHARSET_TO_BYTE1_TABLE): New macro.
3970         (CHARSET_TO_BYTE2_TABLE): New macro.
3971         (XCHARSET_DECODING_TABLE): New macro.
3972         (XCHARSET_TO_BYTE1_TABLE): New macro.
3973         (XCHARSET_TO_BYTE2_TABLE): New macro.
3974         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
3975         tables.
3976         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
3977         don't use `ucs_to_*' tables.
3978
3979 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3980
3981         * text-coding.c (Fmake_coding_system): Don't set up
3982         `codesys->fixed.size'.
3983         (encode_coding_no_conversion): Use `if' instead of `switch'.
3984
3985         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
3986
3987 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3988
3989         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
3990         (Fmake_charset): Modify for `make_charset'.
3991         (Fmake_reverse_direction_charset): Likewise.
3992         (complex_vars_of_mule_charset): Likewise.
3993
3994 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3995
3996         * text-coding.c (char_encode_shift_jis): Use table
3997         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
3998
3999 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4000
4001         * text-coding.c (text_encode_generic): Use `if' instead of
4002         `switch'.
4003         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4004         decode JIS-Latin.
4005
4006 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4007
4008         * text-coding.c (encode_coding_sjis): Deleted.
4009         (char_encode_shift_jis): New function.
4010         (char_finish_shift_jis): New function.
4011         (reset_encoding_stream): Set up `encode_char' and `finish' for
4012         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4013         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4014         (char_encode_utf8): Treat `eol_type'.
4015
4016 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4017
4018         * file-coding.c (decode_coding_iso2022): Use
4019         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4020
4021 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4022
4023         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4024         to 0.7 (Hirano).
4025
4026 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4027
4028         * char-lb.h (CHAR_COLUMNS): New macro.
4029
4030 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4031
4032         * text-coding.c (char_encode_ucs4): New function.
4033         (char_finish_ucs4): New function.
4034         (encode_coding_ucs4): Deleted.
4035         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4036         (text_encode_generic): Delete local variable `charset' and `half'.
4037         (ucs_to_mule_table): Deleted.
4038         (mule_to_ucs_table): Deleted.
4039         (Fset_ucs_char): Deleted.
4040         (ucs_to_char): Deleted.
4041         (Fucs_char): Deleted.
4042         (Fset_char_ucs): Deleted.
4043         (Fchar_ucs): Deleted.
4044         (decode_ucs4): Deleted.
4045         (mule_char_to_ucs4): Deleted.
4046         (encode_ucs4): Deleted.
4047         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4048         (decode_coding_utf8): Likewise.
4049         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4050         (char_encode_iso2022): Fixed.
4051         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4052         `Fset_char_ucs' and `Fchar_ucs'.
4053         (complex_vars_of_file_coding): Don't initialize
4054         `ucs_to_mule_table'.
4055
4056         * objects-tty.c (tty_initialize_font_instance): Don't use
4057         `XCHARSET_COLUMNS'.
4058
4059         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4060         UTF-2000.
4061
4062         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4063         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4064
4065         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4066         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4067         (emchar_string_displayed_columns): Likewise.
4068
4069         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4070         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4071         (string_column_at_point): Likewise.
4072         (Fmove_to_column): Likewise.
4073
4074         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4075         `encoding_table' and `decoding_table'.
4076         (CHARSET_REP_BYTES): Deleted.
4077         (XCHARSET_REP_BYTES): Deleted.
4078         (XCHARSET_COLUMNS): Deleted.
4079         (CHAR_COLUMNS): New macro.
4080         (lookup_composite_char): Deleted unconditionally.
4081         (composite_char_string): Likewise.
4082
4083 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4084
4085         * char-ucs.h (Emchar_to_byte_table): New type.
4086         (get_byte_from_character_table): New function interface.
4087         (Vcharset_latin_jisx0201): New variable.
4088         (latin_jisx0201_to_ucs): New variable.
4089         (ucs_to_latin_jisx0201): New variable.
4090         (Vcharset_latin_iso8859_2): New variable.
4091         (latin_iso8859_2_to_ucs): New variable.
4092         (ucs_to_latin_iso8859_2): New variable.
4093         (Vcharset_latin_iso8859_3): New variable.
4094         (latin_iso8859_3_to_ucs): New variable.
4095         (ucs_to_latin_iso8859_3): New variable.
4096         (Vcharset_latin_iso8859_4): New variable.
4097         (latin_iso8859_4_to_ucs): New variable.
4098         (ucs_to_latin_iso8859_4): New variable.
4099         (Vcharset_latin_iso8859_9): New variable.
4100         (latin_iso8859_9_to_ucs): New variable.
4101         (ucs_to_latin_iso8859_9): New variable.
4102         (Vcharset_latin_viscii_lower): New variable.
4103         (latin_viscii_lower_to_ucs): New variable.
4104         (ucs_to_latin_viscii_lower): New variable.
4105         (Vcharset_latin_viscii_upper): New variable.
4106         (latin_viscii_upper_to_ucs): New variable.
4107         (ucs_to_latin_viscii_upper): New variable.
4108         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4109         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4110         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4111         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4112         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4113         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4114         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4115         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4116         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4117         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4118
4119         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4120         (Vcharset_latin_viscii_upper): New variable.
4121         (make_byte_from_character_table): New function.
4122         (put_byte_from_character_table): New function.
4123         (get_byte_from_character_table): New function.
4124         (CHAR96): New macro.
4125         (ucs_to_latin_jisx0201): New variable.
4126         (latin_jisx0201_to_ucs): New variable.
4127         (ucs_to_latin_iso8859_2): New variable.
4128         (latin_iso8859_2_to_ucs): New variable.
4129         (ucs_to_latin_iso8859_3): New variable.
4130         (latin_iso8859_3_to_ucs): New variable.
4131         (ucs_to_latin_iso8859_4): New variable.
4132         (latin_iso8859_4_to_ucs): New variable.
4133         (ucs_to_latin_iso8859_9): New variable.
4134         (latin_iso8859_9_to_ucs): New variable.
4135         (ucs_to_latin_viscii_lower): New variable.
4136         (latin_viscii_lower_to_ucs): New variable.
4137         (ucs_to_latin_viscii_upper): New variable.
4138         (latin_viscii_upper_to_ucs): New variable.
4139         (ucs_to_latin_tcvn5712): New variable.
4140         (latin_tcvn5712_to_ucs): New variable.
4141         (Qlatin_viscii_lower): New variable.
4142         (Qlatin_viscii_upper): New variable.
4143         (syms_of_mule_charset): Set up new symbol
4144         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4145         (complex_vars_of_mule_charset): Set up new charset
4146         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4147         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4148         `ucs_to_<CHARSET>' tables.
4149
4150 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4151
4152         * text-coding.c: New file.
4153
4154 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4155
4156         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4157
4158         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4159         (MAKE_CHAR): Modify for `ucs-bmp'.
4160         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4161         non-MULE characters of BMP.
4162
4163 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4164
4165         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4166         to 0.6.
4167
4168 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4169
4170         * lstream.h:
4171         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4172         - Include character.h for `CHAR_ASCII_P'.
4173
4174         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4175
4176         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4177         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4178
4179         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4180         (BYTE_C0_P): Likewise.
4181         (BYTE_C1_P): Likewise.
4182         (Lstream_get_emchar_1): Likewise.
4183         (Lstream_fput_emchar): Likewise.
4184         (Lstream_funget_emchar): Likewise.
4185         (copy_internal_to_external): Likewise.
4186         (copy_external_to_internal): Likewise.
4187
4188         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4189         (BYTE_C0_P): Likewise.
4190         (BYTE_C1_P): Likewise.
4191         (Lstream_get_emchar_1): Likewise.
4192         (Lstream_fput_emchar): Likewise.
4193         (Lstream_funget_emchar): Likewise.
4194         (copy_internal_to_external): Likewise.
4195         (copy_external_to_internal): Likewise.
4196
4197         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4198         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4199
4200         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4201         (BYTE_ASCII_P): Moved to mb-1byte.h.
4202
4203 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4204
4205         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4206
4207         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4208         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4209         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4210         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4211         (VALIDATE_CHARPTR_FORWARD): Likewise.
4212         (simple_charptr_emchar): Moved to mb-multibyte.h.
4213         (simple_set_charptr_emchar): Likewise.
4214         (simple_charptr_copy_char): Likewise.
4215         (non_ascii_charptr_emchar): Likewise.
4216         (non_ascii_set_charptr_emchar): Likewise.
4217         (non_ascii_charptr_copy_char): Likewise.
4218         (charptr_emchar): Moved to mb-*byte.h.
4219         (set_charptr_emchar): Likewise.
4220         (charptr_copy_char): Likewise.
4221
4222         * mb-1byte.h, mb-multibyte.h: New files.
4223
4224 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4225
4226         * mb-utf-8.h (MULTIBYTE): New macro.
4227         (MAX_EMCHAR_LEN): Moved from buffer.h.
4228         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4229
4230         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4231
4232         * mb-lb.h, multibyte.h: New files.
4233
4234         * char-1byte.h (Charset_ID): Moved from buffer.h.
4235         (MIN_LEADING_BYTE): Likewise.
4236         (LEADING_BYTE_ASCII): Likewise.
4237         (NUM_LEADING_BYTES): Likewise.
4238         (CHARSETP): Likewise.
4239         (CHARSET_BY_LEADING_BYTE): Likewise.
4240         (XCHARSET_LEADING_BYTE): Likewise.
4241         (XCHARSET_GRAPHIC): Likewise.
4242         (XCHARSET_COLUMNS): Likewise.
4243         (XCHARSET_DIMENSION): Likewise.
4244         (CHAR_CHARSET): Likewise.
4245         (CHAR_LEADING_BYTE): Likewise.
4246         (BREAKUP_CHAR): Likewise.
4247         (Vcharset_ascii): Likewise.
4248
4249         * buffer.h: Include multibyte.h unconditionally.
4250         (VALID_CHARPTR_P): Moved to multibyte.h.
4251         (ASSERT_VALID_CHARPTR): Likewise.
4252         (REAL_INC_CHARPTR): Likewise.
4253         (REAL_INC_CHARBYTIND): Likewise.
4254         (REAL_DEC_CHARPTR): Likewise.
4255         (INC_CHARPTR): Likewise.
4256         (INC_CHARBYTIND): Likewise.
4257         (DEC_CHARPTR): Likewise.
4258         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4259         (VALIDATE_CHARPTR_FORWARD): Likewise.
4260         (charptr_n_addr): Likewise.
4261         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4262         (simple_charptr_emchar): Moved to multibyte.h.
4263         (simple_set_charptr_emchar): Likewise.
4264         (simple_charptr_copy_char): Likewise.
4265         (non_ascii_charptr_emchar): Likewise.
4266         (non_ascii_set_charptr_emchar): Likewise.
4267         (non_ascii_charptr_copy_char): Likewise.
4268         (charptr_emchar): Likewise.
4269         (set_charptr_emchar): Likewise.
4270         (charptr_copy_char): Likewise.
4271         (charptr_emchar_n): Likewise.
4272         (Charset_ID): Moved to char-1byte.h.
4273         (Vcharset_ascii): Likewise.
4274         (CHAR_CHARSET): Likewise.
4275         (CHAR_LEADING_BYTE): Likewise.
4276         (LEADING_BYTE_ASCII): Likewise.
4277         (NUM_LEADING_BYTES): Likewise.
4278         (MIN_LEADING_BYTE): Likewise.
4279         (CHARSETP): Likewise.
4280         (CHARSET_BY_LEADING_BYTE): Likewise.
4281         (XCHARSET_LEADING_BYTE): Likewise.
4282         (XCHARSET_GRAPHIC): Likewise.
4283         (XCHARSET_COLUMNS): Likewise.
4284         (XCHARSET_DIMENSION): Likewise.
4285         (BREAKUP_CHAR): Likewise.
4286
4287 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4288
4289         * character.h: Add document about interface for characters.
4290
4291         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4292         (MAKE_CHAR): Delete comment about
4293         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4294         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4295         (BREAKUP_CHAR): Modify name of arguments.
4296         (CHAR_CHARSET): Modify name of argument.
4297
4298         * buffer.h: Delete document about Emchar accessors.
4299
4300 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4301
4302         * character.h (CHAR_INTP): Moved from buffer.h
4303         (CHAR_OR_CHAR_INTP): Likewise.
4304         (XCHAR_OR_CHAR_INT): Likewise.
4305         (CHECK_CHAR_COERCE_INT): Likewise.
4306
4307         * buffer.h (CHAR_INTP): Moved to character.h
4308         (CHAR_OR_CHAR_INTP): Likewise.
4309         (XCHAR_OR_CHAR_INT): Likewise.
4310         (CHECK_CHAR_COERCE_INT): Likewise.
4311
4312 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4313
4314         * character.h:
4315         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4316         - Include char-1byte.h, char-lb.h or char-ucs.h.
4317
4318         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4319
4320         * buffer.h: Include character unconditionally.
4321         (valid_char_p): Moved to char-*.h.
4322         (non_ascii_valid_char_p): Moved to char-lb.h.
4323
4324         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4325
4326 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4327
4328         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4329         in UTF-2000 because it is not ported yet and not to use
4330         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4331         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4332         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4333
4334         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4335         (CHAR_ASCII_P): Moved from character.h.
4336
4337         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4338         (CHAR_ASCII_P): Likewise.
4339         (CHAR_FIELD1_MASK): Deleted.
4340         (CHAR_FIELD2_MASK): Deleted.
4341         (CHAR_FIELD3_MASK): Deleted.
4342         (MAX_CHAR_BASIC_LATIN): New macro.
4343         (CHAR_FIELD1): Deleted.
4344         (CHAR_FIELD2_INTERNAL): Deleted.
4345         (CHAR_FIELD3_INTERNAL): Deleted.
4346         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4347         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4348         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4349         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4350         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4351         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4352         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4353         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4354         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4355         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4356         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4357         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4358         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4359         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4360         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4361         (MIN_CHAR_COMPOSITION): Deleted.
4362         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4363         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4364
4365 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4366
4367         * buffer.h: Include mb-utf-8.h in UTF-2000.
4368
4369         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4370
4371         * mb-utf-8.h: New file.
4372
4373 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4374
4375         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4376         instead of `int'.
4377
4378         * mule-charset.h, buffer.h (Charset_ID): New type.
4379
4380 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4381
4382         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4383         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4384         instead of `MULE_CHAR_PRIVATE_OFFSET',
4385         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4386         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4387         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4388
4389         * character.h (Vcharset_japanese_jisx0212): New variable
4390         definition.
4391
4392 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4393
4394         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4395         (charset_by_attributes): Delete array about direction.
4396         (latin_a_char_to_charset): New variable in UTF-2000.
4397         (latin_a_char_to_byte1): New variable in UTF-2000.
4398         (latin_a_char_to_byte2): New variable in UTF-2000.
4399         (Qucs_bmp): New variable.
4400         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4401         `Bufbyte'.
4402         (next_allocated_2_byte_leading_byte): Likewise.
4403         (non_ascii_set_charptr_emchar): Likewise.
4404         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4405         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4406         `charset_by_attributes'.
4407         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4408         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4409         and `CHARSET_BY_LEADING_BYTE'.
4410         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4411         `utf-2000-version' to `vars_of_mule_charset'.
4412         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4413         define `leading-code-private-11' in UTF-2000; move setting of
4414         `utf-2000-version' from `syms_of_mule_charset'.
4415         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4416         UTF-2000.
4417
4418         * character.h (Charset_ID): New type.
4419         (LEADING_BYTE_UCS_BMP): New macro.
4420         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4421         (CHARSET_ID_OFFSET_94): New macro.
4422         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4423         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4424         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4425         final-byte.
4426         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4427         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4428         (CHARSET_ID_OFFSET_96): New macro.
4429         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4430         CHARSET_ID_OFFSET_96 and final-byte.
4431         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4432         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4433         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4434         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4435         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4436         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4437         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4438         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4439         (LEADING_BYTE_THAI_TIS620): Likewise.
4440         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4441         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4442         (CHARSET_ID_OFFSET_94x94): New macro.
4443         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4444         CHARSET_ID_OFFSET_94x94 and final-byte.
4445         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4446         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4447         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4448         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4449         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4450         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4451         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4452         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4453         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4454         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4455         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4456         (CHARSET_TYPE_128X128): New macro.
4457         (CHARSET_TYPE_256X256): New macro.
4458         (XCHARSET_PRIVATE_P): Delete unconditionally.
4459         (charset_by_attributes): Delete array about direction.
4460         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4461         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4462         (MIN_CHAR_94): New macro.
4463         (MAX_CHAR_94): New macro.
4464         (MIN_CHAR_96): New macro.
4465         (MAX_CHAR_96): New macro.
4466         (MIN_CHAR_94x94): New macro.
4467         (MAX_CHAR_94x94): New macro.
4468         (MIN_CHAR_96x96): New macro.
4469         (MAX_CHAR_96x96): New macro.
4470         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4471         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4472         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4473         - 32)'.
4474         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4475         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4476         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4477         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4478         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4479         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4480         `XCHARSET_LEADING_BYTE' to make code-point.
4481         (latin_a_char_to_charset): New variable.
4482         (latin_a_char_to_byte1): New variable.
4483         (latin_a_char_to_byte2): New variable.
4484         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4485         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4486         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4487
4488         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4489         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4490         (find_charsets_in_emchar_string): Likewise.
4491         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4492
4493         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4494         `int'.
4495         (decode_coding_iso2022): Likewise.
4496
4497         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4498         of `unsigned char'.
4499
4500         * redisplay.c (redisplay_text_width_emchar_string): Use
4501         `Charset_ID' instead of `unsigned char'.
4502         (redisplay_frame_text_width_string): Likewise.
4503
4504         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4505         `unsigned char'.
4506
4507         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4508         instead of `unsigned char'.
4509         (face_cachel_charset_font_metric_info): Likewise.
4510
4511         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4512         (get_non_ascii_char_table_value): Likewise.
4513         (get_char_table): Likewise.
4514         (put_char_table): Likewise.
4515         (map_over_other_charset): Likewise.
4516         (map_char_table): Likewise.
4517
4518         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4519         instead of `unsigned char'.
4520
4521 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4522
4523         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4524         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4525
4526         * mule-charset.c (leading_code_private_11): Don't define in
4527         UTF-2000.
4528
4529         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
4530         in UTF-2000 because it is not ported yet and not to use
4531         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
4532
4533 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
4534
4535         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
4536
4537 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4538
4539         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
4540         in UTF-2000.
4541
4542         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
4543         of unsigned char to store leading-byte.
4544
4545         * chartab.c (get_non_ascii_char_table_value): Don't use
4546         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
4547
4548         * file-coding.c (encode_coding_big5): Delete bogus implementation
4549         in UTF2000.
4550
4551         * character.h (LEADING_BYTE_*): Delete definition for
4552         non-UTF-2000.
4553         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
4554         (LEADING_BYTE_PREFIX_P): Deleted.
4555         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
4556         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
4557         (BUFBYTE_LEADING_BYTE_P): Deleted.
4558         (CHARSET_PRIVATE_P): Deleted unconditionally.
4559         (rep_bytes_by_first_byte): Deleted unconditionally.
4560         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
4561         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
4562         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4563         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
4564         (CHAR_FIELD2): Deleted.
4565         (CHAR_FIELD3): Deleted.
4566         (MAKE_CHAR): Delete definition for non-UTF-2000.
4567         (BREAKUP_CHAR_1_UNSAFE): Deleted.
4568         (breakup_char_1): New implementation.
4569         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
4570         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
4571
4572 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4573
4574         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
4575         condition.
4576
4577 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4578
4579         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
4580         (CHARSET_PRIVATE_P): Likewise.
4581         (XCHARSET_PRIVATE_P): Likewise.
4582         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
4583
4584         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
4585         UTF2000.
4586         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
4587
4588 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4589
4590         * character.h (LEADING_BYTE_*): Changed in UTF2000.
4591         (NUM_LEADING_BYTES): Changed from 128 to 256.
4592         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4593         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
4594         UTF2000.
4595         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
4596
4597         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
4598         UTF2000.
4599         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
4600         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
4601         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
4602         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
4603         (Qchinese_cns11643_3): New variable in UTF2000.
4604         (Qchinese_cns11643_4): New variable in UTF2000.
4605         (Qchinese_cns11643_5): New variable in UTF2000.
4606         (Qchinese_cns11643_6): New variable in UTF2000.
4607         (Qchinese_cns11643_7): New variable in UTF2000.
4608         (syms_of_mule_charset): Define `chinese-cns11643-3',
4609         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4610         and `chinese-cns11643-7' in UTF2000.
4611         (vars_of_mule_charset): Initialize
4612         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
4613         + 1 in UTF2000.
4614         (complex_vars_of_mule_charset): Setup charset
4615         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
4616         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
4617
4618 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4619
4620         * mule-charset.c: Move setting for `leading-code-private-11' from
4621         `syms_of_mule_charset' to `vars_of_mule_charset'.
4622
4623 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4624
4625         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
4626         and `NUM_LEADING_BYTES' in assert.
4627
4628 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4629
4630         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
4631         instead of 128.
4632         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
4633         `NUM_LEADING_BYTES' instead of 128.
4634
4635 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4636
4637         * mule-charset.h (charset_by_leading_byte): Use
4638         `NUM_LEADING_BYTES' instead of 128.
4639         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
4640
4641         * mule-charset.c (charset_by_leading_byte): Use
4642         `NUM_LEADING_BYTES' instead of 128.
4643         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
4644
4645         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
4646         128.
4647
4648 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4649
4650         * mule-charset.c (syms_of_mule_charset): Update to
4651         0.4 (Shin-Imamiya).
4652
4653 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
4654
4655         * file-coding.c (encode_coding_sjis): New implementation for
4656         UTF2000.  (decode_coding_sjis): Ditto.
4657
4658 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4659
4660         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
4661         Don't define in UTF2000.
4662
4663         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
4664         defined.
4665
4666         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4667         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
4668         MULE.
4669
4670 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4671
4672         * config.h.in (CHAR_IS_UCS4): New macro.
4673
4674         * mule-charset.c (rep_bytes_by_first_byte): Modify for
4675         conventional MULE representation.
4676         (syms_of_mule_charset): Update to 0.3 (Imamiya).
4677
4678         * mule-charset.h: Reverted to original.
4679
4680         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
4681         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
4682         "mule-charset.h" if CHAR_IS_UCS4 is defined.
4683
4684         * character.h: New file.
4685
4686         * file-coding.c (Fmake_coding_system): Set 1 to
4687         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
4688         defined.
4689         (encode_coding_no_conversion): New implementation for UTF2000.
4690
4691         * file-coding.h (struct Lisp_Coding_System): Add new member
4692         `fixed.size'.
4693
4694 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
4695
4696         * file-coding.c (decode_coding_iso2022): Code-point arguments of
4697         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
4698         (encode_coding_iso2022): New implementation for UTF2000.
4699
4700 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4701
4702         * mule-canna.c (c2mu): New implementation for UTF2000.
4703         (m2c): Likewise.
4704
4705 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4706
4707         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
4708
4709 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4710
4711         * file-coding.c (reset_encoding_stream): Set 0 to
4712         `str->iso2022.current_char_boundary' in UTF2000.
4713         (encode_utf8): Don't define in UTF2000.
4714         (encode_coding_utf8): New implementation for UTF-8 representation
4715         of UTF2000.
4716         (complex_vars_of_file_coding): Define coding-system `utf-8'.
4717
4718 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4719
4720         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
4721
4722         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
4723         UTF2000.
4724         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4725
4726         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
4727
4728         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
4729         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
4730         as UTF-8 in UTF2000.
4731         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
4732         (non_ascii_valid_char_p): Don't define in UTF2000.
4733         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
4734         (Lstream_get_emchar_1): Likewise.
4735         (utf-2000-version): New variable in UTF2000.
4736
4737         * lread.c (read_escape): Add new reader `u'.
4738
4739         * insdel.c (three_to_one_table): Don't define in UTF2000.
4740         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
4741         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4742         UTF2000.
4743         (bytind_to_bufpos_func): Likewise.
4744         (buffer_mule_signal_inserted_region): Likewise.
4745         (vars_of_insdel): Don't initialize `three_to_one_table'.
4746         (init_buffer_text): Use `buf->text->mule_size' instead of
4747         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
4748         UTF2000.
4749
4750         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
4751         UTF-8 representation in UTF2000.
4752         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
4753         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
4754         (decode_coding_iso2022): Don't define local variable `lb' in
4755         UTF2000; don't use LEADING_BYTE in UTF2000; use
4756         `DECODE_ADD_UCS_CHAR' in UTF2000.
4757         (convert_to_external_format): Decode as UTF-8 in UTF2000.
4758
4759         * config.h.in (UTF2000): New macro.
4760
4761         * buffer.h (struct buffer_text): Add new member `mule_size' and
4762         don't add `mule_shifter' and `mule_three_p' in UTF2000.
4763         (valid_char_p): Return always 1 in UTF2000.
4764         (MAX_EMCHAR_LEN): 6 in UTF2000.
4765         (three_to_one_table): Don't define in UTF2000.
4766         (real_bufpos_to_bytind): Modify for UTF-8 representation in
4767         UTF2000.
4768         (real_bytind_to_bufpos): Likewise.
4769
4770         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
4771
4772 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4773
4774         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
4775         representation change.
4776         (Vutf_2000_version): New variable.
4777         (leading_code_private_11): New variable.
4778         (syms_of_mule_charset): Add new variables `utf-2000-version' and
4779         `leading-code-private-11'.
4780
4781         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
4782         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
4783         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
4784         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
4785         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
4786         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
4787         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
4788         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
4789         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
4790         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
4791         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
4792         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
4793         (MIN_CHAR_GREEK): New macro.
4794         (MAX_CHAR_GREEK): New macro.
4795         (MIN_CHAR_CYRILLIC): New macro.
4796         (MAX_CHAR_CYRILLIC): New macro.
4797         (MIN_CHAR_HEBREW): New macro.
4798         (MAX_CHAR_HEBREW): New macro.
4799         (MIN_CHAR_THAI): New macro.
4800         (MAX_CHAR_THAI): New macro.
4801         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
4802         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
4803         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
4804         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
4805         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
4806         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
4807         (CHAR_FIELD2): New inline function.
4808         (CHAR_FIELD3): New inline function.
4809         (MULE_CHAR_PRIVATE_OFFSET): New macro.
4810         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
4811         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
4812         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
4813         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
4814         (MIN_CHAR_COMPOSITION): Likewise.
4815         (CHAR_LEADING_BYTE): Modified for character representation change.
4816         (MAKE_CHAR): Likewise.
4817
4818         * lisp.h (Vcharset_latin_iso8859_1): New variable.
4819         (Vcharset_greek_iso8859_7): Likewise.
4820         (Vcharset_cyrillic_iso8859_5): Likewise.
4821         (Vcharset_hebrew_iso8859_8): Likewise.
4822         (Vcharset_thai_tis620): Likewise.
4823         (Vcharset_katakana_jisx0201): Likewise.
4824
4825 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
4826
4827         * XEmacs 21.4.12 "Portable Code" is released.
4828
4829 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
4830
4831         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
4832         * s/cygwin.sc: new linker file.
4833
4834 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
4835
4836         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
4837
4838         * redisplay-x.c (x_output_string): Use X11-specified types.
4839         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
4840         * emacs.c (__free_hook): Use typeof with Intel compiler.
4841         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
4842
4843 2003-01-08  Andy Piper  <andy@xemacs.org>
4844
4845         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
4846         reserve size during unexec().
4847
4848 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
4849
4850         * process-unix.c (unix_create_process): Don't let outchannel block.
4851
4852 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
4853
4854         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
4855         Needed for IsBadReadPtr().
4856
4857 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
4858
4859         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
4860
4861 2002-12-14  Ben Wing  <ben@xemacs.org>
4862
4863         * callint.c: Declaration error.
4864         * dumper.c (pdump):
4865         * dumper.c (pdump_load): Warning fix.
4866         * process.c: GCPRO error.
4867         * glyphs.c (unmap_subwindow):
4868         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
4869         * event-stream.c (maybe_kbd_translate): Wrong argument to
4870         character_to_event().
4871
4872         * alloc.c (garbage_collect_1):
4873         * emacs.c:
4874         * emacs.c (debug_can_access_memory):
4875         * emacs.c (fatal_error_signal):
4876         * emacs.c (mswindows_handle_hardware_exceptions):
4877         * emacs.c (main_1):
4878         * emacs.c (main):
4879         * emacs.c (assert_failed):
4880         * emacs.c (syms_of_emacs):
4881         * lisp.h:
4882         * print.c:
4883         * print.c (std_handle_out_va):
4884         * print.c (write_string_to_stdio_stream):
4885         * print.c (write_fmt_string):
4886         * print.c (printing_badness):
4887         * print.c (printing_major_badness):
4888         * print.c (print_internal):
4889         * print.c (debug_print_no_newline):
4890         * print.c (debug_backtrace):
4891         Be more defensive in handling bad values when printing.  Add code
4892         from trunk involving inhibit_non_essential_printing_operations.
4893         When going down or in debug_print(), don't do external conversion
4894         and such and try really, really hard when printing to avoid core
4895         dumping.  Add force-debugging-signal, debug_break().
4896
4897 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
4898
4899         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
4900         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
4901
4902 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
4903
4904         * database.c: Fix open_database. Berkeley DB API has changed in
4905         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
4906
4907 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
4908
4909         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
4910
4911 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
4912
4913         * event-Xt.c (Xt_timeout):
4914         (Xt_timeout_callback):
4915         (emacs_Xt_add_timeout):
4916         (emacs_Xt_remove_timeout):
4917         (Xt_timeout_to_emacs_event):
4918         Turn completed_timeouts from a stack into a queue.  Fixes
4919         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
4920
4921 2002-11-07  Wolfram Gloger  <wg@malloc.de>
4922
4923         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
4924         * emacs.c (main): Assert that mmap'd allocation is disabled.
4925
4926 2002-10-14  Andy Piper  <andy@xemacs.org>
4927
4928         * glyphs-widget.c (layout_query_geometry): add in fiddle
4929         factor. Include border text in width layout calculation.
4930         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
4931
4932 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
4933
4934         * XEmacs 21.4.10 "Military Intelligence" is released.
4935
4936 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
4937
4938         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
4939         using the NAS private array SoundFileInfo that no longer exists in
4940         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
4941         and earlier.  This is broken for some versions between 1.5a and
4942         1.5f.
4943
4944 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
4945
4946         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
4947
4948         * emacs.c (shut_down_emacs): Improve crash message.
4949
4950 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
4951
4952         * file-coding.c (determine_real_coding_system): Check for coding
4953         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
4954         shebangs and Python PEP 263.
4955
4956 2002-10-08  Andy Piper  <andy@xemacs.org>
4957
4958         * glyphs-widget.c (layout_query_geometry): only resize dynamically
4959         if static sizes haven't been set.
4960
4961 2002-08-30  Mike Alexander  <mta@arbortext.com>
4962
4963         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
4964         to close a socket.
4965
4966 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
4967
4968         * callproc.c (child_setup): 21.4 doesn't have retry_close.
4969
4970 2002-09-20  Mike Sperber <mike@xemacs.org>
4971
4972         (This partially gets back my patch from 2002-07-20 without the
4973         bug.)
4974         * callproc.c (child_setup): Remove Ben's comment noting confusion
4975         over the file descriptors >= 3: close_process_descs() doesn't
4976         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
4977         * process-unix.c (unix_create_process): Call
4978         begin_dont_check_for_quit to inhibit unwanted interaction (and
4979         thus breaking of X event synchronicity) in the child.
4980
4981 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
4982
4983         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
4984         widget.
4985
4986 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
4987
4988         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
4989         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
4990         the xemacs process did not exit, but looped infinitely here.  This
4991         fixes that problem.
4992
4993 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
4994
4995         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
4996         (find_context): Improve comments.
4997
4998         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
4999         (re_match_2): An XCHAR_TABLE operation was missing.
5000
5001         Many of the following changes were inspired by Andy Piper's (now
5002         obsolete) patch to make syntax-table text property lookup optional.
5003
5004         [Documentation]
5005
5006         * syntax.h (top level): Document semantics of syntax flags.
5007         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5008         * syntax.c, syntax.h (top level): Document syntax cache better in
5009         comments.
5010
5011         [Instrument syntax caching (temporary change)]
5012
5013         * syntax.h (enum syntax_cache_statistics_functions, struct
5014         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5015         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5016         * syntax.c (scan_words, Fforward_comment, scan_lists,
5017         Fbackward_prefix_characters):
5018         * font-lock.c (find_context):
5019         Use them to instrument syntax caching. 
5020         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5021         syntax_cache_statistics_function_names): New type and variables.
5022         * syntax.c (update_syntax_cache): Update and report statistics.
5023
5024         [Major syntax cache optimizations]
5025
5026         syntax.c (lookup_syntax_properties): Default off.
5027
5028         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5029         * syntax.c (update_syntax_cache):
5030         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5031
5032         [Minor syntax cache optimizations and code clarifications]
5033
5034         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5035         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5036         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5037         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5038         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5039         (Code clarification.)
5040
5041         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5042         scan_lists): Compute code from syncode, use Boolean macros instead
5043         of redundant masking operations.  (Code clarification; any decent
5044         compiler can do this optimization.)
5045
5046         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5047         for clarity.
5048
5049         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5050         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5051         use F*_single_property_change instead of F*_extent_change.
5052         Currently F*_single_property_change is _much_ less efficient.
5053
5054         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5055         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5056         syntax_cache.object properly, don't leave Qt or Qnil.
5057         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5058         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5059         tests for Qt or Qnil.
5060
5061 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5062
5063         * redisplay.c (point_in_line_start_cache): 
5064         * extents.c (print_extent_1):
5065         Fix warnings.
5066
5067         * extents.c (Fset_extent_property): Document `syntax-table' property.
5068
5069         * extents.h (Fnext_single_property_change): EXFUN it.
5070
5071 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5072
5073         * search.c (clear_unused_search_regs): New static function.
5074         (search_buffer): 
5075         (simple_search): 
5076         (boyer_moore):
5077         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5078         Minor clarifications in comments.
5079
5080         * regex.c (re_match_2_internal): Ensure no stale submatches.
5081
5082 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5083
5084         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5085
5086 2002-08-29  Jerry James  <james@xemacs.org>
5087
5088         * lisp.h: structrures -> structures.
5089
5090 2002-06-03  Andy Piper  <andy@xemacs.org>
5091
5092         * frame.c (frame_conversion_internal): add conversion appropriate
5093         for setting frame dimensions in pixels.
5094
5095         * console.h (struct console_methods): add device-specific widget
5096         layout functions.
5097
5098         * emacs.c (main_1): initialize glyph vars.
5099
5100         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5101         (handle_focus_event_2): new function. Allow focus to
5102         be set to a particular window and widget.
5103         (enqueue_focus_event): new function. Create a
5104         synthetic focus event.
5105         (emacs_Xt_handle_magic_event): call
5106         handle_focus_event_2.
5107
5108         * frame.c (Fset_frame_pixel_height): new function. Allow
5109         pixel-based sizing. Does the right thing on character-oriented
5110         displays.
5111         (Fset_frame_pixel_width): ditto.
5112         (Fset_frame_pixel_size): ditto.
5113         (syms_of_frame): declare.
5114
5115         * general-slots.h: add :vertically-justify and
5116         :horizontally-justify.
5117
5118         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5119         (mswindows_widget_border_width): new function.
5120         (mswindows_combo_box_instantiate): set border widths.
5121         (console_type_create_glyphs_mswindows): declare.
5122
5123         * glyphs-widget.c:
5124         (check_valid_justification): allow vertical and horizontal
5125         justification.
5126         (widget_border_width): new function. Call device methods.
5127         (widget_instance_border_width): ditto.
5128         (logical_unit_height): new function. Determine the height of a
5129         logical-unit. Logical units are intended to provide grid-like
5130         layout for subcontrols in a layout. If the layout is
5131         :vertically-justify top then subcontrols will be positioned on
5132         logical-unit boundaries, thus allowing adjacent subcontrols to
5133         line up.
5134         (widget_logical_unit_height): ditto for widgets.
5135         (redisplay_widget): misc cleanup.
5136         (widget_spacing): new function. Call device specific
5137         methods. Intended to be the default gap between adjacent widgets.
5138         (widget_query_geometry): use new spacing functions to determine
5139         appropriate geometry.
5140         (initialize_widget_image_instance): initialize horizontal and
5141         vertical justification.
5142         (widget_instantiate): use logica-units where appropriate for
5143         sizing large widgets.
5144         (button_query_geometry): use widget_instance_border_width.
5145         (tree_view_query_geometry): ditto.
5146         (tab_control_query_geometry): ditto.
5147         (edit_field_query_geometry): new function.
5148         (layout_update): pick up :justify, :horizontally-justify and
5149         :vertically-justify none of which worked previously. :justify is
5150         used as a fallback for both horizontal and vertical justification.
5151         (layout_query_geometry): use logical units to size appropriately.
5152         (layout_layout): ditto.
5153         (Fwidget_logical_to_character_width): new function. Allow users to
5154         convert from logical units to characters so that frame sizes can
5155         be set appropriately.
5156         (Fwidget_logical_to_character_height): ditto.
5157         (syms_of_glyphs_widget): declare.
5158         (image_instantiator_edit_fields): add edit_field_query_geometry.
5159         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5160         :horizontally-justify.
5161         (specifier_vars_of_glyphs_widget): new function. Declare
5162         Vwidget_border_width which is not yet used.
5163
5164         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5165         (x_widget_border_width): new function.
5166         (x_widget_instantiate): create a sensible name for widgets.
5167         (console_type_create_glyphs_x): declare x_widget_border_width.
5168
5169         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5170         (struct Lisp_Image_Instance): add :vertically-justify and
5171         :horizontally-justify.
5172         (LAYOUT_JUSTIFY_TOP): new.
5173         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5174         (ROUND_UP): new macro. Round argument up to next integral
5175         interval.
5176
5177         * redisplay-output.c (redisplay_output_layout): misc formatting.
5178
5179         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5180
5181 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5182
5183         * XEmacs 21.4.9 "Informed Management" is released.
5184
5185 2002-08-19  Andy Piper  <andy@xemacs.org>
5186
5187         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5188         win32 format.
5189
5190         * realpath.c (xrealpath): normalize drive spec also so that dir
5191         sep chars are not mixed on cygwin.
5192
5193 2002-08-06  Jerry James  <james@xemacs.org>
5194
5195         * window.c (Fsplit_window): Count only half of the divider width
5196         against the left window when splitting horizontally. 
5197
5198 2002-06-24  Andy Piper  <andy@xemacs.org>
5199
5200         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5201         toolbar was cleared.
5202
5203         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5204         function. Split out from mswindows_output_frame_toolbars.
5205         (mswindows_output_frame_toolbars): move clear pieces to
5206         mswindows_output_frame_toolbars.
5207
5208         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5209         out from gtk_output_frame_toolbars.
5210         (gtk_output_frame_toolbars): move clear pieces to
5211         gtk_clear_frame_toolbars.
5212
5213         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5214         the frame is cleared. How this ever worked before is a mystery.
5215         (x_output_frame_toolbars): Only output toolbars.
5216         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5217
5218         * gutter.c (update_gutter_geometry):
5219         Mark frame layout changed.
5220         (update_frame_gutter_geometry, update_frame_gutters):
5221         Respect frame_layout_changed.
5222
5223         * console.h (struct console_methods): add
5224         clear_frame_toolbars_method.
5225
5226         * redisplay.c (redisplay_frame): call
5227         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5228
5229         * toolbar.h: declare update_frame_toolbars_geometry.
5230
5231         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5232         out from update_frame_toolbars.  Call clear_frame_toolbars.
5233         (update_frame_toolbars): only output, do not change geometry.
5234
5235         * redisplay.c: add frame_layout_changed.
5236
5237         * redisplay.h: add frame_layout_changed.
5238         (CLASS_RESET_CHANGED_FLAGS): set it.
5239         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5240         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5241         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5242
5243         * device.h (struct device): add frame_layout_changed.
5244         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5245
5246         * frame.h (struct frame): add frame_layout_changed.
5247         (MARK_FRAME_LAYOUT_CHANGED): new.
5248
5249 2002-06-30  Mike Alexander  <mta@arbortext.com>
5250
5251         * event-msw.c (mswindows_need_event): Don't wait for a new message
5252         if the queue is not empty.  Suggested by Paul Moore.
5253
5254 2002-06-12  Andy Piper  <andy@xemacs.org>
5255
5256         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5257         for printing on accurately.
5258
5259 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5260
5261         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5262         WM_ACTIVATE message. Make sure that the frame is visible if the
5263         window is visible. This seemss to fix the problem where XEmacs
5264         appears to freeze after switching desktops with certain virtual
5265         window managers.
5266         (debug_output_mswin_message): Added code to output message
5267         parameters for WM_WINDOWPOSCHANGED, 
5268         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5269
5270 2002-05-25  Andy Piper  <andy@xemacs.org>
5271
5272         * select-x.c (vars_of_select_x): Fix docstring of
5273         x-selection-strict-motif-ownership
5274
5275 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5276
5277         * keymap.c (get_keymap):
5278         Add comment about do_autoload GCPROs own args.
5279
5280 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5281
5282         * bytecode.c (execute_optimized_program): check_opcode ifdef
5283         ERROR_CHECK_BYTE_CODE.
5284
5285 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5286
5287         Thanks to Ben Wing and Michael Sperber.
5288
5289         * eval.c (Fcommand_execute):
5290         (Feval):
5291         (Ffuncall):
5292         (Fmacroexpand_internal):
5293         (function_argcount):
5294         callint.c (Fcall_interactively):
5295         Add comment about do_autoload GCPROs own args.
5296
5297         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5298
5299         * eval.c (Ffuncall): Extra braces to placate GCC.
5300
5301 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5302
5303         * backtrace.h (grow_specpdl):
5304         (SPECPDL_RESERVE):
5305         * EmacsFrame.c (EmacsFrameSetValues):
5306         * eval.c (grow_specpdl):
5307         * ExternalShell.c (hack_event_masks_1):
5308         * glyphs-x.c (convert_EImage_to_XImage): 
5309         (x_finalize_image_instance):
5310         * ralloc.c (page_size):
5311         (r_alloc_sbrk):
5312         * xgccache.c (gc_cache_hash):
5313         Fix unsigned comparison warnings.
5314
5315 2002-07-29  Jerry James  <james@xemacs.org>
5316
5317         * lread.c (locate_file): Any nonnegative return value indicates
5318         success if MODE is nonnegative.
5319
5320 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5321
5322         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5323         argument. 
5324
5325 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5326
5327         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5328
5329         * dumper.c (pdump_get_indirect_count):
5330         (pdump_scan_by_alignment):
5331         (pdump_dump_root_struct_ptrs):
5332         (pdump_dump_rtables):
5333         (pdump_dump_root_objects):
5334         (pdump):
5335         * nas.c (WaveOpenDataForReading):
5336         * fns.c (print_bit_vector):
5337         * font-lock.c (SINGLE_SYNTAX_STYLE):
5338         * glyphs.c (check_for_ignored_expose):
5339         (find_matching_subwindow):
5340         * glyphs-eimage.c:
5341         * imgproc.c (get_histogram):
5342         * redisplay.c (point_in_line_start_cache):
5343         * redisplay-output.c (redisplay_unmap_subwindows):
5344         * symbols.c (defsymbol_massage_name_1):
5345         (defkeyword_massage_name):
5346         (deferror_massage_name_and_message):
5347         * redisplay-x.c (x_output_string): 
5348         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5349         * frame.h (struct frame):
5350         * filelock.c (current_lock_owner):
5351         * doprnt.c (emacs_doprnt_1):
5352         * lisp.h (struct Lisp_Bit_Vector):
5353         (DO_REALLOC):
5354         Fix warnings.
5355
5356 2002-02-13  Ben Wing  <ben@xemacs.org>
5357
5358         * event-stream.c (reset_key_echo):
5359         * event-stream.c (reset_this_command_keys):
5360         * event-stream.c (execute_command_event):
5361         If console is dead as a result of C-x 5 0, then post-command stuff
5362         needs to be careful and do only non-console-specific stuff.
5363
5364 2002-07-01  Mike Sperber <mike@xemacs.org>
5365
5366         * process-unix.c (unix_send_process): Mark coding_outstream as
5367         non-open upon SIGPIPE.
5368
5369         * event-stream.c (Fnext_event): Reorder switch cases to something
5370         that makes sense.
5371
5372 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5373
5374         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5375         Don't bogusly reinitialize ascii_character property.
5376
5377 2002-07-08  Mike Sperber <mike@xemacs.org>
5378
5379         * process.c (Fstart_process_internal): Do error checking before we
5380         fork off the child, so the child can't muck with the state of the
5381         parent.
5382
5383 2002-07-08  Mike Sperber <mike@xemacs.org>
5384
5385         * ralloc.c (init_ralloc): Allocate properly for pdump.
5386
5387 2002-06-12  Andy Piper  <andy@xemacs.org>
5388
5389         * glyphs.c (query_string_geometry): check the string.
5390
5391         * glyphs-widget.c (widget_logical_unit_height): cope with nil
5392         widget names.
5393
5394 2002-06-17  Jerry James  <james@xemacs.org>
5395
5396         * sysdll.c: Remove RTLD_GLOBAL initialization.
5397         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
5398
5399 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
5400
5401         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
5402
5403 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
5404
5405         * sysdep.c (sys_rename): Make sys_rename work for the case where
5406         Windows rename sets errno to EACCES if target file exists.
5407
5408 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
5409
5410         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5411         Fix detection of metric units to work on Win95
5412
5413 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
5414
5415         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
5416
5417 2002-04-25  Andy Piper  <andy@xemacs.org>
5418
5419         * redisplay.c (create_text_block): Remove extra comment trailer.
5420
5421 2002-04-24  Andy Piper  <andy@xemacs.org>
5422
5423         * redisplay.c (create_text_block): Don't actually add propagation
5424         data if the line ends after we have added a glyph.
5425
5426 2002-04-22  Andy Piper  <andy@xemacs.org>
5427
5428         * extents.c (extent_fragment_update): check for glyphs we have
5429         previously displayed.
5430         * extents.c (print_extent_1): warning removal.
5431         * extents.h: change prototype.
5432         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
5433         widths correctly for wide glyphs.
5434         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
5435         * redisplay.c (prop_type): add PROP_GLYPH.
5436         * redisplay.c (struct prop_block): add glyph type
5437         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
5438         to the propagation data.
5439         * redisplay.c (create_text_block): if there is a glyph in the
5440         propagation data use it to salt extent_fragment_update.
5441         * redisplay.c (create_string_text_block): ditto.
5442
5443 2002-04-13  Nix  <nix@esperi.demon.co.uk>
5444
5445         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
5446         * redisplay-output.c (compare_runes): Compare them.
5447         * redisplay.c: Update copyright date.
5448         * redisplay.c (pos_data): Add need_baseline_computation field.
5449         * redisplay.c (add_glyph_rune): Update ascent, descent, and
5450         need_baseline_computation; zero yoffset. Set max_pixmap_height
5451         for all pixmaps, not just automatically positioned ones.
5452         * redisplay.c (calculate_yoffset): New, compute yoffset values.
5453         * redisplay.c (calculate_baseline): New, compute textual baseline.
5454         * redisplay.c (add_glyph_rune): Call them.
5455         * redisplay.c (create_text_block): Likewise.
5456         * redisplay.c (create_overlay_glyph_block): Likewise.
5457         * redisplay.c (add_margin_runes): Likewise.
5458         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
5459
5460         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
5461         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
5462         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
5463         * redisplay-msw.c (mswindows_output_string): Likewise.
5464         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
5465         * redisplay-gtk.c (gtk_output_display_block): Likewise.
5466         * redisplay-x.c (x_output_display_block): Likewise.
5467
5468 2002-03-28  Ben Wing  <ben@xemacs.org>
5469
5470         * redisplay.c: Fixed bug in redisplay
5471         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
5472         and down of the lines, since they're bigger than the line
5473         size. (It was seen most obviously when there's a horizontal scroll
5474         bar, e.g. do C-h a glyph or something like that.) The problem was
5475         that the glyph-contrib-p setting on glyphs was ignored even if it
5476         was set properly, which it wasn't until now.
5477
5478 2002-04-24  Andy Piper  <andy@xemacs.org>
5479
5480         * lisp.h (Dynarr_end): Fix definition.
5481
5482 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
5483
5484         * redisplay.c (mark_redisplay): Remove call to
5485         update_frame_window_mirror.
5486
5487 2001-11-15  Andy Piper  <andy@xemacs.org>
5488
5489         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
5490         cygwin (again).
5491
5492 2002-02-13  Andy Piper  <andy@xemacs.org>
5493
5494         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
5495         we did in fact enqueue the XM_MAPFRAME event.
5496
5497 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
5498
5499         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
5500         to fix problem switching between virtual desktops under virtuawin
5501         virtual window manager.
5502
5503 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
5504
5505         * event-msw.c: Typo fix.
5506         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
5507         magic XM_MAPFRAME event has been sent.
5508
5509 2001-11-23  Andy Piper  <andy@xemacs.org>
5510
5511         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
5512
5513 2001-11-21  Andy Piper  <andy@xemacs.org>
5514
5515         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
5516         mouse events outside the frame.
5517
5518 2002-03-20  Andy Piper  <andy@xemacs.org>
5519
5520         * menubar-msw.c (mswindows_popup_menu): warning removal.
5521         * dialog-msw.c (dialog_popped_down): ditto.
5522
5523 2001-12-11  Andy Piper  <andy@xemacs.org>
5524
5525         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
5526         * dialog-msw.c (mswindows_make_dialog_box_internal): set
5527         popup_up_p.
5528         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
5529         * menubar-msw.c (mswindows_handle_wm_command): ditto.
5530         * menubar-msw.c (mswindows_popup_menu): ditto.
5531
5532 2001-10-29  Andy Piper  <andy@xemacs.org>
5533
5534         * dialog-msw.c (handle_directory_dialog_box): quit if the user
5535         cancels.
5536
5537 2002-01-03  Andy Piper  <andy@xemacs.org>
5538
5539         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
5540         letters.
5541         (xrealpath): ditto.
5542
5543 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
5544
5545         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
5546         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
5547         * device-msw.c (mswindows_handle_page_setup_dialog_box):
5548         Detect and handle case where machine is set up for metric units
5549
5550 2002-04-02  Andy Piper  <andy@xemacs.org>
5551
5552         * dired-msw.c (mswindows_get_files): 
5553         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
5554         completely handled by XEmacs. Suggested by Thomas Vogler
5555         <mail@thomas-vogler.de>.
5556
5557 2001-11-14  Andy Piper  <andy@xemacs.org>
5558
5559         * nt.c (REG_ROOT): change registry key to XEmacs.
5560
5561 2002-04-27  Andy Piper  <andy@xemacs.org>
5562
5563         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
5564
5565 2002-04-26  Andy Piper  <andy@xemacs.org>
5566
5567         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
5568         behavior.
5569
5570 2002-03-14  Mike Alexander  <mta@arbortext.com>
5571
5572         * event-msw.c (mswindows_unwait_process): New, remove process from
5573         wait list
5574         * process-nt.c (nt_finalize_process_data): Call
5575         mswindows_unwait_process
5576         * console-msw.h: Declare mswindows_unwait_process
5577
5578 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
5579
5580         * editfns.c (Fdecode_time):
5581         (Fformat_time_string):
5582         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
5583         (make_time): Warning elimination (change arg name).
5584
5585 2001-11-24  Andy Piper  <andy@xemacs.org>
5586
5587         * window.c (Fsplit_window): Doc return type.
5588
5589 2002-04-01  Andy Piper  <andy@xemacs.org>
5590
5591         * emacs.c (Fkill_emacs): Only output message box in interactive
5592         mode.
5593
5594 2002-04-26  Andy Piper  <andy@xemacs.org>
5595  
5596         * config.h.in: pull in 21.5.x change to stop alloca warnings under
5597         cygwin.
5598
5599 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
5600
5601         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
5602         bit platform.
5603
5604 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
5605
5606         * XEmacs 21.4.8 "Honest Recruiter" is released.
5607
5608 2002-05-07  Nix  <nix@esperi.demon.co.uk>
5609
5610         Supersedes 2002-04-17 patch.
5611
5612         * process.h (PROCESS_LIVE_P): Use the process status as
5613         evidence of health, not the state of the input stream.
5614         (PROCESS_READABLE_P): Say if the process is readable
5615         from. (It may be dead nonetheless.)
5616         (CHECK_READABLE_PROCESS): Test for that condition.
5617
5618         * process.c (create_process): Use PROCESS_READABLE_P.
5619         (read_process_output, set_process_filter): Likewise.
5620
5621         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
5622         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
5623
5624         This code is #if 0'd, this is not the time to add new functions:
5625
5626         * process.c (Fprocess_readable_p): Report readability status.
5627         * process.c (Qprocess_readable_p): New, associated symbol...
5628         * process.c (syms_of_process): ... initialize it.
5629
5630 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
5631
5632         * XEmacs 21.4.7 "Economic Science" is released.
5633
5634 2002-04-17  Nix  <nix@esperi.demon.co.uk>
5635
5636         * process.h (PROCESS_LIVE_P): Use the process status as
5637         evidence of health, not the state of the input stream.
5638
5639 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
5640
5641         * sysdep.c (sys_siglist): change "signum" to "signal"
5642
5643 2001-04-21  Martin Buchholz  <martin@xemacs.org>
5644
5645         * s/darwin.h: New file.
5646         Thanks to Greg Parker <gparker@cs.stanford.edu>.
5647         
5648 2002-04-23  Andreas Jaeger  <aj@suse.de>
5649
5650         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
5651         which use lib64 for 64-bit libs.
5652         (START_FILES): Likewise.
5653
5654 2002-02-11  Mike Sperber  <mike@xemacs.org>
5655
5656         * device-x.c: 
5657         (x_IO_error_handler):
5658         (x_init_device): Temporarily keep device in static variable
5659         `device_being_initialized' so we can recover gracefully from
5660         internal XOpenDevice failure.  (XOpenDevice is documented to
5661         return NULL on failure, but sometimes calls the IO error handler
5662         instead.)
5663
5664 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
5665
5666         * dired.c (Ffile_name_all_completions): Change documentation --
5667         remove reference to completion-ignored-extensions.
5668         * dired.c (vars_of_dired): Change documentation for
5669         completion-ignored-extensions -- remove reference to
5670         file-name-all-completions.
5671
5672 2002-03-06  Jerry James  <james@xemacs.org>
5673
5674         * emodules.c (emodules_load): Fix multiple loading of same module.
5675
5676 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
5677         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
5678         RTLD_LAZY to avoid incorrect symbol binding when using nested
5679         shared libraries on Solaris.
5680
5681 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
5682
5683         * fileio.c (Ffind_file_name_handler): Improve docstring.
5684
5685 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
5686
5687         * fns.c (Fmapconcat): Improve docstring.
5688
5689 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
5690
5691         * device-gtk.c: Add prototype for
5692         emacs_gtk_selection_clear_event_handle.
5693         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
5694         selection.  Setup signal handler for "selection_clear_event"
5695         (emacs_gtk_selection_clear_event_handle).
5696
5697         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
5698         other applications owning the clipboard (based on
5699         x_handle_selection_clear).
5700
5701 2001-12-23  William M. Perry  <wmperry@gnu.org>
5702
5703         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
5704         
5705 2002-01-04  Martin Buchholz  <martin@xemacs.org>
5706
5707         * keymap.c (define_key_alternate_name): Parenthesize EQ.
5708
5709 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
5710
5711         * XEmacs 21.4.6 "Common Lisp" is released.
5712
5713 2001-12-16  Torsten Duwe  <duwe@caldera.de>
5714
5715         * search.c (Freplace_match): Add missing sub-expression functionality.
5716
5717         * buffer.c (decode_buffer): Add a check for pointer type to
5718         decode_buffer, before gcc's CSE optimization reorders a
5719         dereference in front of the allow_string test.
5720
5721 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
5722
5723         * window.c (window_loop): Fix bug that sometimes prevented
5724         window_loop() from iterating across multiple devices.  Also, at
5725         Ben's request, changed infloop-detecting code to abort() instead
5726         of silently terminating window_loop().
5727
5728 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
5729
5730         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
5731         * editfns.c (make_time): New function.
5732         (Fencode_time): Use it instead of wasteful_word_to_lisp.
5733         * lisp.h (make_time): Prototype and comment it.
5734         * dired.c (wasteful_word_to_lisp): Deprecate.
5735         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
5736
5737 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
5738
5739         * fileio.c (auto_save_1): Use current coding system, not
5740         escape-quoted.
5741
5742 2001-11-13  Ben Wing  <ben@xemacs.org>
5743
5744         * window.c:
5745         * window.c (window_truncation_on):
5746         * window.c (syms_of_window):
5747         truncate-partial-width-windows should respect the buffer being
5748         displayed, like other redisplay vars.
5749
5750 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
5751
5752         * event-stream.c (Fread_key_sequence): save current buffer.
5753
5754 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5755
5756         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
5757
5758 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
5759
5760         * alloc.c (lcrecord_stats): Add space for types defined in modules.
5761
5762 2001-10-26  Mike Alexander  <mta@arbortext.com>
5763
5764         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
5765
5766 2001-10-25  Andy Piper  <andy@xemacs.org>
5767
5768         * ChangeLog:
5769         * dialog-msw.c (handle_directory_proc): new function.
5770          (handle_directory_dialog_box): new fucntion.
5771          (handle_file_dialog_box): use new directory dialog support.
5772          (mswindows_make_dialog_box_internal): ditto.
5773         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
5774         handling.
5775         (mswindows_find_frame): make global.
5776         * fileio.c (Fexpand_file_name): build fix.
5777         * general-slots.h: add Qdirectory.
5778         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
5779         handling.
5780         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
5781         cygwin not leaving win32 paths unchanged.
5782         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
5783         cygwin runtime to do path conversion.
5784         (Fmswindows_shell_execute): fix cygwin handling of URLs.
5785         (syms_of_win32): add new function.
5786         * window.c (window_loop): build fix.
5787
5788 2001-10-15  Andy Piper  <andy@xemacs.org>
5789
5790         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
5791
5792 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
5793
5794         * XEmacs 21.4.5 "Civil Service" is released.
5795
5796 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
5797
5798         * glyphs-x.c: Force buffer-tab highlight update when moving the
5799         buffer, avoiding an ugly black border, used for keyboard focus
5800         indication, on a widget that can never have keyboard focus, the
5801         buffer tab.
5802
5803 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
5804
5805         * process-unix.c (unix_open_multicast_group): Remove too much
5806         conversion between host and network byte order.
5807
5808 2001-09-10  Nix  <nix@esperi.demon.co.uk>
5809
5810         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
5811         before replacing them.
5812
5813         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
5814         operation.
5815
5816         * src/window.c (undedicate_windows): Use it.
5817         * src/window.h: Add prototype.
5818
5819 2001-09-17  Ben Wing  <ben@xemacs.org>
5820
5821         * fileio.c (normalize_filename):
5822         * fileio.c (Fexpand_file_name):
5823         Fix various C++ compile errors in Andy's recent code.
5824         
5825         * callint.c (Fcall_interactively):
5826         * editfns.c (Ftemp_directory):
5827         * editfns.c (Fuser_full_name):
5828         * emacs.c (argmatch):
5829         * lread.c (locate_file_map_suffixes):
5830         * redisplay-x.c (x_ring_bell):
5831         Fix sign-compare warnings.
5832         
5833 2001-09-08  Andy Piper  <andy@xemacs.org>
5834
5835         * fileio.c (normalize_filename): copied from nt.c
5836         * (Ffile_name_directory): enable win32 paths under cygwin.
5837         * (Ffile_name_nondirectory): ditto.
5838         * (directory_file_name): ditto.
5839         * (Fexpand_file_name): ditto.
5840         * (Ffile_truename): ditto.
5841         * (Fsubstitute_in_file_name): ditto.
5842         * (Ffile_name_absolute_p): ditto.
5843         * (Ffile_readable_p): ditto.
5844
5845 2001-09-08  Andy Piper  <andy@xemacs.org>
5846
5847         * device-msw.c (mswindows_finish_init_device): remove dde
5848         initialization.
5849         * device-msw.c (mswindows_init_dde): factor out from
5850         mswindows_finish_init_device()
5851         * device-msw.c (init_mswindows_very_early): new function
5852         initialize but don't enable dde.
5853         * emacs.c (main_1): call init_mswindows_very_early.
5854         * event-msw.c:
5855         * event-msw.c (mswindows_dde_callback): only execute when we are
5856         ready.
5857         * symsinit.h: declare init_mswindows_very_early.
5858
5859 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
5860
5861         [sjt: This has been in 21.5 for months with no complaints.]
5862
5863         * console.h (struct console_methods): Added flags member.
5864         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
5865         (CONMETH_IMPL_FLAG):
5866         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
5867         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5868
5869         * device.c (window_system_pixelated_geometry): Use the above macros.
5870
5871         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
5872         implememntation flag.
5873         * device.h (DEVICE_DISPLAY_P): Use it.
5874
5875         * frame.c (delete_frame_internal): Use the above macro.
5876
5877         * redisplay.c (redisplay_device): Use it.
5878         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
5879         (redisplay_frame): Ditto.
5880
5881         * device-msw.c (mswindows_device_implementation_flags): Removed.
5882         (msprinter_device_implementation_flags): Removed.
5883         (console_type_create_device_mswindows): Removed references to
5884         implementation_flags methods, set implementation flags here.
5885         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
5886
5887         * device-gtk.c (gtk_device_implementation_flags): Removed method.
5888         (console_type_create_device_gtk): Removed method declaration.
5889         Added commented out statement which semantically matches the
5890         commented out statement in the above removed method.
5891
5892 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
5893
5894         The attached patch fixes a few warnings. 
5895
5896         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
5897         * src/frame-gtk.c: guard against GNOME calls in GTK only
5898         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
5899         * src/select-gtk.c: prototype lisp_to_time
5900
5901 2001-06-08  Ben Wing  <ben@xemacs.org>
5902
5903         ------ gc-in-window-procedure fixes ------
5904         
5905         * alloc.c:
5906         * alloc.c (struct post_gc_action):
5907         * alloc.c (register_post_gc_action):
5908         * alloc.c (run_post_gc_actions):
5909         * alloc.c (garbage_collect_1):
5910         Create "post-gc actions", to avoid those dreaded "GC during window
5911         procedure" problems.
5912
5913         * event-msw.c:
5914         Abort, clean and simple, when GC in window procedure.  We want
5915         to flush these puppies out.
5916
5917         * glyphs-msw.c:
5918         * glyphs-msw.c (finalize_destroy_window):
5919         * glyphs-msw.c (mswindows_finalize_image_instance):
5920         Use a post-gc action when destroying subwindows.
5921
5922         * lisp.h:
5923         Declare register_post_gc_action().
5924
5925         * scrollbar-msw.c:
5926         * scrollbar-msw.c (unshow_that_mofo):
5927         Use a post-gc action when unshowing scrollbar windows, if in gc.
5928
5929         * redisplay.c (mark_redisplay):
5930         Add comment about the utter evilness of what's going down here.
5931
5932         ------ cygwin setitimer fixes ------
5933         
5934         * Makefile.in.in (sheap_objs):
5935         * Makefile.in.in (profile_objs):
5936         * Makefile.in.in (objs):
5937         Compile profile.c only when HAVE_SETITIMER.
5938         
5939         * nt.c (mswindows_sigset):
5940         * nt.c (mswindows_sighold):
5941         * nt.c (mswindows_sigrelse):
5942         * nt.c (mswindows_sigpause):
5943         * nt.c (mswindows_raise):
5944         * nt.c (close_file_data):
5945         Style fixes.
5946         
5947         * nt.c:
5948         Move setitimer() emulation to win32.c, because Cygwin needs it too.
5949         
5950         * profile.c:
5951         * profile.c (Fstart_profiling):
5952         * profile.c (Fstop_profiling):
5953         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
5954         instead of just plain setitimer().
5955         
5956         * signal.c:
5957         * signal.c (set_one_shot_timer):
5958         * signal.c (alarm):
5959         Define qxe_setitimer() as an encapsulation around setitimer() --
5960         call setitimer() directly unless Cygwin or MS Win, in which case
5961         we use our simulated version in win32.c.
5962         
5963         * systime.h:
5964         * systime.h (struct itimerval):
5965         * systime.h (ITIMER_REAL):
5966         Prototype mswindows_setitimer() and qxe_setitimer().  Long
5967         comment about "qxe" and the policy regarding encapsulation.
5968
5969         * win32.c:
5970         * win32.c (setitimer_helper_proc):
5971         * win32.c (setitimer_helper_period):
5972         * win32.c (setitimer_helper):
5973         * win32.c (mswindows_setitimer):
5974         Move setitimer() emulation here, so Cygwin can use it.
5975         Rename a couple of functions and variables to be longer and more
5976         descriptive.  In setitimer_helper_proc(), send the signal
5977         using either mswindows_raise() or (on Cygwin) kill().  If for
5978         some reason we are still getting lockups, we'll change the kill()
5979         to directly invoke the signal handlers.
5980
5981         ------ windows shell fixes ------
5982         
5983         * callproc.c:
5984         * ntproc.c:
5985         Comments about how these two files must die.
5986
5987         * callproc.c (init_callproc):
5988         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
5989         not just COMSPEC. (more correct and closer to FSF.) Don't
5990         force a value for SHELL into the environment. (Comments added
5991         to explain why not.)
5992         
5993         * nt.c (init_user_info):
5994         Don't shove a fabricated SHELL into the environment.  See above.
5995
5996 2001-06-01  Ben Wing  <ben@xemacs.org>
5997
5998         * Makefile.in.in (ldflags):
5999         eliminate that pesky "defaulting to 00401000" warning.
6000         * nt.h:
6001         eliminate warnings.
6002
6003 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6004
6005         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6006         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6007
6008 2001-04-24  Jerry James <james@xemacs.org>
6009
6010         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6011         correct order.
6012
6013 2001-06-01  Ben Wing  <ben@xemacs.org>
6014
6015         * event-msw.c (debug_mswin_messages):
6016         conditionalize the messages that were causing compile errors.
6017         (if only macros could generate #ifdef statements ...)
6018
6019 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6020
6021         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6022
6023 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6024
6025         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6026
6027 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6028
6029         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6030         * process-unix.c (unix_canonicalize_host_name):
6031         sysdep.c (init_system_name):
6032         Use it to conditionally support IPv6 canonicalization.
6033
6034 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6035
6036         * event-msw.c:
6037         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6038
6039 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6040
6041         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6042         attempt is made to scroll when no scroll bar is available.
6043
6044 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6045
6046         * input-method-motif.c (XIM_delete_frame): New callback.
6047         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6048         got deleted from 21.4.3.)
6049
6050 2001-06-01  Ben Wing  <ben@xemacs.org>
6051
6052         * nt.c (mswindows_utime):
6053         * nt.c (close_file_data):
6054         fix off-by-one-indirection error.
6055
6056 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6057
6058         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6059         because set_file_times() now takes Lisp_Object path, instead of
6060         char*.
6061         * nt.c: Include buffer.h.
6062         * nt.c (convert_from_time_t): New.
6063         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6064         not set mtime correctly.
6065         * nt.h: Declare mswindows_utime().
6066         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6067         path, instead of char*.
6068         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6069
6070 2001-05-30  Ben Wing  <ben@xemacs.org>
6071
6072         For 21.4:
6073
6074         (Stephen, just take all event-msw.c patches.  This includes
6075         the "iconify" fix below.)
6076
6077         * event-msw.c:
6078         * event-msw.c (mswindows_dequeue_dispatch_event):
6079         * event-msw.c (assert):
6080         * event-msw.c (emacs_mswindows_quit_p):
6081         * event-msw.c (debug_mswin_messages):
6082         * event-msw.c (debug_output_mswin_message):
6083         * event-msw.c (vars_of_event_mswindows):
6084         Fix yet more problems with C-g handling.
6085         Implement debug-mswindows-events.
6086         
6087 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6088
6089         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6090         
6091 2001-05-23  Ben Wing  <ben@xemacs.org>
6092
6093         * event-msw.c (winsock_writer):
6094         * event-msw.c (winsock_closer):
6095         prior kludgy code was clobbering the buffer, thinking it was
6096         "unused" space to store an unneeded return value; instead, use
6097         the variable we've already got staring us in the face.
6098
6099 2001-05-17  Andy Piper  <andy@xemacs.org>
6100
6101         * sysfile.h: don't assume that file attributes are boolean
6102
6103 2001-05-23  Ben Wing  <ben@xemacs.org>
6104
6105         * device-msw.c (msprinter_init_device):
6106         signal an error rather than crash with an unavailable network
6107         printer (from Mike Alexander).
6108         
6109         * event-msw.c:
6110         * event-msw.c (struct winsock_stream):
6111         * event-msw.c (winsock_writer):
6112         * event-msw.c (winsock_closer):
6113         * event-msw.c (make_winsock_stream_1):
6114         cleanup headers.  fix (hopefully) an error with data corruption
6115         when sending to a network connection.
6116
6117         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6118         to handle the ~user prefix by (a) always assuming we're referencing
6119         ourselves and not even verifying the user -- hence any file with
6120         a tilde as its first char is invalid! (b) if there wasn't a slash
6121         following the filename, the pointer was set *past* the end of
6122         file and we started reading from uninitialized memory.  Now we
6123         simply treat these as files, always.
6124
6125         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6126         
6127 2001-05-19  Ben Wing  <ben@xemacs.org>
6128
6129         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6130
6131         * process-nt.c:
6132         * process-nt.c (vars_of_process_nt):
6133         remove unused mswindows-quote-process-args.  rec for 21.4.
6134         
6135 2001-05-12  Ben Wing  <ben@xemacs.org>
6136
6137         * event-msw.c (mswindows_dde_callback):
6138         * event-msw.c (mswindows_wnd_proc):
6139         eliminate cygwin warnings.
6140
6141 2001-05-06  Ben Wing  <ben@xemacs.org>
6142
6143         * console-msw.h:
6144         * device-msw.c:
6145         * device-msw.c (print_dialog_worker):
6146         * device-msw.c (mswindows_handle_print_dialog_box):
6147         * device-msw.c (syms_of_device_mswindows):
6148         * dialog-msw.c (mswindows_make_dialog_box_internal):
6149         * general-slots.h:
6150         implement printing the selection when it's selected.
6151
6152 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6153
6154         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6155
6156 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6157
6158         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6159         EMACS_INT is signed.
6160
6161 2001-04-15  Michael Lausch  <mla@1012surf.net>
6162
6163         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6164         gtk_widget_request_size() to give scrollbar >0 width for
6165         GTK >1.2.8.
6166
6167 2001-05-30  William M. Perry  <wmperry@gnu.org>
6168
6169         * event-gtk.c: Check for buttons as modifier keys.
6170
6171 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6172
6173         * s\mingw32.h:
6174         Properly find MinGW's <process.h> inside Cygwin's restructured
6175         include directories.  Don't try to include <cygwin/version.h>
6176         since we are dropping support for MinGW in versions of Cygwin
6177         earlier than b21.
6178         * nt.c:
6179         Drop support for MinGW in versions of Cygwin before b21.
6180         * sysdep.c:
6181         Properly find MinGW's <process.h> inside Cygwin's restructured
6182         include directories.
6183         * syswindows.h:
6184         Drop support for MinGW in versions of Cygwin before b21.
6185         * unexcw.c:
6186         Even though a.out.h is no longer detected by configure, allow
6187         MinGW to use it until we figure out how to do the job with Win32.
6188
6189 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6190
6191         * syntax.c (find_start_of_comment):
6192         Fix `unbalanced parentheses' bug when dealing with mixed comment
6193         styles in c++/java/etc. mode
6194
6195 2001-05-29  Mike Alexander  <mta@arbortext.com>
6196
6197         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6198         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6199
6200 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6201
6202         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6203
6204 2001-03-31  Mike Sperber <mike@xemacs.org>
6205
6206         * search.c (Freplace_match): Support FSF-style specification of
6207         match subexpression when applied to a buffer.
6208
6209 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6210
6211         * event-stream.c (is_scrollbar_event): add missing semicolon
6212
6213 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6214
6215         * Makefile.in.in: Use TAR macro instead of hardcoding
6216           tar.  Allows use of GNU tar instead of system tar
6217
6218 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6219
6220         * event-stream.c (is_scrollbar_event): add missing semicolon
6221
6222 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6223
6224         * XEmacs 21.4.3 "Academic Rigor" is released.
6225
6226 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6227
6228         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6229
6230 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6231
6232         * buffer.c (Vcase_fold_search): Remove obsolete
6233           comment about non ASCII case-fold-search.  This
6234           bug has been fixed by case-table changes.
6235
6236 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6237
6238         * event-msw.c: Restore include of events-mod.h.
6239
6240 2001-04-22   zhaoway  <zw@debian.org>
6241
6242         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6243         !HAVE_SCROLLBARS.
6244
6245 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6246
6247         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6248
6249 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6250
6251         * mule-charset.c (Fmake_charset): Add missing else.
6252
6253 2001-04-23  Ben Wing  <ben@xemacs.org>
6254
6255         * event-msw.c (FAKE_MOD_QUIT):
6256         * event-msw.c (mswindows_dequeue_dispatch_event):
6257         * event-msw.c (mswindows_wnd_proc):
6258         * event-msw.c (emacs_mswindows_quit_p):
6259         Get critical quit working.
6260
6261 2001-05-05  Ben Wing  <ben@xemacs.org>
6262
6263         * console-msw.h:
6264         * device-msw.c:
6265         * device-msw.c (mswindows_get_default_margin):
6266         * frame-msw.c (mswindows_size_frame_internal):
6267         * frame-msw.c (msprinter_init_frame_1):
6268         * frame-msw.c (vars_of_frame_mswindows):
6269         Change top/bottom margin defaults to 0.5 inches.
6270
6271 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6272
6273         Fix link error with gcc 3.0 on Linux.
6274         * terminfo.c (UP): Remove.
6275         * terminfo.c (BC): Remove.
6276         * terminfo.c (PC): Remove.
6277         They weren't used, and in any case, these symbols should be
6278         defined in the *library*.
6279
6280 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6281
6282         * s/aix4.h: Fix crash with xlc -O3.
6283         Improve comment explaining how -O3 works.
6284
6285 2001-04-15  Ben Wing  <ben@xemacs.org>
6286
6287         * event-stream.c:
6288         * event-stream.c (Fnext_event):
6289         * event-stream.c (is_scrollbar_event):
6290         * event-stream.c (execute_command_event):
6291         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6292         crash' problem.  His fix introduces other problems.  We filter
6293         out scrollbar events specifically, making them somewhat invisible
6294         to command-building, and not appearing in `this-command-keys'.
6295         More work is still needed (see comments in event-stream.c), but
6296         this fixes all the major problems.
6297
6298 2001-04-20  Ben Wing  <ben@xemacs.org>
6299
6300         * .cvsignore: Added stuff for Windows.
6301
6302 2001-04-28  Ben Wing  <ben@xemacs.org>
6303
6304         * buffer.c (Ferase_buffer):
6305         * editfns.c (buffer_insert1):
6306         * editfns.c (Finsert_before_markers):
6307         * editfns.c (Finsert_string):
6308         * editfns.c (Finsert_char):
6309         * editfns.c (Fdelete_region):
6310         * editfns.c (Fwiden):
6311         * editfns.c (Fnarrow_to_region):
6312         remove bogus lines setting zmacs_region_stays to 0.
6313         
6314 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6315
6316         * process-unix.c (unix_open_network_stream): If connect() fails
6317         invalidate file descriptor after closing it.
6318
6319 2001-03-08  Mike Alexander  <mta@arbortext.com>
6320
6321         * event-msw.c (mswindows_need_event_in_modal_loop):
6322         Don't dispatch a message if we didn't get one.
6323         (mswindows_need_event):
6324         Terminate the correct process when one exits instead of the first
6325         one on Vprocess_list and look for process termination when in
6326         mswindows_protect_modal_loop.
6327
6328 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6329
6330         * XEmacs 21.4.1 "Copyleft" is released.
6331
6332 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6333
6334         * input-method-motif.c (XIM_delete_frame): New callback.
6335         (XIM_init_frame): Register it.
6336
6337 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6338
6339         * XEmacs 21.4.0 "Solid Vapor" is released.
6340
6341 2001-04-15  Ben Wing  <ben@xemacs.org>
6342
6343         * cmdloop.c (call_command_loop):
6344         Fix braino in bit-rotting code.
6345         
6346 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6347
6348         * extents.c (Fset_extent_endpoints): Force creation of extent info
6349         in buffer_or_string.
6350
6351         * extents.c (process_extents_for_insertion_mapper): Correctly
6352         check for open-open zero-length extents.
6353
6354 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6355
6356         * lisp.h: New typedefs Memory_count, Element_count.
6357         * regex.c:
6358         * regex.h:
6359         Sign-compare warning elimination: several unsigned -> signed.
6360         Based on work by Ben Wing <ben@xemacs.org>.
6361
6362 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6363
6364         * XEmacs 21.2.47 "Zephir" is released.
6365
6366 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6367
6368         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6369
6370 2001-04-03  Mike Sperber <mike@xemacs.org>
6371
6372         * search.c: Revert previous patch due because of release.
6373
6374 2001-03-30  Ben Wing  <ben@xemacs.org>
6375
6376         * s\cygwin32.h:
6377         Add missing killpg prototype.
6378
6379         * elhash.c:
6380         Add a comment about fixing problems when a new entry is added
6381         while mapping.
6382
6383         * frame-msw.c (mswindows_init_frame_1):
6384         Fix compile warnings.
6385
6386         * menubar.c (vars_of_menubar):
6387         Provide `menu-accelerator-support' to indicate that we properly
6388         support %_ in menu specifications, so that package code can
6389         conditionalize on this (and remove %_ from menu specifications
6390         on older versions).
6391
6392         * event-msw.c:
6393         * scrollbar-msw.c:
6394         * scrollbar-msw.c (can_scroll):
6395         * scrollbar-msw.h:
6396         Fix handling of mouse wheel under Windows to follow standards --
6397         now scrolls window under pointer, not selected window.
6398
6399 2001-03-31  Mike Sperber <mike@xemacs.org>
6400
6401         * search.c (Freplace_match): Support FSF-style specification of
6402         match subexpression when applied to a buffer.
6403
6404 2001-03-15  Martin Buchholz  <martin@xemacs.org>
6405
6406         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
6407         function to modify KEYMAP, so map over a copy of the hash table.
6408
6409 2001-03-21  Martin Buchholz <martin@xemacs.org>
6410
6411         * XEmacs 21.2.46 "Urania" is released.
6412
6413 2001-03-20  Dan Holmsand  <dan@eyebee.com>
6414
6415         * realpath.c (xrealpath): Make file-truename work with symlinks to
6416         /cygdrive paths on cygwin. Always lowercase drive-letters on
6417         native windows.
6418         (cygwin_readlink): Don't try to find canonical filename unless
6419         file exists.
6420
6421 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
6422
6423         * ChangeLog: Log GTK merge.
6424
6425         * dumper.c:
6426         * select-x.c:
6427         * specifier.c:
6428         * symeval.h:
6429         Revert gratuitous whitespace changes from GTK merge.
6430
6431         * emacs.c: Document end of complex #ifdef @ l. 1495.
6432
6433
6434 2001-03-12  Andy Piper  <andy@xemacs.org>
6435
6436         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
6437         have to do likewise.
6438
6439 2001-03-12  Andy Piper  <andy@xemacs.org>
6440
6441         * sysdep.c: we only support mingw now.
6442
6443 2001-03-09  Andy Piper  <andy@xemacs.org>
6444
6445         * unexcw.c (copy_executable_and_dump_data_section): making approx
6446         overrun a warning only.
6447
6448 2001-03-10  William M. Perry  <wmperry@aventail.com>
6449
6450         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
6451         satisfy Stephen's identical-after-cpp plea.
6452
6453 2001-03-02  Ben Wing  <ben@xemacs.org>
6454
6455         * cmds.c:
6456         * cmds.c (Fforward_char):
6457         * syntax.c:
6458         * window.c:
6459
6460         Augment documentation of the most common motion commands to make
6461         note of the shifted-motion support.
6462         
6463 2001-03-02  Ben Wing  <ben@xemacs.org>
6464
6465         * nt.c (mswindows_fstat):
6466         * nt.c (mswindows_stat):
6467         * search.c (boyer_moore):
6468         Fix compile warnings under Windows.
6469         
6470         * sysdep.c (sys_readdir):
6471         Fix buggy filename-conversion code under Mule.
6472
6473 2001-03-09  William M. Perry  <wmperry@aventail.com>
6474
6475         * Makefile.in.in:
6476         * config.h.in:
6477         * console.c:
6478         * console.h:
6479         * device.c:
6480         * device.h:
6481         * dragdrop.c:
6482         * emacs.c:
6483         * event-stream.c:
6484         * events.c:
6485         * events.h:
6486         * faces.c:
6487         * frame.h:
6488         * general-slots.h:
6489         * glyphs.c:
6490         * gutter.c:
6491         * inline.c:
6492         * lisp.h:
6493         * lrecord.h:
6494         * make-src-depend:
6495         * redisplay-output.c:
6496         * redisplay.c:
6497         * symsinit.h:
6498         * sysfile.h:
6499         * toolbar.c:
6500         * window.c:
6501         The Great GTK Merge.
6502
6503         * ChangeLog.GTK:
6504         * console-gtk.c:
6505         * console-gtk.h:
6506         * device-gtk.c:
6507         * emacs-marshals.c:
6508         * emacs-widget-accessors.c:
6509         * event-gtk.c:
6510         * frame-gtk.c:
6511         * gccache-gtk.c:
6512         * gccache-gtk.h:
6513         * glade.c:
6514         * glyphs-gtk.c:
6515         * glyphs-gtk.h:
6516         * gtk-glue.c:
6517         * gtk-xemacs.c:
6518         * gtk-xemacs.h:
6519         * gui-gtk.c:
6520         * gui-gtk.h:
6521         * menubar-gtk.c:
6522         * native-gtk-toolbar.c:
6523         * objects-gtk.c:
6524         * objects-gtk.h:
6525         * redisplay-gtk.c:
6526         * scrollbar-gtk.c:
6527         * scrollbar-gtk.h:
6528         * select-gtk.c:
6529         * toolbar-gtk.c:
6530         * ui-byhand.c:
6531         * ui-gtk.c:
6532         * ui-gtk.h:
6533         The Great GTK Merge: new files.
6534
6535 2001-02-26  Ben Wing  <ben@xemacs.org>
6536
6537         Reapplied Lstream change.
6538
6539 2001-02-26  Ben Wing  <ben@xemacs.org>
6540
6541         Undid the last change, since it is more controversial than I
6542         thought.  It should be back in at some point soon.
6543         
6544 2001-02-25  Ben Wing  <ben@xemacs.org>
6545
6546         * buffer.c:
6547         * callproc.c (Fold_call_process_internal):
6548         * event-msw.c (ntpipe_slurp_reader):
6549         * event-msw.c (ntpipe_shove_writer):
6550         * event-msw.c (winsock_reader):
6551         * event-msw.c (winsock_writer):
6552         * file-coding.c:
6553         * file-coding.c (detect_eol_type):
6554         * file-coding.c (detect_coding_type):
6555         * file-coding.c (determine_real_coding_system):
6556         * file-coding.c (Fdetect_coding_region):
6557         * file-coding.c (decoding_reader):
6558         * file-coding.c (decoding_writer):
6559         * file-coding.c (mule_decode):
6560         * file-coding.c (Fdecode_coding_region):
6561         * file-coding.c (encoding_reader):
6562         * file-coding.c (encoding_writer):
6563         * file-coding.c (mule_encode):
6564         * file-coding.c (Fencode_coding_region):
6565         * file-coding.c (detect_coding_sjis):
6566         * file-coding.c (decode_coding_sjis):
6567         * file-coding.c (encode_coding_sjis):
6568         * file-coding.c (detect_coding_big5):
6569         * file-coding.c (decode_coding_big5):
6570         * file-coding.c (encode_coding_big5):
6571         * file-coding.c (detect_coding_ucs4):
6572         * file-coding.c (decode_coding_ucs4):
6573         * file-coding.c (encode_coding_ucs4):
6574         * file-coding.c (detect_coding_utf8):
6575         * file-coding.c (decode_coding_utf8):
6576         * file-coding.c (encode_coding_utf8):
6577         * file-coding.c (detect_coding_iso2022):
6578         * file-coding.c (decode_coding_iso2022):
6579         * file-coding.c (encode_coding_iso2022):
6580         * file-coding.c (decode_coding_no_conversion):
6581         * file-coding.c (encode_coding_no_conversion):
6582         * glyphs-x.c (write_lisp_string_to_temp_file):
6583         * gpmevent.c (tty_get_foreign_selection):
6584         * lisp.h:
6585         * lstream.c:
6586         * lstream.c (Lstream_flush_out):
6587         * lstream.c (Lstream_adding):
6588         * lstream.c (Lstream_write_1):
6589         * lstream.c (Lstream_write):
6590         * lstream.c (Lstream_raw_read):
6591         * lstream.c (Lstream_read_more):
6592         * lstream.c (Lstream_read):
6593         * lstream.c (Lstream_unread):
6594         * lstream.c (Lstream_fputc):
6595         * lstream.c (stdio_reader):
6596         * lstream.c (stdio_writer):
6597         * lstream.c (filedesc_reader):
6598         * lstream.c (filedesc_writer):
6599         * lstream.c (lisp_string_reader):
6600         * lstream.c (struct fixed_buffer_stream):
6601         * lstream.c (make_fixed_buffer_input_stream):
6602         * lstream.c (make_fixed_buffer_output_stream):
6603         * lstream.c (fixed_buffer_reader):
6604         * lstream.c (fixed_buffer_writer):
6605         * lstream.c (struct resizing_buffer_stream):
6606         * lstream.c (resizing_buffer_writer):
6607         * lstream.c (dynarr_writer):
6608         * lstream.c (lisp_buffer_reader):
6609         * lstream.c (lisp_buffer_writer):
6610         * lstream.h:
6611         * lstream.h (lstream_implementation):
6612         * lstream.h (struct lstream):
6613         * md5.c (Fmd5):
6614         * process-nt.c (nt_send_process):
6615         * process-unix.c (unix_send_process):
6616         
6617         Correct Lstream lossage due to mixing of signed and unsigned
6618         quantities.  All Lstream uses of size_t and ssize_t are now a
6619         single signed data type Lstream_data_count.  This fixes problems
6620         under Windows with sending large quantities of data to a process,
6621         and may well fix other subtle bugs.
6622
6623 2001-02-23  Martin Buchholz <martin@xemacs.org>
6624
6625         * XEmacs 21.2.45 "Thelxepeia" is released.
6626
6627 2001-02-21  Martin Buchholz  <martin@xemacs.org>
6628
6629         * lisp-union.h (XSETINT): 
6630         (XSETCHAR):
6631         (XSETOBJ): 
6632         Reverse previous change of 2001-02-06.
6633
6634 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
6635
6636         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
6637         buffers.
6638         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6639         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
6640         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
6641         * regex.c (POS_AS_IN_BUFFER): removed
6642         * regex.c (re_search_2):
6643         * regex.c (re_match_2):
6644         Don't use an offset of 1 when calculating buffer positions, since
6645         `BI_BUF_BEGV' does it already.
6646
6647 2001-02-18  Wim Dumon  <wim@easics.be>
6648
6649         * insdel.c (prepare_to_modify_buffer): Also check for
6650         supersession when clash-detection is enabled. 
6651
6652 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
6653
6654         * regex.c (re_match_2_internal):
6655         Convert temp characters from 'const unsigned char' to 're_char'.
6656         Fix crashing bug with extended characters under mule.
6657         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
6658         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
6659         font-lock, pdump, and new syntax-table code.
6660         * syntax.c (find_start_of_comment):
6661         (find_end_of_comment):
6662         (forward-comment):
6663         Fix crashing bugs involving moving beyond end of buffer.
6664         * syntax.c (find_start_of_comment):
6665         Fixed logic to allow proper detection of cases where the same
6666         character is used to end both a two-char comment start and a
6667         two-char comment end sequence. Fixes `(forward-comment -1)'.
6668         * syntax.c (find_start_of_comment):
6669         Return position just past last comment-end character for all cases
6670         (previously was only done for two-char comment-end sequences).
6671         * syntax.c (forward-comment):
6672         Take value returned from `find_end_of_comment', rather than
6673         incrementing it.
6674         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
6675         Properly deal with BUFFERP (syntax_cache.object)
6676
6677 2001-02-17  Martin Buchholz  <martin@xemacs.org>
6678
6679         * alloc.c (Fgarbage_collect): 
6680         * alloc.c (make_bit_vector_from_byte_vector):
6681         -Wsign-compare-correctness.
6682
6683 2001-02-16  Martin Buchholz  <martin@xemacs.org>
6684
6685         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
6686         (XSETCHAR): Likewise.
6687         (XSETOBJ): Likewise.
6688
6689 2001-02-15  Martin Buchholz  <martin@xemacs.org>
6690
6691         * mule-canna.c (canna-func-delete_previous): 
6692         Rename to canna-func-delete-previous.
6693
6694 2001-02-14  Martin Buchholz  <martin@xemacs.org>
6695
6696         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
6697
6698 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
6699
6700         * font-lock.c (find_context): Fix C++ compile errors introduced by
6701         recent patch
6702
6703 2001-02-13  Martin Buchholz  <martin@xemacs.org>
6704
6705         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
6706         pragma, but earlier ones barf on the same pragma.
6707
6708 2001-02-06  Mike Sperber <mike@xemacs.org>
6709
6710         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
6711         `configure-mule-lisp-directory'.
6712
6713 2001-02-12  Martin Buchholz  <martin@xemacs.org>
6714
6715         Make sure dump-id.c is compiled in the same way as other .c's.
6716         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
6717         * dump-id.h: Remove.
6718         * emacs.c: Move dump-id.h into dumper.h.
6719         * dumper.h: Move dump-id.h into dumper.h.
6720         * Makefile.in.in:
6721         Use standard .c.o rule for building dump-id.o.
6722         Remove preprocessor flags from link command.
6723         Add dump-id.o to ${otherobjs} if PDUMP.
6724
6725 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
6726
6727         Port FSF 20.7 syntax table improvements.
6728         * syntax.c.
6729         * syntax.h.
6730
6731         Fixups for new syntax table stuff.
6732         * dired.c: Include syntax.c.
6733         (Fdirectory_files): Initialize regex_match_object and
6734         regex_emacs_buffer.
6735         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
6736         and Fget_char_property.
6737
6738         Use ported FSF 20.7 syntax table improvements.
6739         * font-lock.c.
6740         * regex.c.
6741         * search.c.
6742         
6743 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6744
6745         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
6746         Unixware's enum boolean from sys/types.h.
6747
6748 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6749
6750         Fix support for building with latest Purify.
6751         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
6752         (PURIFY_FLAGS): Likewise.
6753
6754 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6755
6756         * fileio.c (lisp_string_set_file_times): New.
6757         * fileio.c (Fcopy_file): Use it.
6758         Fixes bug:
6759         (copy-file filename non-ascii-filename t t)
6760         ==> No such file or directory, non-ascii-filename
6761
6762 2001-02-10  Martin Buchholz  <martin@xemacs.org>
6763
6764         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
6765         USHRT_MAX seems clearer than ~0 anyways.
6766
6767 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6768
6769         dumper improvements.  Inspired by Olivier.
6770         * dumper.c (pdump_max_align): New.
6771         * dumper.c (pdump_add_entry): Use pdump_max_align.
6772         * dumper.c (pdump_get_entry_list): Likewise.
6773         * dumper.c (pdump_scan_by_alignment): Likewise.
6774         Don't iterate through unnecessary alignments.
6775         * dumper.c (pdump_file_get): No need to align result of malloc().
6776         * dumper.c (pdump_mallocadr): Remove.  
6777         The result of malloc() is guaranteed to be maximally aligned.
6778         * dumper.c: s/elmt/elt/g;
6779         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
6780         * dumper.c (pdump_alert_undump_object): Likewise.
6781         * dumper.c (pdump_align_table): 
6782         Don't support alignments > 64.
6783         Store ALIGNOF's, not shift counts, in table.
6784
6785 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6786
6787         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
6788         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
6789         * systime.h: Use HAVE_UTIME.
6790         * sysdep.c (struct utimbuf): Remove.
6791         * sysdep.c (set_file_times): Prefer utime() to utimes().
6792         * config.h.in (HAVE_UTIME): New.
6793         * config.h.in (HAVE_UTIME_H): Remove.
6794         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
6795
6796 2001-02-09  Martin Buchholz  <martin@xemacs.org>
6797
6798         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
6799
6800 2001-02-08  Martin Buchholz  <martin@xemacs.org>
6801
6802         * s/irix6-0.h: Use the standard system memmove, not bcopy.
6803
6804 2001-02-08  Martin Buchholz <martin@xemacs.org>
6805
6806         * XEmacs 21.2.44 "Thalia" is released.
6807
6808 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6809
6810         Fixes crashes in kill-emacs on some systems.
6811         * process-unix.c (unix_kill_child_process):
6812         It's OK for kill() to fail with ESRCH.
6813
6814 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6815
6816         Contortions to make .gdbinit tricks work on most systems.
6817         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
6818         * alloc.c (dbg_valmask): Make non-const.
6819         * alloc.c (dbg_typemask): Make non-const.
6820         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
6821         * alloc.c (dbg_valbits): Make non-const.
6822         * alloc.c (dbg_gctypebits): Make non-const.
6823         * .gdbinit (decode_object): Make it work with AIX cc.
6824
6825 2001-02-06  Martin Buchholz  <martin@xemacs.org>
6826
6827         * elhash.c (make_general_lisp_hash_table):
6828         Use simpler and more efficient calloc to clear entries.
6829
6830 2001-02-07  Martin Buchholz  <martin@xemacs.org>
6831
6832         * window.c (window_scroll): Work around an AIX C compiler bug.
6833         Fixes 'scroll-up' does nothing problem with xlC.
6834
6835 2001-02-05  Martin Buchholz  <martin@xemacs.org>
6836
6837         * .gdbinit: Remove obsolete comment.
6838
6839 2001-01-31  Mike Alexander  <mta@arbortext.com>
6840
6841         * select.c (Fown_selection_internal): Set owned_p for device
6842         method correctly.
6843
6844 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6845
6846         Port to g++ 2.97.
6847         "not" cannot be used as a macro name as it is an operator in C++
6848         * config.h.in: Stop #defining `not'.
6849         * chartab.c (check_category_char): not ==> not_p
6850         * chartab.h: Likewise.
6851         * regex.c (re_match_2_internal): Likewise.
6852
6853 2001-02-02  Martin Buchholz  <martin@xemacs.org>
6854
6855         * lisp-disunion.h: Fix up comments.
6856
6857 2001-01-31  Martin Buchholz  <martin@xemacs.org>
6858
6859         * keymap.c (define_key_check_and_coerce_keysym):
6860         (syms_of_keymap):
6861         Support mouse-6 and mouse-7 bindings in the obvious way.
6862
6863 2001-02-01  Martin Buchholz  <martin@xemacs.org>
6864
6865         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
6866
6867 2001-01-30  Martin Buchholz  <martin@xemacs.org>
6868
6869         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
6870         Previous patch missed DEFVAR_INT_MAGIC.
6871         Make sure future DEFVAR_foo use correct types.
6872         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
6873         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
6874         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
6875         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
6876         * (DEFVAR_INT): Likewise.
6877         * redisplay.c (vertical_clip): Should be of type Fixnum.
6878         * redisplay.c (horizontal_clip): Likewise.
6879         * lisp.h (dump_add_opaque_int): New.
6880         (dump_add_opaque_fixnum): New.
6881
6882 2001-01-29  Andy Piper  <andy@xemacs.org>
6883
6884         * glyphs-widget.c (check_valid_int_or_function): allow symbols
6885         since they can be eval'ed
6886
6887 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6888
6889         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
6890         Oops, XEmacs redefines `class'.  Use `typename' instead.
6891
6892 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6893
6894         * dumper.c: Fix C++ compile errors.
6895
6896 2001-01-29  Martin Buchholz  <martin@xemacs.org>
6897
6898         * tparam.c: Use correct prototypes.
6899
6900 2001-01-28  Martin Buchholz  <martin@xemacs.org>
6901
6902         * sysproc.h: #include util.h for NetBSD's openpty.
6903
6904 2001-01-27  Martin Buchholz  <martin@xemacs.org>
6905
6906         More 64-bit correctness.
6907         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
6908         Use a typedef `fixnum' for the type used for DEFVAR_INT.
6909         Fix up comments.
6910         This finally finishes the 64-bit SGI port.
6911         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
6912         * symbols.c: Fix up comments and type casts.
6913         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
6914         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
6915         * symeval.h (Fixnum): New type.
6916         * symeval.h (symbol_value_type): Fix up comment.
6917
6918         * commands.h:
6919         * nt.c:
6920         * emacs.c:
6921         * data.c:
6922         * redisplay.c:
6923         * abbrev.c:
6924         * dired-msw.c:
6925         * event-Xt.c:
6926         * eldap.c:
6927         * window.c:
6928         * sound.c:
6929         * event-stream.c:
6930         * eval.c:
6931         * buffer.c:
6932         * mule-canna.c: A million DEFVAR_INTs here...
6933         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
6934         * extents.c:
6935         * cmdloop.c:
6936         * lisp.h:
6937         * select-x.c:
6938         * console-x.h:
6939         * event-msw.c:
6940         * mule-wnnfns.c:
6941         * hpplay.c:
6942         * ralloc.c:
6943         * alloc.c:
6944         * keymap.c:
6945         * profile.c:
6946         s/int/Fixnum/g in DEFVAR_INT declarations.
6947
6948 2001-01-26  Martin Buchholz  <martin@xemacs.org>
6949
6950         Port pdump to SGI alignment-sensitive environment.
6951         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
6952         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
6953         properly aligned.
6954         Define and use aligned reading and writing macros.
6955         Use buffered stdio instead of posix i/o for faster dumping.
6956         Eliminate kludgy 256 byte space for header.
6957         Read and write from dump file using structs for alignment safety.
6958         * dumper.c (pdump_align_stream): New.
6959         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
6960         * dumper.c (PDUMP_READ_ALIGNED): New.
6961         * dumper.c (PDUMP_WRITE_ALIGNED): New.
6962         * dumper.c (pdump_static_Lisp_Object): New struct.
6963         * dumper.c (pdump_static_pointer): New struct.
6964         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
6965         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
6966         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
6967         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
6968
6969         * dumper.c (pdump_backtrace):
6970         * dumper.c (pdump_get_indirect_count):
6971         * dumper.c (pdump_register_object):
6972         * dumper.c (pdump_register_struct):
6973         * dumper.c (pdump_reloc_one):
6974         * dumper.c (pdump_scan_by_alignment):
6975         * dumper.c (pdump_dump_from_root_struct_ptrs):
6976         * dumper.c (pdump_dump_opaques):
6977         * dumper.c (pdump_dump_rtables):
6978         * dumper.c (pdump_dump_from_root_objects):
6979         * dumper.c (pdump):
6980         * dumper.c (pdump_load_finish):
6981         Use aligned reading and writing.
6982
6983         * dumper.c (pdump_free): Make static.
6984         * dumper.c (pdump_hFile): Likewise.
6985         * dumper.c (pdump_hMap): Likewise.
6986
6987 2001-01-26  Martin Buchholz <martin@xemacs.org>
6988
6989         * XEmacs 21.2.43 "Terspichore" is released.
6990
6991 2001-01-25  Martin Buchholz  <martin@xemacs.org>
6992
6993         Type fiddling for window_config.saved_windows_count
6994         * window.c (struct window_config): 
6995         Make saved_windows_count member unsigned.
6996         * window.c (sizeof_window_config_for_n_windows): 
6997         Make parameter unsigned.
6998         * window.c (mark_window_config):
6999         * window.c (window_config_equal):
7000         * window.c (free_window_configuration):
7001         * window.c (Fset_window_configuration):
7002         * window.c (count_windows):
7003         * window.c (Fcurrent_window_configuration):
7004         * window.c (reinit_vars_of_window):
7005         Update all callers and users.
7006
7007 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7008
7009         Alignment correctness for flexible arrays.
7010         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7011         Make alignment-correct. Add interesting comments.
7012         * alloc.c (size_vector):
7013         * alloc.c (make_vector_internal):
7014         * alloc.c (make_bit_vector_internal):
7015         * alloc.c (sweep_bit_vectors_1):
7016         * fns.c (size_bit_vector):
7017         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7018         * window.c (sizeof_window_config_for_n_windows): 
7019         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7020
7021 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7022
7023         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7024
7025 2001-01-23  Andy Piper  <andy@xemacs.org>
7026
7027         * select.c (Fown_selection_internal): pass owned_p
7028
7029         * select-msw.c (mswindows_own_selection): New Signature.
7030
7031         * console.h (struct console_methods): add owned_p to
7032         _own_selection.
7033
7034         * select-x.c (x_own_selection): pass owned_p
7035         (hack_motif_clipboard_selection): use owned_p
7036         (vars_of_select_x): new variable -
7037         x_selection_strict_motif_ownership.
7038
7039 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7040
7041         * specifier.h (specifier_data_offset): Remove pointless parens.
7042         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7043
7044 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7045
7046         Make Lisp_Object sizeof methods be alignment-correct.
7047         pdump must restore objects to the same alignment as the C compiler
7048         assumes.  It really matters on SGIs.
7049         * lstream.c (aligned_sizeof_lstream): New.
7050         (sizeof_lstream): Use aligned_sizeof_lstream.
7051         (Lstream_new): Likewise.
7052         * opaque.c (aligned_sizeof_opaque): New.
7053         (sizeof_opaque): Use aligned_sizeof_opaque.
7054         (make_opaque): Likewise.
7055         * specifier.c (aligned_sizeof_specifier): New.
7056         (sizeof_specifier): Use aligned_sizeof_specifier.
7057         (make_specifier_internal): Likewise.
7058
7059 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7060
7061         * lstream.h (struct lstream): Use max_align_t for trailing data.
7062         * specifier.h (struct Lisp_Specifier): Likewise.
7063
7064 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7065
7066         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7067         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7068         (CCL_SUSPEND): Likewise.
7069         (CCL_INVALID_CMD): Likewise.
7070         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7071         (ccl_driver): Likewise.
7072         (CCL_WRITE_CHAR): Macro hygiene.
7073         (CCL_WRITE_STRING): Macro hygiene.
7074
7075 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7076
7077         Port "portable" dumper to SunOS 4 and HP-UX.
7078         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7079         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7080         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7081
7082 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7083
7084         * lisp.h (ALIGNOF): A better definition for C++.
7085
7086 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7087
7088         Macro hygiene.
7089         Fix printf warnings: int format, long int arg.
7090         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7091         (PUSH_FAILURE_POINT): Use correct printf formats.
7092         (POP_FAILURE_POINT): Use correct printf formats.  
7093         Use do {...} while (0)
7094
7095 2001-01-20  Martin Buchholz <martin@xemacs.org>
7096
7097         * XEmacs 21.2.42 "Poseidon" is released.
7098
7099 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7100
7101         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7102
7103 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7104
7105         De-kludgify FIXED_TYPE free list frobbing.
7106         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7107         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7108         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7109         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7110         * alloc.c (LRECORD_FREE_P): New.
7111         * alloc.c (MARK_LRECORD_AS_FREE): New.
7112         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7113         * alloc.c (STRUCT_FREE_P): Deleted.
7114         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7115         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7116         * alloc.c (STRING_CHARS_FREE_P): New.
7117         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7118         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7119         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7120         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7121         * alloc.c (resize_string): Use new definitions.
7122         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7123         * alloc.c (verify_string_chars_integrity): Use new definitions.
7124         * alloc.c (compact_string_chars): Use new definitions.
7125         * alloc.c: Update monster comments.
7126         * lrecord.h (lrecord_type): Add some new lrecord types for
7127         alloc.c's use.
7128
7129 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7130
7131         Improve alignment hackery.
7132         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7133         (max_align_t): Moved from opaque.h - general purpose.
7134         (ALIGN_PTR): Use size_t, not long.
7135         * opaque.h (max_align_t): Move to lisp.h.
7136
7137 2001-01-18  Norbert Koch  <nk@LF.net>
7138
7139         * gui.h: Fix and add prototypes to fix build problems.
7140
7141 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7142
7143         temacs is going away, so `dump-temacs' is now a bad name.
7144         * .dbxrc (dump-temacs): Rename to `dmp'.
7145         * .gdbinit (dump-temacs): Rename to `dmp'.
7146
7147 2001-01-17  Andy Piper  <andy@xemacs.org>
7148
7149         * glyphs.c (print_image_instance): comment to make martin happy.
7150
7151         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7152         change.
7153
7154         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7155         activation.
7156         (mswindows_tab_control_redisplay): warning suppression.
7157
7158         * glyphs-widget.c (widget_update): re-write to cope with updated
7159         items.
7160         (widget_instantiate): use new gui_item functions.
7161         (tab_control_update): deleted.
7162         (progress_gauge_update): deleted.
7163         (image_instantiator_progress_guage): take out update reference.
7164         (image_instantiator_tree_view): ditto.
7165         (image_instantiator_tab_control): ditto.
7166
7167         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7168         Right the new way.
7169         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7170         return whether anything was changed.
7171         (update_gui_item_keywords): as it sounds.
7172
7173         * gui.h: declare widget_gui_parse_item_keywords.
7174
7175         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7176         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7177
7178 2001-01-17  Martin Buchholz <martin@xemacs.org>
7179
7180         * XEmacs 21.2.41 "Polyhymnia" is released.
7181
7182 2001-01-16  Didier Verna  <didier@xemacs.org>
7183
7184         * glyphs.c (image_instantiate): don't use fallbacks when
7185         instantiating a face's background pixmap by inheritance.
7186
7187 2001-01-14  Mike Sperber <mike@xemacs.org>
7188
7189         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7190         Conditionalize accordingly.
7191
7192 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7193
7194         * dumper.c (pdump_file_get): Fix a compiler warning.
7195
7196 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7197
7198         Make Purify happy when pdumping.
7199         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7200         iniitalizing all bits of new lisp object memory.
7201         * symbols.c (Fmake_local_variable): Likewise.
7202         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7203         * symbols.c (Fdefvaralias): Likewise.
7204         * mule-charset.c (vars_of_mule_charset): Likewise.
7205
7206 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7207         Add the `-nd' flag when running pre-dump operations under the debugger.
7208         * .dbxrc (run-temacs): Add `-nd'.
7209         * .dbxrc (update-elc): Likewise.
7210         * .dbxrc (dump-temacs): Likewise.
7211         * .gdbinit (run-temacs): Likewise.
7212         * .gdbinit (check-temacs): Likewise.
7213         * .gdbinit (update-elc): Likewise.
7214         * .gdbinit (dump-temacs): Likewise.
7215
7216 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7217
7218         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7219         export OBJECT_MODE=64
7220         configure --pdump --use-union-type=no
7221         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7222         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7223
7224         * miscplay.c (sndcnv8U_2mono):
7225         Avoid two uses of `++' in the same expression.
7226         Suppresses a GCC warning.
7227
7228 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7229
7230         Make sure future compilers don't miscompile alloc.c.
7231         * alloc.c:
7232         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7233         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7234
7235 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7236
7237         * dumper.c: A little post-pdump-rename comment fixup.
7238
7239 2001-01-09  Jerry James  <james@eecs.ku.edu>
7240
7241         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7242
7243 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7244
7245         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7246         script:
7247         #!/bin/sh
7248         replace_symbol () {
7249           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7250         }
7251
7252         replace_symbol pdump_wire_lists pdump_weak_object_chains
7253         replace_symbol pdump_wire_list dump_add_weak_object_chain
7254
7255         replace_symbol pdump_wires pdump_root_objects
7256         replace_symbol pdump_wire dump_add_root_object
7257
7258         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7259         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7260
7261         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7262         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7263         replace_symbol dumpstructinfo pdump_root_struct_ptr
7264         replace_symbol dumpstruct dump_add_root_struct_ptr
7265
7266         replace_symbol dumpopaque dump_add_opaque
7267         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7268         replace_symbol dumpopaqueinfos pdump_opaques
7269         replace_symbol dumpopaqueinfo pdump_opaque
7270
7271         replace_symbol nb_structdump nb_root_struct_ptrs
7272         replace_symbol nb_opaquedump nb_opaques
7273
7274         replace_symbol align_table pdump_align_table
7275         replace_symbol dump_header pdump_header
7276
7277         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7278         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7279
7280
7281 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7282
7283         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7284         optimizing bytecount_to_charcount().
7285
7286 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7287
7288         * config.h.in:
7289         (HAVE_DLFCN_H): Removed.
7290         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7291
7292 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7293
7294         Portable dumper maintainability improvements.
7295         * alloc.c (staticpro):
7296         * alloc.c (staticpro_nodump):
7297         * alloc.c (garbage_collect_1):
7298         * alloc.c (reinit_alloc_once_early):
7299         * alloc.c (init_alloc_once_early):
7300         * alloc.c: Move dumper functions to alloc.c.
7301         * dumper.c (pdump_backtrace):
7302         * dumper.c (pdump_dump_structs):
7303         * dumper.c (pdump_dump_opaques):
7304         * dumper.c (pdump_dump_rtables):
7305         * dumper.c (pdump_dump_wired):
7306         * dumper.c (pdump):
7307         * dumper.c (pdump_load_check):
7308         * dumper.c (pdump_load_finish):
7309         * dumper.c (pdump_file_unmap):
7310         * dumper.c (pdump_file_get):
7311         * dumper.c (pdump_resource_free):
7312         * dumper.c (pdump_resource_get):
7313         * dumper.c (pdump_file_free):
7314         * dumper.c (pdump_file_try):
7315         * dumper.c (pdump_load):
7316         Remove fixed size limits on staticpro(), staticpro_nodump(),
7317         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7318         Remove custom code for dumping lrecord_implementations_table - use
7319         dumpopaque instead.
7320         Remove (most of the) custom code for dumping staticpros - dump it
7321         like any other dynarr.
7322
7323         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7324         * dumper.c: Moved functions from alloc.c.
7325         * alloc.c (dumpstruct): Moved to dumper.c.
7326         * alloc.c (dumpopaque): Likewise.
7327         * alloc.c (pdump_wire): Likewise.
7328         * alloc.c (pdump_wire_list): Likewise.
7329
7330         * lisp.h (Dynarr_sizeof): New.
7331         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7332         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7333         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7334
7335         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7336         * lisp.h (dumpopaque): ditto.
7337         * lisp.h (pdump_wire): ditto.
7338         * lisp.h (pdump_wire_list): ditto.
7339
7340 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7341
7342         * make-src-depend (PrintPatternDeps):
7343         Use `sort' to make output independent of perl version.
7344
7345 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7346
7347         Port to Netbsd 1.5.
7348         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7349         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7350
7351 2001-01-03  Didier Verna  <didier@xemacs.org>
7352
7353         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7354         that `focus_frame' is alive before thinking of calling
7355         `redisplay_redraw_cursor' on it.
7356
7357 2001-01-08  Martin Buchholz <martin@xemacs.org>
7358
7359         * XEmacs 21.2.40 is released.
7360
7361 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7362
7363         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7364
7365 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7366
7367         * alloc.c (dbg_valmask): Make const.
7368         * alloc.c (dbg_typemask): Make const.
7369         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7370         * alloc.c (dbg_valbits): Make const.
7371         * alloc.c (dbg_gctypebits): Make const.
7372
7373 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7374
7375         * redisplay-x.c (x_bevel_area):
7376         redisplay.h (struct rune):
7377         Typo fixes in comments.
7378
7379 2001-01-05  Andy Piper  <andy@xemacs.org>
7380
7381         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7382         adjustment.
7383
7384         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7385
7386 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7387
7388         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7389
7390         * mule-ccl.c (stack_idx_of_map_multiple):
7391         Non const global data must not be initialized!
7392         Found by MIYASHITA Hisashi.
7393
7394 2001-01-02  Andy Piper  <andy@xemacs.org>
7395
7396         * frame.c (change_frame_size): make sure frame size is always
7397         marked as changed.
7398
7399         * glyphs.c (image_instance_layout): minor code reuse.
7400
7401         * window.c (Fcurrent_window_configuration): revert previous
7402         change.
7403
7404 2001-01-02  Martin Buchholz  <martin@xemacs.org>
7405
7406         * glyphs.h:
7407         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
7408
7409 2000-12-31  Andy Piper  <andy@xemacs.org>
7410
7411         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
7412         when widget gets unmapped.
7413
7414         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
7415         function. Make sure widgets losing focus don't just drop it.
7416         (handle_focus_event_1): record the widget with focus.
7417
7418 2000-12-31  Andy Piper  <andy@xemacs.org>
7419
7420         * window.c (allocate_window): use
7421         make_image_instance_cache_hash_table.
7422         (make_dummy_parent): ditto.
7423         (Fset_window_configuration): ditto.
7424
7425         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
7426
7427         * glyphs.c (process_image_string_instantiator): use
7428         INSTANTIATOR_TYPE.
7429         (get_image_instantiator_governing_domain): ditto.
7430         (normalize_image_instantiator): ditto.
7431         (instantiate_image_instantiator): ditto.
7432         (make_image_instance_1): ditto.
7433         (image_instantiate): ditto. Key on glyph *and* instantiator type.
7434         (instantiator_eq_equal): new function for use with instance hash
7435         tables.
7436         (instantiator_eq_hash): ditto.
7437         (make_image_instance_cache_hash_table): create a suitable hash
7438         table for storing image instances.
7439
7440         * elhash.h (hash_table_weakness): new internal weakness type
7441         HASH_TABLE_KEY_CAR_VALUE_WEAK.
7442         declare new functions.
7443
7444         * elhash.c (finish_marking_weak_hash_tables): introduce yet
7445         another weakness type for glyphs.
7446         (make_standard_lisp_hash_table): new function split out from
7447         make_general_lisp_hash_table.
7448         (make_lisp_hash_table): call make_standard_lisp_hash_table.
7449         (hash_table_instantiate): ditto.
7450         (Fmake_hash_table): ditto.
7451
7452 2000-12-31  Martin Buchholz <martin@xemacs.org>
7453
7454         * XEmacs 21.2.39 is released.
7455
7456 2000-12-29  Andy Piper  <andy@xemacs.org>
7457
7458         * menubar.c (menubar_visible_p_changed): signal the frame changed.
7459
7460         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
7461         the frame has changed so that we pick up geometry changes such as
7462         menubar visibility.
7463
7464 2000-12-28  Andy Piper  <andy@xemacs.org>
7465
7466         * lastfile.c (my_ebss): make a char array so we can pad the
7467         bss. Fixes cygwin unexec.
7468
7469         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
7470
7471 2000-12-26  Andy Piper  <andy@xemacs.org>
7472
7473         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
7474         comments and try and be more precise about a non-/SIGIO world.
7475         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
7476         SIGIO.
7477
7478         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
7479         we don't normalize to zero width or height.
7480
7481 2000-12-24  Andy Piper  <andy@xemacs.org>
7482
7483         * Makefile.in.in (ldflags): add -mwindows when appropriate.
7484
7485 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
7486
7487         * s/sco5.h: SCO 5 has pty support.
7488
7489 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
7490
7491         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
7492         input-method-xlib.c contains whole contents of input-method-xfs.c,
7493         so we can use input-method-xlib.c's code for USE_XFONTSET
7494         using #ifdefs.
7495         * input-method-xfs.c: removed.
7496
7497 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
7498
7499         * file-coding.h (enum coding_category_type): reorder enumerators to
7500         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
7501         (now one greater than largest real coding_category_type enumerator).
7502         * file-coding.c (coding_category_symbol, coding_category_by_priority,
7503         coding_category_system, fcd_descriptihon_1, decode_coding_category,
7504         Fcoding_category_list, Fset_coding_priority_list,
7505         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
7506         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
7507
7508 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7509
7510         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
7511         * redisplay-output.c (redisplay_output_window): Clear top of window
7512         when face is changed.
7513         * redisplay-x.c (x_redraw_exposed_window): Call
7514         redisplay_clear_top_of_window.
7515         * redisplay.h: Publish redisplay_clear_top_of_window.
7516
7517 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
7518
7519         * buffer.c (Fkill_buffer): Map over all devices.
7520         * window.c (window_loop): Remove UNSHOW_BUFFER code.
7521         (list_windows): New function.
7522         (list_all_windows): Ditto.
7523         (Freplace_buffer_in_windows): Use them.
7524
7525 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
7526
7527         * database.c (berkdb_subtype): Recognize new subtype `queue'.
7528         (Fopen_database): Use `db_create' instead of `db_open'.
7529         (syms_of_database): Initialize Qqueue.
7530
7531 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7532
7533         * buffer.c (common_init_complex_vars_of_buffer): Initialize
7534         buffer_local_face_property.
7535         * buffer.h (struct buffer): New member buffer_local_face_property.
7536         * window.c (Fset_window_buffer):  Mark window's face as changed
7537         when buffer has buffer local face.
7538         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
7539         * objects.c (color_after_change): Set buffer_local_face_property
7540         when locale of face specifier is buffer.
7541         * objects.c (font_after_change): Ditto.
7542         * objects.c (face_boolean_after_change): Ditto.
7543         * glyphs.c (image_after_change): Ditto.
7544
7545 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7546
7547         * nt.c (mswindows_fstat): Report file permissions, volume serial
7548         number, etc. Code adapted from FSF Emacs 20.7.
7549
7550 2000-12-09  Dan Holmsand  <dan@eyebee.com>
7551
7552         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
7553         of stat when we don't have symbolic links, to make sure
7554         mswindows_stat is called on mswindows.
7555
7556 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7557
7558         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
7559
7560 2000-12-12  Martin Buchholz  <martin@xemacs.org>
7561
7562         * doprnt.c (emacs_doprnt_1): More printing fixes.
7563         Make printing of numbers compatible with libc and FSF Emacs.
7564         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
7565         Use the system printf to do most of the hard work of formatting,
7566         instead of doprnt_1().
7567         Calculate memory to allocate for format string.
7568         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
7569         (doprnt_1): Cleaner code and documentation.
7570
7571 2000-12-01  Jerry James  <james@eecs.ukans.edu>
7572
7573         * Makefile.in.in: Use the loop variable to install headers.
7574
7575 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7576
7577         * window.c (Fsplit_window): Don't invalidate face cache.
7578
7579 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7580
7581         * minibuf.c (Fall_completions): Undo the previous change
7582         which removed checking elements start with space.
7583
7584 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7585
7586         * mule-canna.c: Didier suppression.
7587
7588 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
7589
7590         * mule-canna.c: rename static unsigned char buf[] to key_buffer
7591         (warning suppression).  Add English comment translations.
7592
7593 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7594
7595         * unexelfsgi.c (unexec): Better test for mmap failure.
7596
7597 2000-12-05  Martin Buchholz <martin@xemacs.org>
7598
7599         * XEmacs 21.2.38 is released.
7600
7601 2000-12-05  Martin Buchholz  <martin@xemacs.org>
7602
7603         * redisplay.c (bar-cursor): Make a user variable.
7604
7605         * symsinit.h: Add init_postgresql_from_environment.
7606
7607 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
7608
7609         * regex.c: Convert to clean C.
7610
7611 2000-12-05  Dan Holmsand  <dan@eyebee.com>
7612
7613         * realpath.c:
7614         Don't #include sysfile.h. Revert to duplicating PATH_MAX
7615         initialization.
7616         (sys_readlink): renamed to system_readlink to avoid conflict with
7617         the other sys_readlink.
7618
7619 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
7620
7621         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
7622
7623 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
7624
7625         * postgresql.c (init_postgresql_from_environment): new function.
7626         (vars_of_postgresql): Move code initializing Lisp variables out and
7627         into init_postgresql_from_environment.
7628         emacs.c (main_1): Call init_postgresql_from_environment if and only
7629         if running a dumped XEmacs.
7630
7631 2000-08-31  Dan Holmsand  <dan@eyebee.com>
7632
7633         * buffer.c: Make find-file-compare-truenames default to true on
7634         windows.
7635
7636         * realpath.c (win32_abs_start):
7637         (cygwin_readlink):
7638         (win32_readlink): New functions.
7639         (xrealpath): Return really real filenames on windows.
7640
7641         * fileio.c (Ffile_truename): Make file-truename work on windows.
7642
7643 2000-11-29  Didier Verna  <didier@xemacs.org>
7644
7645         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
7646         * faces.c (update_face_cachel_data): use it.
7647         * faces.c (add_face_cachel): use it. Complete background pixmap
7648         frobbing in face cache if `update_face_cachel_data' has not done so.
7649
7650 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
7651
7652         * search.c (string_match_1): Don't set last_thing_searched
7653         when search failed.
7654
7655 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
7656
7657         * buffer.c: Include casetab.h
7658         (common_init_complex_vars_of_buffer): Use new case-table object.
7659         * buffer.h: Include casetab.h
7660         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
7661         (DOWNCASE_TABLE_OF): Ditto.
7662         * bufslots.h: Remove char-tables and add case-table.
7663         * casetab.c: Include casetab.h
7664         (CASE_TABLE_P): Removed.
7665         (mark_case_table): New function.
7666         (allocate_case_table): New function.
7667         (Fcase_table_p): Use new case-table.
7668         (case_table_char): New function.
7669         (Fget_case_table): Ditto.
7670         (Fput_case_table): Ditto.
7671         (Fput_case_table_pair): Ditto.
7672         (Fcopy_case_table): Ditto.
7673         (Fcurrent_case_table): Return case-table.
7674         (Fstandard_case_table): Return case-table.
7675         (Fset_case_table): Fix doc-string.
7676         (set_case_table): Use case-table
7677         (syms_of_casetab): DEFSUBR new functions.
7678         (complex_vars_of_casetab): Set up standard case-table.
7679         * casetab.h: New file.
7680         * editfns.c: Include casetab.h
7681         (Fcompare_buffer_substrings): Use case-table.
7682         * inline.c: Include casetab.h
7683         * lisp.h: Remove bogus extern.
7684         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
7685         * search.c: Include casetab.h
7686         (TRANSLATE_ASCII): Removed.
7687         (TRANSLATE): Unconditionally translate character.
7688         (looking_at_1): Use case-table.
7689         (string_match_1): Ditto.
7690         (fast_string_match): Ditto.
7691         (search_command): Ditto.
7692         (search_buffer): Separate boyer_moore.  Check whether
7693         boyer_moore is possible.
7694         (simple_search): New function.
7695         (boyer_moore): Separated from search_buffer. Translate char.
7696
7697 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
7698
7699         * regex.c (RE_TR_ASCII): Removed.
7700         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
7701         (PATFETCH): Call PATFETCH_RAW.
7702         (PATFETCH_RAW): Fetch Emchar.
7703         (PATUNFETCH): Decrement charptr.
7704         (GET_BUFFER_SPACE): Rename b to buf_end.
7705         (BUF_PUSH): Ditto.
7706         (BUF_PUSH_2): Ditto.
7707         (BUF_PUSH_3): Ditto.
7708         (EXTEND_BUFFER): Ditto.
7709         (SET_LIST_BIT): Ditto.
7710         (regex_compile): Ditto.  Translate non ASCII char.
7711         (compile_range): Ditto.
7712         (re_search_2): Ditto.
7713         (re_match_2_internal): Compare Emchar.
7714         (bcmp_translate): Ditto.
7715
7716 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
7717
7718         * lisp.h (basic char/int typedefs):  comment improvement.
7719
7720 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
7721
7722         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
7723         unstomp inhibit_site_lisp.  Improve comments.
7724
7725 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
7726
7727         * mule-charset.c (Fcharset_property):  improve type checking, comments.
7728
7729 2000-11-28  Andy Piper  <andy@xemacs.org>
7730
7731         * redisplay-output.c (redisplay_output_subwindow): make sure we do
7732         clipped display for windows in the gutter also.
7733         (redisplay_display_boxes_in_window_p): change semantics of return
7734         codes to be more intuitive.
7735
7736         * gutter.h: declare display_boxes_in_gutter_p.
7737
7738         * gutter.c (display_boxes_in_gutter_p): new function for
7739         redisplay.
7740
7741 2000-11-22  Andy Piper  <andy@xemacs.org>
7742
7743         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
7744         autodetect domain.
7745
7746 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
7747
7748         * callproc.c (Fold_call_process_internal):
7749         * gpm.c (Freceive_gpm_event):
7750         (tty_get_foreign_selection): Might be just warning supression.
7751         * fileio.c (Fwrite_region_internal):
7752         (Fset_visited_file_modtime):
7753         * keymap.c (event_matches_key_specifier_p):
7754         Initialize GCPROed variable.
7755
7756         * menubar-x.c (command_builder_find_menu_accelerator):
7757         Initialize before use.
7758
7759 2000-11-23  Andy Piper  <andy@xemacs.org>
7760
7761         * unexcw.c (unexec): make the resulting executable executable.
7762
7763 2000-11-21  Martin Buchholz  <martin@xemacs.org>
7764
7765         * doc.c (get_doc_string):
7766         Use size_t, not int, for result of XSTRING_LENGTH.
7767
7768         * cmds.c (Fdelete_char):
7769         * cmds.c (Fpoint_at_eol):
7770         * cmds.c (Fself_insert_command):
7771         Use EMACS_INT, not int, for result of XINT.
7772         Someday, someone will want to insert more than 2**31 identical characters.
7773
7774         * cmds.c (Fdelete_char):
7775         * cmds.c (Fdelete_backward_char):
7776         * syntax.c (Fforward_word):
7777         * syntax.c (Fforward_comment):
7778         Make COUNT argument optional, for consistency with forward-char et al.
7779
7780 2000-11-22  Martin Buchholz  <martin@xemacs.org>
7781
7782         * lisp.h:
7783         * print.c (long_to_string):
7784         Return a useful value: the pointer at end of data written.
7785
7786         * doprnt.c:
7787         Use `static const char * const' for constant strings.
7788         (union printf_arg): Delete `i', `ui' members.
7789         (get_doprnt_args):
7790         (emacs_doprnt_1):
7791         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
7792         Do all printf-ing via the `l' specifier.
7793         Use EMACS_INT instead of int.
7794         Optimize.
7795
7796 2000-11-20  Didier Verna  <didier@xemacs.org>
7797
7798         * faces.c (update_face_cachel_data): don't frob the background
7799         pixmap when the window is being created. The face is needed but
7800         does not exist yet.
7801
7802 2000-11-20  Andy Piper  <andy@xemacs.org>
7803
7804         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
7805         messing with a debug environment.
7806
7807 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7808
7809         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
7810
7811 2000-11-20  Martin Buchholz  <martin@xemacs.org>
7812
7813         * casetab.c (Fcase_table_p): Fix compile error and crash.
7814
7815 2000-11-18  Philip Aston  <philipa@mail.com>
7816
7817         * s/cygwin32.h: Cygwin has SVR4-like pty support.
7818
7819 2000-11-18  Martin Buchholz  <martin@xemacs.org>
7820
7821         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
7822         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
7823
7824 2000-11-17  Martin Buchholz  <martin@xemacs.org>
7825
7826         * config.h.in: Define HAVE_ELF_H if elf.h exists.
7827         * unexelf.c: Use HAVE_ELF_H.
7828         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
7829         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
7830         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
7831         Greg Harrington <greg_harrington@hotmail.com> provided a machine
7832         for testing.
7833         So this is an unexelfsgi.c from a different line of development.
7834
7835 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7836
7837         * regex.c (RE_TR_ASCII): New function.
7838         (RE_TRANSLATE): Call it.
7839
7840 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
7841
7842         * buffer.h (TRT_TABLE_OF): Remove assert.
7843         (IN_TRT_TABLE_DOMAIN): Removed.
7844
7845 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7846
7847         * free-hook.c (log_gcpro):
7848         (show_gcprohist): Add support for GCPRO5.
7849
7850 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
7851
7852         * emacs.c (main_1): Improve -sd error message when --pdump=no.
7853
7854 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
7855
7856         * symeval.h: Declare flush_all_buffer_local_cache.
7857
7858         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
7859         (flush_buffer_local_cache): Added.
7860         (flush_all_buffer_local_cache): Added.
7861
7862         * lrecord.h: Remove unused XD_LO_RESET_NIL.
7863
7864         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
7865         (pdump_dump_data): Ditto.
7866         (pdump_reloc_one): Ditto.
7867         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
7868         before dumping.
7869
7870
7871 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7872
7873         * buffer.c: Remove if 0'ed entry.
7874         * buffer.h: Rewrite TRT to use char-table.
7875         * bufslots.h: Remove mirror tables.
7876         * casetab.c: Remove mirror tables.
7877         (CASE_TABLE_P): New macro.
7878         (Fcase_table_p): Element of a case table is string or char-table.
7879         (make_mirror_trt_table): Removed.
7880         (set_case_table): Setup char-table from strings for backward
7881         compatibility.
7882         * dired.c (Fdirectory_files):
7883         * dired-msw.c: (mswindows_get_files):
7884         * lisp.h: Change prototype of re_pattern_buffer.
7885         * regex.c: (RE_TRANSLATE): New macro.
7886         (TRANSLATE_P): Ditto.
7887         Change translate to type RE_TRANSLATE_TYPE.
7888         * regex.h: Define RE_TRANSLATE_TYPE
7889         * search.c (TRANSLATE): New macro.
7890         (TRANSLATE_ASCII): New macro.
7891         Translate table is changed to Lisp_Object.
7892         (signal_failure): Inhibit return.
7893
7894 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
7895
7896         * device-msw.c:
7897         * eldap.c:
7898         * event-Xt.c:
7899         * event-stream.c:
7900         * print.c:
7901         Do UNGCPRO before return.
7902
7903 2000-11-14  Martin Buchholz <martin@xemacs.org>
7904
7905         * XEmacs 21.2.37 is released.
7906
7907 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
7908
7909         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
7910         Add comments about discarded return value.
7911
7912 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
7913
7914         * callint.c:
7915         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
7916
7917 2000-10-27  Andy Piper  <andy@xemacs.org>
7918
7919         * gutter.c (Fset_default_gutter_position): default left and right
7920         gutters to visible.
7921         (calculate_gutter_size): calculate resonable heuristic for left
7922         and right gutter sizes.
7923         (specifier_vars_of_gutter): change left and right gutter sizes to
7924         autodetect.
7925         (calculate_gutter_size_from_display_lines): new function.
7926         (output_gutter): check for resizing on left and right gutters.
7927         (clear_gutter): don't special case top and left gutters.
7928         (specifier_vars_of_gutter): use new signature for
7929         set_specifier_caching.
7930
7931         * glyphs-x.c (x_redisplay_widget): spelling fix.
7932         * glyphs.c (specifier_vars_of_glyphs):
7933         * menubar.c (specifier_vars_of_menubar):
7934         * redisplay.c (specifier_vars_of_redisplay):
7935         * toolbar.c (specifier_vars_of_toolbar):
7936         * window.c (specifier_vars_of_window):
7937         * scrollbar.c (specifier_vars_of_scrollbar):
7938         (complex_vars_of_scrollbar): use new signature for
7939         set_specifier_caching.
7940
7941         * specifier.c (set_specifier_caching): include recompute flag.
7942         (recompute_one_cached_specifier_in_window): always recompute if
7943         flag set.
7944         (recompute_one_cached_specifier_in_frame): ditto.
7945
7946         * specifier.h (struct specifier_caching): add recompute flag.
7947
7948 2000-10-24  Andy Piper  <andy@xemacs.org>
7949
7950         * unexcw.c (copy_executable_and_dump_data_section): add new
7951         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
7952         5.0 happy.
7953
7954 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7955
7956         * console-x.h (x_device): New member modifier_release_time.
7957         * event-Xt.c (x_handle_sticky_modifiers):
7958         Bound interval modifier keys are sticky.
7959         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
7960         * events.h: extern it.
7961
7962 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7963
7964         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
7965
7966 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
7967
7968         * event-stream.c (execute_command_event): Preserve current_events
7969         and the like when event is misc-user-event.
7970         Inhibit quit during the call to maybe_echo_keys.
7971
7972 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
7973
7974         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
7975         symlink when buffer is killed.
7976         (inhibit_clash_detection): New variable.
7977
7978 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
7979
7980         * console.c (Fset_input_method): Trigger redisplay on tty.
7981
7982 2000-11-07  Martin Buchholz  <martin@xemacs.org>
7983
7984         * process.c (Fprocess_status): Revert to previous behavior:
7985         (process-status "nosuchprocess") ==> nil
7986
7987 2000-11-06  Martin Buchholz  <martin@xemacs.org>
7988
7989         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
7990         Work around another GCC 2.95.2 optimizer bug.
7991
7992 2000-11-02  Martin Buchholz  <martin@xemacs.org>
7993
7994         * process.c (Fget_process): Use LIST_LOOP_2.
7995         (kill_buffer_processes): Use LIST_LOOP_2.
7996
7997         * minibuf.c (Fall_completions):
7998         Delete old non-functional code for FSF fourth argument.
7999
8000         * frame.c (frame_matches_frame_spec):
8001         Renamed from `frame_matches_frametype'.  Update all callers.
8002         (device_matches_device_spec):
8003         Renamed from 'device_matches_console_spec'.  Update all callers.
8004
8005         * doc.c (Fsubstitute_command_keys):
8006         Remove buffer overflow crash.  Small code cleanups.
8007
8008         * casetab.c (check_case_table): Simpler code.
8009
8010         * window.c (Freplace_buffer_in_windows):
8011         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8012         (and similar implementation) as Fdelete_windows_on.
8013         Update all callers.
8014
8015         * alloc.c (Fmake_list):
8016         * alloc.c (make_vector):
8017         * alloc.c (Fmake_vector):
8018         * alloc.c (make_bit_vector):
8019         * alloc.c (Fmake_bit_vector):
8020         * alloc.c (Fbit_vector):
8021         * alloc.c (Fmake_string):
8022         * alloc.c (Fpurecopy):
8023         * alloc.c (Fmemory_limit):
8024         * buffer.c:
8025         * buffer.c (Fget_buffer):
8026         * buffer.c (Fkill_buffer):
8027         * buffer.c (complex_vars_of_buffer):
8028         * bytecode.c (Fcompiled_function_stack_depth):
8029         * callint.c (Fprefix_numeric_value):
8030         * event-stream.c:
8031         * event-stream.c (Fread_key_sequence):
8032         * casetab.c:
8033         * casetab.c (Fcase_table_p):
8034         * casetab.c (check_case_table):
8035         * casetab.c (Fset_case_table):
8036         * casetab.c (Fset_standard_case_table):
8037         * chartab.c:
8038         * chartab.c (Fchar_table_type):
8039         * chartab.c (Freset_char_table):
8040         * chartab.c (Fget_char_table):
8041         * chartab.c (Fget_range_char_table):
8042         * chartab.c (Fput_char_table):
8043         * chartab.c (Fmap_char_table):
8044         * chartab.c (Fcategory_table_p):
8045         * chartab.c (Fcheck_category_at):
8046         * chartab.c (Fchar_in_category_p):
8047         * chartab.c (Fcategory_table):
8048         * chartab.c (Fcopy_category_table):
8049         * chartab.c (Fset_category_table):
8050         * chartab.c (Fcategory_designator_p):
8051         * chartab.c (Fcategory_table_value_p):
8052         * cmds.c (Fdelete_char):
8053         * cmds.c (Fdelete_backward_char):
8054         * cmds.c (Fself_insert_command):
8055         * cmds.c (Fself_insert_internal):
8056         * console.c (Fvalid_console_type_p):
8057         * console.c (Fcdfw_console):
8058         * console.c (Fconsole_type):
8059         * console.c (Fconsole_name):
8060         * console.c (Fconsole_device_list):
8061         * console.c (Fconsole_on_window_system_p):
8062         * data.c:
8063         * data.c (Feq):
8064         * data.c (Fold_eq):
8065         * data.c (Fsubr_interactive):
8066         * data.c (Fchar_to_int):
8067         * data.c (Fint_to_char):
8068         * data.c (Fsetcar):
8069         * data.c (Fsetcdr):
8070         * data.c (Fnumber_to_string):
8071         * data.c (Fstring_to_number):
8072         * data.c (Frem):
8073         * database.c (mark_database):
8074         * database.c (finalize_database):
8075         * database.c (Fdatabase_live_p):
8076         * database.c (Fdatabasep):
8077         * device-x.c (Fx_get_resource):
8078         * device.c (Fdfw_device):
8079         * dired.c:
8080         * dired.c (Ffile_name_completion):
8081         * dired.c (Ffile_name_all_completions):
8082         * dired.c (Fuser_name_completion):
8083         * dired.c (Fuser_name_completion_1):
8084         * dired.c (Fuser_name_all_completions):
8085         * doc.c (Fdocumentation):
8086         * doc.c (Fdocumentation_property):
8087         * doc.c (Fsubstitute_command_keys):
8088         * editfns.c:
8089         * editfns.c (Fchar_to_string):
8090         * editfns.c (Fstring_to_char):
8091         * editfns.c (Ftemp_directory):
8092         * editfns.c (Finsert_char):
8093         * editfns.c (Fbuffer_substring_no_properties):
8094         * editfns.c (Fnarrow_to_region):
8095         * editfns.c (Fchar_equal):
8096         * editfns.c (Fchar_Equal):
8097         * editfns.c (Ftranspose_regions):
8098         * emacs.c (Fdump_emacs):
8099         * eval.c (Fthrow):
8100         * eval.c (Fcommand_execute):
8101         * eval.c (Fautoload):
8102         * eval.c (Fbacktrace):
8103         * eval.c (Fbacktrace_frame):
8104         * events.c:
8105         * events.c (Fcopy_event):
8106         * events.c (Fcharacter_to_event):
8107         * events.c (Fevent_button):
8108         * events.c (Fevent_process):
8109         * extents.c:
8110         * extents.c (Fnext_extent_change):
8111         * extents.c (Fextent_property):
8112         * faces.c (Ffacep):
8113         * faces.c (Fmake_face):
8114         * file-coding.c:
8115         * file-coding.c (Fencode_shift_jis_char):
8116         * file-coding.c (Fencode_big5_char):
8117         * fileio.c (Ffile_name_directory):
8118         * fileio.c (Ffile_name_nondirectory):
8119         * fileio.c (Ffile_name_as_directory):
8120         * fileio.c (Fdirectory_file_name):
8121         * fileio.c (Ffile_truename):
8122         * fileio.c (Fsubstitute_in_file_name):
8123         * fileio.c (Ffile_modes):
8124         * fileio.c (Fset_file_modes):
8125         * fileio.c (Fset_default_file_modes):
8126         * fileio.c (Fverify_visited_file_modtime):
8127         * floatfns.c (Facos):
8128         * floatfns.c (Fasin):
8129         * floatfns.c (Fatan):
8130         * floatfns.c (Fcos):
8131         * floatfns.c (Fsin):
8132         * floatfns.c (Ftan):
8133         * floatfns.c (Fbessel_j0):
8134         * floatfns.c (Fbessel_j1):
8135         * floatfns.c (Fbessel_jn):
8136         * floatfns.c (Fbessel_y0):
8137         * floatfns.c (Fbessel_y1):
8138         * floatfns.c (Fbessel_yn):
8139         * floatfns.c (Ferf):
8140         * floatfns.c (Ferfc):
8141         * floatfns.c (Flog_gamma):
8142         * floatfns.c (Fexp):
8143         * floatfns.c (Fexpt):
8144         * floatfns.c (Flog):
8145         * floatfns.c (Flog10):
8146         * floatfns.c (Fsqrt):
8147         * floatfns.c (Fcube_root):
8148         * floatfns.c (Facosh):
8149         * floatfns.c (Fasinh):
8150         * floatfns.c (Fatanh):
8151         * floatfns.c (Fcosh):
8152         * floatfns.c (Fsinh):
8153         * floatfns.c (Ftanh):
8154         * floatfns.c (Fabs):
8155         * floatfns.c (Ffloat):
8156         * floatfns.c (Flogb):
8157         * floatfns.c (Fceiling):
8158         * floatfns.c (Ffloor):
8159         * floatfns.c (Fround):
8160         * floatfns.c (Ftruncate):
8161         * floatfns.c (Ffceiling):
8162         * floatfns.c (Fffloor):
8163         * floatfns.c (Ffround):
8164         * floatfns.c (Fftruncate):
8165         * fns.c (Fstring_equal):
8166         * fns.c (Fstring_lessp):
8167         * fns.c (concat2):
8168         * fns.c (concat3):
8169         * fns.c (vconcat2):
8170         * fns.c (vconcat3):
8171         * fns.c (Fsubstring):
8172         * fns.c (Fassoc):
8173         * fns.c (Fold_assoc):
8174         * fns.c (assoc_no_quit):
8175         * fns.c (Fassq):
8176         * fns.c (Fold_assq):
8177         * fns.c (assq_no_quit):
8178         * fns.c (Frassoc):
8179         * fns.c (Fold_rassoc):
8180         * fns.c (Frassq):
8181         * fns.c (Fold_rassq):
8182         * fns.c (rassq_no_quit):
8183         * fns.c (Fremassoc):
8184         * fns.c (remassoc_no_quit):
8185         * fns.c (Fremassq):
8186         * fns.c (remassq_no_quit):
8187         * fns.c (Fremrassoc):
8188         * fns.c (Fremrassq):
8189         * fns.c (remrassq_no_quit):
8190         * fns.c (Fsort):
8191         * fns.c (Fplist_get):
8192         * fns.c (Fplist_put):
8193         * fns.c (Fplist_remprop):
8194         * fns.c (Fplist_member):
8195         * fns.c (Flax_plist_get):
8196         * fns.c (Flax_plist_put):
8197         * fns.c (Flax_plist_remprop):
8198         * fns.c (Flax_plist_member):
8199         * fns.c (Fequal):
8200         * fns.c (Fold_equal):
8201         * fns.c (Frequire):
8202         * fns.c (Fbase64_encode_region):
8203         * fns.c (Fbase64_encode_string):
8204         * fns.c (Fbase64_decode_region):
8205         * frame.c:
8206         * frame.c (frame_matches_frame_spec):
8207         * frame.c (device_matches_device_spec):
8208         * frame.c (next_frame):
8209         * frame.c (previous_frame):
8210         * frame.c (Fnext_frame):
8211         * frame.c (Fprevious_frame):
8212         * frame.c (Fframe_property):
8213         * frame.c (Fset_frame_height):
8214         * frame.c (Fset_frame_size):
8215         * frame.h:
8216         * glyphs.c:
8217         * glyphs.c (if):
8218         * glyphs.c (decode_error_behavior_flag):
8219         * glyphs.c (Fmake_image_instance):
8220         * indent.c (Findent_to):
8221         * intl.c (Fignore_defer_gettext):
8222         * keymap.c (Fkeymapp):
8223         * keymap.c (Flookup_key):
8224         * lread.c:
8225         * lread.c (Fload_internal):
8226         * lread.c (Feval_buffer):
8227         * lread.c (Feval_region):
8228         * macros.c (Fexecute_kbd_macro):
8229         * marker.c (set_marker_internal):
8230         * marker.c (Fset_marker):
8231         * marker.c (set_marker_restricted):
8232         * marker.c (Fcopy_marker):
8233         * marker.c (noseeum_copy_marker):
8234         * menubar.c:
8235         * menubar.c (Fpopup_menu):
8236         * minibuf.c:
8237         * mule-charset.c (Fcharset_name):
8238         * mule-charset.c (Fchar_charset):
8239         * mule-charset.c (Fchar_octet):
8240         * mule-charset.c (Fsplit_char):
8241         * mule-wnnfns.c (Fwnn_open):
8242         * mule-wnnfns.c (Fwnn_dict_comment):
8243         * mule-wnnfns.c (Fwnn_quit_henkan):
8244         * mule-wnnfns.c (Fwnn_word_toroku):
8245         * mule-wnnfns.c (Fwnn_word_sakujo):
8246         * mule-wnnfns.c (Fwnn_word_use):
8247         * mule-wnnfns.c (Fwnn_hindo_set):
8248         * objects.c:
8249         * objects.c (Fmake_color_instance):
8250         * objects.c (Fmake_font_instance):
8251         * print.c (Fwrite_char):
8252         * process.c:
8253         * process.c (mark_process):
8254         * process.c (print_process):
8255         * process.c (get_process_from_usid):
8256         * process.c (Fprocessp):
8257         * process.c (Fprocess_live_p):
8258         * process.c (Fget_process):
8259         * process.c (Fget_buffer_process):
8260         * process.c (get_process):
8261         * process.c (Fprocess_id):
8262         * process.c (Fprocess_name):
8263         * process.c (Fprocess_command):
8264         * process.c (init_process_io_handles):
8265         * process.c (start_process_unwind):
8266         * process.c (Fstart_process_internal):
8267         * process.c (Fopen_multicast_group_internal):
8268         * process.c (Fset_process_window_size):
8269         * process.c (read_process_output):
8270         * process.c (send_process):
8271         * process.c (Fprocess_tty_name):
8272         * process.c (Fset_process_buffer):
8273         * process.c (Fprocess_buffer):
8274         * process.c (Fprocess_mark):
8275         * process.c (set_process_filter):
8276         * process.c (Fset_process_filter):
8277         * process.c (Fprocess_filter):
8278         * process.c (Fprocess_send_region):
8279         * process.c (Fprocess_send_string):
8280         * process.c (exec_sentinel):
8281         * process.c (Fset_process_sentinel):
8282         * process.c (Fprocess_sentinel):
8283         * process.c (status_notify):
8284         * process.c (Fprocess_status):
8285         * process.c (Fprocess_exit_status):
8286         * process.c (process_send_signal):
8287         * process.c (Fprocess_send_eof):
8288         * process.c (deactivate_process):
8289         * process.c (remove_process):
8290         * process.c (Fdelete_process):
8291         * process.c (kill_buffer_processes):
8292         * process.c (Fprocess_kill_without_query):
8293         * process.c (Fprocess_kill_without_query_p):
8294         * rangetab.c:
8295         * rangetab.c (Fget_range_table):
8296         * rangetab.c (Fput_range_table):
8297         * rangetab.c (Fremove_range_table):
8298         * rangetab.c (Fclear_range_table):
8299         * search.c:
8300         * search.c (Fskip_chars_forward):
8301         * search.c (Fskip_chars_backward):
8302         * search.c (Fskip_syntax_forward):
8303         * search.c (Fskip_syntax_backward):
8304         * search.c (search_command):
8305         * search.c (Freplace_match):
8306         * search.c (Fregexp_quote):
8307         * select.c (Fown_selection_internal):
8308         * select.c (Fselection_owner_p):
8309         * select.c (Fselection_exists_p):
8310         * select.c (Fget_selection_internal):
8311         * specifier.c:
8312         * symbols.c:
8313         * symbols.c (Fintern):
8314         * symbols.c (Fintern_soft):
8315         * symbols.c (Funintern):
8316         * symbols.c (Fapropos_internal):
8317         * symbols.c (Fset_default):
8318         * syntax.c:
8319         * syntax.c (Fsyntax_table_p):
8320         * syntax.c (Fcopy_syntax_table):
8321         * syntax.c (Fset_syntax_table):
8322         * syntax.c (Fchar_syntax):
8323         * syntax.c (syntax_match):
8324         * syntax.c (Fmatching_paren):
8325         * syntax.c (Fforward_word):
8326         * syntax.c (scan_lists):
8327         * syntax.c (Fscan_lists):
8328         * syntax.c (Fscan_sexps):
8329         * syntax.c (Fparse_partial_sexp):
8330         * toolbar.c (Fcheck_toolbar_button_syntax):
8331         * tooltalk.doc:
8332         * window.c:
8333         * window.c (Fwindowp):
8334         * window.c (Fwindow_live_p):
8335         * window.c (Fwindow_point):
8336         * window.c (Fdelete_window):
8337         * window.c (Fnext_window):
8338         * window.c (Fprevious_window):
8339         * window.c (Fother_window):
8340         * window.c (window_loop):
8341         * window.c (Fget_lru_window):
8342         * window.c (Fsplit_window):
8343         * window.c (Fenlarge_window):
8344         * window.c (Fenlarge_window_pixels):
8345         * window.c (Fshrink_window):
8346         * window.c (Fshrink_window_pixels):
8347         * window.c (change_window_height):
8348         * window.c (Fwindow_configuration_p):
8349         * window.c (Fcurrent_window_configuration):
8350         * window.h:
8351         * casefiddle.c (casify_object):
8352         * casefiddle.c (Fupcase):
8353         * casefiddle.c (Fdowncase):
8354         * casefiddle.c (Fcapitalize):
8355         * casefiddle.c (Fupcase_initials):
8356         * casefiddle.c (casify_region_internal):
8357         * casefiddle.c (casify_region):
8358         * casefiddle.c (Fupcase_region):
8359         * casefiddle.c (Fdowncase_region):
8360         * casefiddle.c (Fcapitalize_region):
8361         * casefiddle.c (Fupcase_initials_region):
8362         * casefiddle.c (Fupcase_word):
8363         * casefiddle.c (Fdowncase_word):
8364         * casefiddle.c (Fcapitalize_word):
8365         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8366         Replace 0 with '\0' when working with bytes.
8367         Replace initial "(" with "\(" in docstrings.
8368
8369 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8370
8371         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8372
8373         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8374
8375 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8376
8377         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8378
8379 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8380
8381         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8382         correctly.
8383
8384 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8385
8386         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8387         (inhibit_auto_save_session): New variable.
8388         (vars_of_fileio): Declare and initialize them.
8389         * fileio.c (Fdo_auto_save): Don't create session file if
8390         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
8391
8392 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8393
8394         * sgiplay.c (play_internal): C++ compilability.
8395         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
8396         * callproc.c (Fold_call_process_internal):
8397         Remove unused vars `env', `first'.
8398         * scrollbar.c (update_scrollbar_instance):
8399         #### unused var `current_window'.
8400         * redisplay-tty.c: Put currently unused vars insert_mode_on,
8401         etc. within #ifdef NOT_YET.
8402         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
8403         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
8404         * specifier.c (specifier_instance):
8405         #### unused var `tag'.
8406         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
8407
8408 2000-10-27  Martin Buchholz  <martin@xemacs.org>
8409
8410         * fns.c (Fbutlast):
8411         * fns.c (list_sort):
8412         * fns.c (Ffillarray):
8413         * fns.c (bytecode_nconc2):
8414         * fns.c (Fnconc):
8415         * fns.c (mapcar1):
8416         * fns.c (Fmapconcat):
8417         Be pedantically 64-bit correct.  For the time when someone will
8418         want to have a list with length > 2**32.
8419
8420         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
8421         Work around MIPSpro compiler bug.
8422
8423         * process-unix.c (unix_kill_child_process): Add snarky comment.
8424         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
8425
8426         * config.h.in: Oops, _getpt ==> _getpty
8427
8428 2000-10-26  Martin Buchholz  <martin@xemacs.org>
8429
8430         * config.h.in:
8431         * regex.c:
8432         Use void*, not char*, as return type of alloca().
8433
8434         * alloc.c (free_marker): Side effect inside assert expression!
8435
8436 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
8437
8438         * mule-charset.c (Fset_charset_ccl_program): To check
8439         if the given ccl program is valid, use setup_ccl_program()
8440         instead of CHECK_VECTOR().
8441         (Fmake_charset): Likewise.
8442
8443 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
8444
8445         * faces.c (get_extent_fragment_face_cache_index):
8446         Fix cachel.merged_faces memory leak.
8447
8448 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
8449
8450         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
8451         Reset MSB of octets obtained by DECODE_SJIS
8452         because of the incompatibility with Emacs.
8453         (ccl_driver)<CCL_ENCODE_SJIS>:
8454         Set MSB of octets before passing them to
8455         ENCODE_SJIS because of the incompatibility
8456         with Emacs.
8457
8458 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
8459
8460         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
8461         (DECLARE_LRECORD): Undo the last change.
8462         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
8463
8464 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
8465
8466         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
8467         the implementation to lrecord_implementations_table.
8468
8469 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
8470
8471         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
8472         initial value of `lrecord_type_##c_name' and
8473         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
8474         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
8475         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
8476         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
8477         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
8478
8479 2000-10-17  Martin Buchholz  <martin@xemacs.org>
8480
8481         * miscplay.c (sndcnv8S_2mono):
8482         (sndcnv2monounsigned):
8483         (sndcnvULaw_2linear):
8484         (sndcnv16swap):
8485         Remove implementation-defined behavior.
8486
8487 2000-10-12  Martin Buchholz  <martin@xemacs.org>
8488
8489         * input-method-xlib.c: Warning suppression.
8490
8491 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
8492
8493         * mule-ccl.c: Sync up with Emacs 21.0.90.
8494         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
8495         Do nothing.
8496         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
8497         Likewise.
8498         (ccl_driver[WriteMultibyteChar2]): Bug fix.
8499         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
8500         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
8501         leading char belongs to official 2-dimensional charset.
8502         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
8503         write the given character as is.  Otherwise,
8504         if it is a multibyte char, convert it by
8505         non_ascii_set_charptr_emchar, then write it.
8506         (CCL_WRITE_STRING): Likewise.
8507         (ccl_get_compiled_code): New function.
8508         (setup_ccl_program): When ccl_prog is invalid,
8509         return -1.
8510         (Fregister_code_conversion_map): New function.
8511         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
8512
8513         * mule-ccl.h: Sync up with Emacs 21.0.90.
8514         (Fregister_ccl_program): export it.
8515
8516         * redisplay-msw.c (separate_textual_runs):
8517         If ccl program is not valid, don't do ccl conversion.
8518
8519         * redisplay-x.c (separate_textual_runs): Ditto.
8520
8521         * file-coding.c (Fmake_coding_system):
8522         When type is ccl and value is vector, register it
8523         with a proper symbol.  And checks whether the
8524         given ccl program is valid.
8525         (mule_decode): When calling ccl_driver, if src indicates
8526         NULL pointer, set an empty string instead.
8527         (mule_encode): Likewise.
8528
8529 2000-10-11  Martin Buchholz  <martin@xemacs.org>
8530
8531         The following large batch of changes gets us back to a state of
8532         C++ compilability.  Extbyte is now a char, which means that
8533         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
8534
8535         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
8536
8537         * sound.c (Fplay_sound): Type correctness.
8538
8539         * select-x.c (hack_motif_clipboard_selection): Type correctness.
8540         (x_get_window_property): Type correctness.
8541         (receive_incremental_selection): unsigned char ==> Extbyte
8542         (selection_data_to_lisp_data): unsigned char ==> Extbyte
8543         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
8544         (Fx_store_cutbuffer_internal): Type correctness.
8545
8546         * process-unix.c (try_to_initialize_subtty): Type correctness.
8547
8548         * objects-x.c (x_print_color_instance): Type correctness.
8549         (x_print_font_instance): Type correctness.
8550         (x_list_fonts): SExtbyte ==> Extbyte.
8551         (valid_x_font_name_p): SExtbyte ==> Extbyte.
8552         (x_find_charset_font): SExtbyte ==> Extbyte.
8553         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
8554         (truename_via_XListFonts): SExtbyte ==> Extbyte.
8555         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
8556         Use bufbyte_strcmp.
8557
8558         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
8559         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
8560         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
8561         (BYTE_C0_P): Use bit ops for char-signedness safety.
8562         (BYTE_C1_P): Use bit ops for char-signedness safety.
8563         (CHARSET_BY_LEADING_BYTE):
8564         (CHARSET_BY_ATTRIBUTES):
8565         Always use inline function.
8566         Use type_checking_assert.
8567         Hide chlook.
8568
8569         * mule-charset.c (non_ascii_charptr_copy_char):
8570         Modify to work with both ASCII and non-ASCII characters.
8571         Improve docs and variable names.
8572         Replace over-clever fall-through switch with a simple loop.
8573         (Lstream_get_emchar_1):
8574         Replace over-clever fall-through switch with a simple loop.
8575
8576         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
8577         Warning suppression.
8578
8579         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
8580         the return value of Lstream_getc, which could be EOF as well.
8581
8582         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
8583
8584         * lisp.h: Make Extbyte a char, not unsigned char, so that external
8585         APIs can be used on Extbytes without casts.  Risky!
8586         (SExtbyte): Remove.
8587         (UExtbyte): Remove.
8588
8589         * input-method-xlib.c (XIM_init_device):
8590         Use Xlib.h instead of IntrinsicP.h.
8591         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
8592         which will break in X11R7.
8593         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
8594         to call XRegisterIMInstantiateCallback with correct types.
8595
8596         * gui-x.c (button_item_to_widget_value): Type correctness.
8597
8598         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
8599
8600         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
8601         (xbm_instantiate_1): Type correctness.
8602         (BUILD_GLYPH_INST):  Type correctness.
8603
8604         * fileio.c (Fsubstitute_in_file_name): Type correctness.
8605
8606         * file-coding.c:
8607         (decode_coding_sjis):
8608         (decode_coding_big5):
8609         (decode_coding_ucs4):
8610         (decode_coding_utf8):
8611         (decode_coding_iso2022):
8612         (decode_coding_no_conversion):
8613         Make all decoding functions take an Extbyte * arg.
8614         (encode_coding_sjis):
8615         (encode_coding_big5):
8616         (encode_coding_ucs4):
8617         (encode_coding_utf8):
8618         (encode_coding_iso2022):
8619         (encode_coding_no_conversion):
8620         Make all encoding functions take a Bufbyte * arg.
8621         Use size_t instead of unsigned int for memory sizes.
8622         Only cast to unsigned char whenever dereferencing Extbyte *.
8623
8624         * doc.c (unparesseuxify_doc_string): Type correctness.
8625
8626         * console-x.c (split_up_display_spec):
8627         Rewrite without using details of internal string representation.
8628         (x_semi_canonicalize_device_connection): Type correctness.
8629
8630         * config.h.in:
8631         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
8632         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
8633         (HAVE_XFREE386): Removed.
8634
8635         * buffer.h (DEC_CHARPTR): `const' correctness.
8636         (bufbyte_strcmp): New.
8637         (bufbyte_memcmp): New.
8638
8639         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
8640
8641         * buffer.h (XCHAR_OR_CHAR_INT):
8642         Always use inline function.
8643         Remove redundant type checking assert() - XINT will abort quite nicely.
8644
8645 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
8646
8647         * search.c (Freplace_match): Set newtext to an empty string.
8648
8649 2000-10-10  Martin Buchholz  <martin@xemacs.org>
8650
8651         * s/decosf1-3.h: Remove #include of stropts.h
8652         * s/ptx.h: Remove #include of stropts.h
8653         * s/usg5-4.h: Remove #include of stropts.h
8654         * sysproc.h:
8655         * config.h.in:
8656         Use stropts.h, not sys/stropts.h.
8657         Use strtio.h, not sys/strtio.h.
8658
8659 2000-10-04  Martin Buchholz <martin@xemacs.org>
8660
8661         * XEmacs 21.2.36 is released.
8662
8663 2000-09-21  Andy Piper  <andy@xemacs.org>
8664
8665         * glyphs-x.c (x_redisplay_widget): make sure non-structural
8666         changes still involve copying the widget tree.
8667         (update_widget_face): make sure a change is register in the widget
8668         tree. Call update_tab_widget_face appropriately.
8669         (update_tab_widget_face): ditto.
8670         (x_tab_control_redisplay): make sure non-structural changes still
8671         involve copying the widget tree.
8672
8673 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
8674
8675         * lread.c (locate_file): Check the path element is non-nil.
8676
8677 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8678
8679         * lisp.h: Warning suppression for SCO compilers.
8680
8681         * redisplay-tty.c (reset_tty_modes): Fix crash.
8682         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
8683
8684 2000-09-27  Martin Buchholz  <martin@xemacs.org>
8685
8686         Big signal/process handling overhaul.  Bugs fixed:
8687         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
8688         M-x comint-kill-subjob should work for both values nil and t of
8689         process-connection-type. It was broken on most platforms.
8690         Testing on Irix and Cygwin still needed.  Other plaforms tested.
8691         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
8692         * process-unix.c: Signal/Process handling overhaul.
8693         (pty_name): make 64 bytes, as `expect' does, for paranoia.
8694         (allocate_pty): Use all available modern methods of allocating
8695         ptys, falling back to old style BSD allocation as a last resort.
8696         Use allegedly more secure Unix98 pty allocation by default.
8697         (allocate_pty_the_old_fashioned_way): New. the last resort.
8698         (unix_create_process): Push ptem, ldterm, ttcompat where
8699         available.  Autoconfiscate.
8700         (try_to_initialize_subtty): New.
8701         (unix_kill_child_process): Proper signal handling for ptys on most
8702         platforms, using special knowledge of AIX, BSD, etc...
8703         (unix_create_process): Always disconnect_controlling_terminal() for
8704         subprocesses, whether using ptys or not.
8705         * process.h: Remove old getpt-dependent PTY code.
8706         * process.c (Fprocess_send_signal): New, obvious generic function.
8707         (decode_signal): New.
8708         (Finterrupt_process):
8709         (Fkill_process):
8710         (Fquit_process):
8711         (Fstop_process):
8712         (Fcontinue_process):
8713         (Fsignal_process): Use decode_signal.
8714         (process_send_signal):
8715         Many docstring corrections.
8716         Allow any signal to be sent to a process object.
8717         * config.h.in: Add symbols for big signal/process overhaul.
8718         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
8719         * sysproc.h: Include process-related headers, where available:
8720         sys/stropts.h sys/strtio.h pty.h libutil.h
8721         * s/irix4-0.h:
8722         * s/irix5-0.h:
8723         * s/cygwin32.h:
8724         * s/gnu.h:
8725         * s/linux.h:
8726         * s/hpux.h:
8727         * s/aix3-1.h:
8728         Remove old S&M pty stuff.
8729         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
8730         * systty.h: Simplify cpp hackery, improve comments.
8731         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
8732
8733         * editfns.c (Fformat_time_string):
8734         Be a little more paranoid with the return value of ctime.
8735
8736         * fileio.c (check_executable):
8737         (check_writable):
8738         Use symbolic constants X_OK, W_OK.
8739
8740         * console-x.c (split_up_display_spec): Fix a warning.
8741
8742 2000-10-02  Martin Buchholz  <martin@xemacs.org>
8743
8744         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
8745         * ntproc.c (sys_spawnve): make_string ==> build_string
8746         Small clarity improvements.
8747
8748 2000-09-30  Martin Buchholz  <martin@xemacs.org>
8749
8750         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
8751
8752         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
8753
8754         * config.h.in (HAVE_STRCASECMP): Remove.
8755
8756 2000-09-29  Martin Buchholz  <martin@xemacs.org>
8757
8758         * redisplay-output.c (redisplay_output_pixmap):
8759         Cleaner and possibly more 64-bit correct code.
8760
8761 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
8762
8763         * dumper.c (pdump_load_finish): move restoration of
8764         `noninteractive1' to emacs.c (main_1).
8765         * emacs.c (main_1): protect LISP-visible command-line flags
8766         from pdump_load().
8767
8768 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
8769
8770         * Makefile.in.in (versionclean):  Use EXE_TARGET and
8771         DUMP_TARGET instead of literal program names.
8772
8773 2000-09-20  Martin Buchholz  <martin@xemacs.org>
8774
8775         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
8776
8777 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8778
8779         * *: Spelling mega-patch
8780
8781 2000-09-19  Martin Buchholz  <martin@xemacs.org>
8782
8783         * fns.c (bad_bad_turtle):
8784         Delete "Eek!" comment, since we fixed the bug to which it refers.
8785
8786 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8787
8788         * alloca.c: Replace REGISTER with register.
8789
8790 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
8791
8792         * file-coding.c (ucs_to_char): Use countof.
8793
8794 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8795
8796         * file-coding.c: (ucs_to_char):
8797         (complex_vars_of_file_coding):
8798         Use countof instead of sizeof.
8799         Use CHECK_NATNUM instead of CHECK_INT.
8800
8801         * sysdep.c (strcasecmp): Remove.
8802         * device-x.c (ascii_strcasecmp): New.
8803         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
8804         Avoid using non-standard non-portable strcasecmp.
8805
8806 2000-09-16  Martin Buchholz  <martin@xemacs.org>
8807
8808         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
8809         * font-lock.c: remove reference to emacsfns.h.
8810         * search.c: small doc improvement.
8811         * event-Xt.c: correct file names in comments.
8812         * console-x.h Correct file names in comments.
8813         * frame.c: Correct file names in comments.
8814         * event-stream.c: remove Energize from comments.
8815
8816 2000-09-15  Martin Buchholz  <martin@xemacs.org>
8817
8818         * symeval.h (DEFERROR_STANDARD):
8819         (DEFERROR):
8820         (DEFSYMBOL):
8821         (DEFSYMBOL_NO_DUMP):
8822         (DEFSYMBOL_MULTIWORD_PREDICATE):
8823         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
8824         (DEFKEYWORD):
8825         The construct &##name is not sensible C.
8826         Fixes compilation errors with Unixware native compiler.
8827
8828 2000-09-14  Martin Buchholz  <martin@xemacs.org>
8829
8830         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
8831         (next_frame_internal): Removed.  We now just have next_frame.
8832         (next_frame):
8833         Write a simpler and cleaner one-pass algorithm.
8834         Remove called_from_delete_device arg and #ifdefed-out code.
8835         (previous_frame):
8836         Renamed from prev_frame.  Update callers.
8837         Cleaned up to have an analogous implementation to next_frame.
8838         (other_visible_frames_internal): Remove the
8839         called_from_delete_device bogus arg, and hence, remove this
8840         function.  Just use other_visible_frames().
8841
8842         * window.c (Fnext_window):
8843         Prettify docstring.
8844         Since next_frame() is guaranteed to return a frame, remove check
8845         for nil inserted in previous patch.
8846         (Fprevious_window):
8847         Prettify docstring.
8848         Make code look more like Fnext_window.
8849         (window_loop):
8850         Respect the `console' arg when iterating through windows.
8851         Fixes bug: (get-buffer-window buffer t device) not respecting
8852         the `device' arg.
8853         This function needs more work, as others have pointed out.
8854
8855         * frame.h: Rename prev_frame to previous_frame.
8856         device_matches_console_spec no longer takes a `frame' arg.
8857
8858         * s/gnu.h:
8859         * s/linux.h:
8860         * s/hpux.h:
8861         Use EMACS_BLOCK_SIGNAL instead of sigblock.
8862         From "Golubev I. N." <gin@mo.msk.ru>.
8863
8864         * make-src-depend: Fix typo.
8865
8866 2000-09-13  Martin Buchholz  <martin@xemacs.org>
8867
8868         * window.c (Fnext_window):
8869         next_frame() might return nil, not a frame.
8870         Fixes this crash:
8871         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8872
8873         * frame.c (next_frame_internal):
8874         We've passed a frame if we've passed its device.
8875         Fixes this crash:
8876         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
8877 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
8878
8879 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8880
8881         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
8882         Allow option to suppress accelerators in menu/dialog items.
8883         (populate_or_checksum_helper): Pass dialog title through above.
8884
8885 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
8886
8887         * event-msw.c (mswindows_key_to_emacs_keysym):
8888         Add "pause" key, fix "menu" key.
8889
8890 2000-09-09  Martin Buchholz  <martin@xemacs.org>
8891
8892         * eval.c (reinit_vars_of_eval):
8893         Increase max_lisp_eval_depth to 1000,
8894         required for thai-xtis.el to byte-compile under some circumstances.
8895
8896 2000-09-04  Martin Buchholz  <martin@xemacs.org>
8897
8898         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
8899         From Kenichi Handa.
8900
8901 2000-09-01  Martin Buchholz  <martin@xemacs.org>
8902
8903         * make-src-depend: Make the generated Makefiles smaller.
8904
8905         * s/hpux.h (SETUP_SLAVE_PTY):
8906         Provide a %d in the format string for the errno argument.
8907
8908         * editfns.c (Ftemp_directory):
8909         Warning fix.
8910         Avoid buffer overrun on very long file name.
8911
8912         * input-method-xlib.c (XIM_init_device):
8913         6th parameter of XRegisterIMInstantiateCallback has different
8914         pointer types on different OSes, so simply cast to (void *).
8915
8916         * unexhp9k800.c: Warning fixes.  Fiddly changes.
8917
8918         * sysdll.c (dll_open):
8919         shl_load will hang hard if passed a NULL filename.
8920         Simply return NULL for compatibility with dlopen.
8921         * sysdll.c: Conform to XEmacs coding standards.
8922
8923         * sysdep.c (get_pty_max_bytes):
8924         Support pty input lines longer than 512 bytes on HP-UX 10.20.
8925
8926 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8927
8928         * tooltalk.c: Add #include <syssignal.h>
8929
8930 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
8931
8932         * s/hpux.h: Don't use undefined function sigunblock().
8933
8934 2000-08-31  Martin Buchholz  <martin@xemacs.org>
8935
8936         * config.h.in: Add HAVE_BALLOON_HELP.
8937         * emacs.c: Use HAVE_BALLOON_HELP.
8938         * Makefile.in.in (x_objs):
8939         Make Balloon Help conditional on finding shape.h.
8940
8941 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
8942
8943         * syntax.c (regex_emacs_buffer_p): New variable.
8944         * syntax.h (regex_emacs_buffer_p): extern.
8945         * search.c (looking_at_1):
8946         (string_match_1):
8947         (fast_string_match):
8948         (search_buffer): Set regex_emacs_buffer_p.
8949         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
8950         when before_dot, at_dot, after_dot.
8951
8952 2000-08-23  Andy Piper  <andy@xemacs.org>
8953
8954         * gui-x.c (popup_selection_callback): Only set action_occurred
8955         when we really have an image instance.
8956         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
8957
8958 2000-08-23  Andy Piper  <andy@xemacs.org>
8959
8960         * gui-msw.c (mswindows_handle_gui_wm_command): set
8961         action_occurred.
8962         * gui-x.c (popup_selection_callback): ditto.
8963
8964         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
8965         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
8966         (struct Lisp_Image_Instance): add action_occurred flag.
8967
8968         * glyphs.c (redisplay_subwindow): use action_occurred flag.
8969         (image_instance_changed): ditto.
8970         (reset_frame_subwindow_instance_cache): only unmap windows - do
8971         not remove them from the cache also.
8972
8973         * glyphs-widget.c (tab_control_update): better debug.
8974         (progress_gauge_update): ditto.
8975         (layout_update): ditto.
8976         (layout_instantiate): ditto.
8977         (tab_control_order_only_changed): cope with null pending items.
8978
8979         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
8980         debug. Force selection of an item when an action occurred. Cope
8981         with null pending_items.
8982         (mswindows_progress_gauge_redisplay): better debug.
8983         * glyphs-x.c (x_tab_control_redisplay): ditto.
8984
8985         * redisplay.c (redisplay_frame): reset the frame cache if the
8986         frame is garbaged.
8987
8988         * window.c (Fset_window_configuration): potentially re-enable
8989         frame cache reset.
8990         (window_unmap_subwindows): need to finalize instances here since
8991         it is only used in mark_window_as_deleted.
8992
8993 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
8994
8995         * nas.c (SndOpenDataForReading):
8996         nas.c (WaveOpenDataForReading):
8997         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
8998         Somehow escaped from the 2000-08-14 patch.
8999
9000 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9001
9002         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9003         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9004
9005 2000-08-21  Andy Piper  <andy@xemacs.org>
9006
9007         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9008         window if it is not already displayed.
9009
9010         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9011         it is not already displayed.
9012
9013         * window.c (Fset_window_configuration): don't reset the frame
9014         cache.
9015
9016         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9017         instances from the frame cache if we are actually finalizing them.
9018         (reset_frame_subwindow_instance_cache): reset frame cache only
9019         after unmapping everything.
9020         (map_subwindow): set displayed flag after mapping.
9021
9022 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9023
9024         * data.c (indirect_function):
9025         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9026
9027         * eval.c (function_argcount):
9028         Use original function when signaling errors.
9029
9030 2000-08-18  Andy Piper  <andy@xemacs.org>
9031
9032         * frame.c (delete_frame_internal): use new
9033         free_frame_subwindow_instances name.
9034
9035         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9036         (add_tab_item): make return type correct.
9037         (mswindows_tab_control_instantiate): assert index of tab.
9038         (mswindows_tab_control_redisplay): Re-code to use
9039         gui_item_equal_sans_selected and gui_item_list_find_selected.
9040
9041         * glyphs-widget.c (tab_control_update): Correct comment.
9042
9043         * window.c (window_unmap_subwindows): use new
9044         unmap_subwindow_instance_cache_mapper.
9045         (window_unmap_subwindows_cache_mapper): deleted.
9046         (Fset_window_configuration): comparisons should now be with
9047         EQ. Preserve the subwindow instance cache across configuration
9048         changes.
9049         (allocate_window): ditto.
9050         (make_dummy_parent): ditto.
9051
9052         * glyphs.c (free_frame_subwindow_instances): rename from
9053         free_frame_subwindow_instance_cache. finalize all instances rather
9054         than just those in the display cache.
9055         (finalize_all_subwindow_instances): walk windows unmapping and
9056         finalizing subwindows.
9057         (unmap_subwindow_instance_cache_mapper): moved from
9058         window.c. Allow finalization as well as unmapping.
9059
9060         * gui.c (gui_item_list_find_selected): new function.
9061
9062         * gui.h (gui_item_list_find_selected): declare.
9063
9064         * glyphs-x.c (x_tab_control_redisplay): pick tab
9065         explicitly. Re-code to use gui_item_equal_sans_selected and
9066         gui_item_list_find_selected.
9067
9068         * glyphs-x.h: add lwlib-utils.h
9069
9070         * buffer.c (Frecord_buffer): undo previous change.
9071
9072 2000-08-09  Vin Shelton  <acs@xemacs.org>
9073
9074         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9075         possible.  Create temporary files more securely.  The patch was
9076         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9077         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9078         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9079         for details.
9080
9081 2000-08-07  Ben Wing  <ben@xemacs.org>
9082
9083         * getloadavg.c: remove duplicate (and windows-breaking)
9084         includes of fcntl.h and sys/file.h.
9085
9086         * nt.c: remove duplicate getloadavg() definition.
9087
9088         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9089         encodings.
9090
9091 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9092
9093         * eval.c (function_argcount): If function needs to be autoloaded
9094         actually use the loaded definition.
9095         GCPRO function.
9096
9097 2000-08-05  Ben Wing  <ben@xemacs.org>
9098
9099         * getloadavg.c: add prototype for getloadavg().  remove
9100         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9101         of the code).  remove duplicate header includes.
9102
9103         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9104
9105         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9106         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9107         useful load average.
9108
9109         * alloc.c (reinit_alloc_once_early): removed references to
9110         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9111         the lisp vars are the only things referencing the malloc_sbrk_*
9112         vars, and they were already if 0'd out.  these vars only exist
9113         in the older malloc.c, which is basically unused, and they're
9114         only for informational purposes.
9115
9116         * m\*.h: removed useless VIRT_ADDR_VARIES.
9117
9118         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9119
9120 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9121
9122         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9123         color if the image is a mono pixmap.
9124
9125 2000-07-30  Ben Wing  <ben@xemacs.org>
9126
9127         * Makefile.in.in (release):
9128         Remove stray @.
9129
9130         * buffer.c (directory_is_current_directory):
9131         * dired-msw.c (mswindows_get_files):
9132         * dired.c:
9133         * dired.c (Fdirectory_files):
9134         * dired.c (file_name_completion_stat):
9135         * dired.c (Ffile_attributes):
9136         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9137         preprocessor tricks, to avoid problems on some machines
9138         (e.g. SCO).
9139
9140         * callproc.c (egetenv): GC docs.
9141
9142         * console-msw.h:
9143         * console-msw.h (struct mswindows_dialog_id):
9144         * lrecord.h (lrecord_type):
9145         New object for use with MSW dialogs.
9146
9147         * console.h (struct console_methods):
9148         New enable/disable frame methods, for proper modal dialogs.
9149
9150         * device-msw.c (msprinter_default_printer): Fix to follow
9151         proper Mule conventions.
9152
9153         * device-msw.c:
9154         * device-msw.c (signal_open_printer_error):
9155         * device-msw.c (msprinter_init_device):
9156         * device-msw.c (ensure_not_printing):
9157         * device-msw.c (plist_get_margin):
9158         * device-msw.c (Fmsprinter_select_settings):
9159         * device-msw.c (finalize_devmode):
9160         * device-msw.c (Fmsprinter_settings_despecialize):
9161         * device-msw.c (signal_enum_priner_error):
9162         * extents.c (decode_extent):
9163         * extents.c (decode_map_extents_flags):
9164         * extents.c (decode_extent_at_flag):
9165         * extents.c (Fextent_at):
9166         * extents.c (Fextents_at):
9167         * extents.c (symbol_to_glyph_layout):
9168         [[[[2]]]] Use structured errors.
9169
9170         * dialog-msw.c:
9171         * dialog-msw.c (mswindows_is_dialog_msg):
9172         * dialog-msw.c (mark_mswindows_dialog_id):
9173         * dialog-msw.c (dialog_proc):
9174         * dialog-msw.c (handle_question_dialog_box):
9175         * dialog-msw.c (syms_of_dialog_mswindows):
9176         Define new object to clean up marking; use it as a dialog identifier.
9177         Call new delete-dialog-box-hook.
9178
9179         * dialog-x.c (dbox_selection_callback):
9180         * dialog-x.c (dbox_descriptor_to_widget_value):
9181         * dialog-x.c (x_make_dialog_box_internal):
9182         Call new delete-dialog-box-hook.
9183         Return an id.
9184
9185         * dialog.c:
9186         * dialog.c (syms_of_dialog):
9187         * dialog.c (vars_of_dialog):
9188         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9189
9190         * eval.c:
9191         * eval.c (signal_call_debugger):
9192         when noninteractive, output stack traces on the console instead
9193         of in a (never-seen) buffer.
9194
9195         * eval.c (signal_type_error):
9196         * eval.c (invalid_argument_2):
9197         * lisp.h:
9198         new funs for use w/structured errors.
9199
9200         * event-Xt.c:
9201         * event-Xt.c (x_to_emacs_keysym):
9202         * event-Xt.c (describe_event):
9203         * event-Xt.c (emacs_Xt_event_handler):
9204         * event-Xt.c (vars_of_event_Xt):
9205         * event-msw.c:
9206         * event-msw.c (mswindows_wnd_proc):
9207         * event-msw.c (vars_of_event_mswindows):
9208         rename {x,mswindows}-debug-events to debug-{}-events for
9209         consistency with other debug-foo variables.
9210
9211         * event-stream.c:
9212         document next-event more clearly.
9213
9214         * fileio.c (Ffile_name_directory):
9215         * fileio.c (Ffile_name_nondirectory):
9216         * fileio.c (Funhandled_file_name_directory):
9217         * fileio.c (file_name_as_directory):
9218         * fileio.c (Ffile_name_as_directory):
9219         * fileio.c (directory_file_name):
9220         * fileio.c (Fdirectory_file_name):
9221         * fileio.c (Fmake_temp_name):
9222         * fileio.c (Ffile_truename):
9223         * fileio.c (Fsubstitute_in_file_name):
9224         * fileio.c (expand_and_dir_to_file):
9225         * fileio.c (barf_or_query_if_file_exists):
9226         * fileio.c (check_executable):
9227         * fileio.c (Ffile_exists_p):
9228         * fileio.c (Ffile_writable_p):
9229         * fileio.c (Ffile_directory_p):
9230         * fileio.c (Ffile_regular_p):
9231         * fileio.c (Ffile_modes):
9232         * fileio.c (Ffile_newer_than_file_p):
9233         * fileio.c (Fverify_visited_file_modtime):
9234         * fileio.c (Fset_visited_file_modtime):
9235         * fileio.c (auto_save_1):
9236         (1). (2).
9237         fix up gcpro's.
9238
9239         * frame-msw.c:
9240         * frame-msw.c (mswindows_init_frame_1):
9241         * frame-msw.c (mswindows_enable_frame):
9242         * frame-msw.c (error_frame_unsizable):
9243         * frame-msw.c (msprinter_init_frame_1):
9244         * frame-msw.c (msprinter_init_frame_3):
9245         * frame-msw.c (console_type_create_frame_mswindows):
9246         (2).
9247         implement new enable/disable frame methods.
9248
9249         * frame-x.c:
9250         * frame-x.c (x_enable_frame):
9251         * frame-x.c (console_type_create_frame_x):
9252         implement new enable/disable frame methods.
9253
9254         * frame.c:
9255         * frame.c (Fdisable_frame):
9256         * frame.c (syms_of_frame):
9257         * frame.h (struct frame):
9258         implement new enable/disable frame methods/functions.
9259
9260         * general-slots.h:
9261         add initial-focus.
9262
9263         * glyphs-msw.c (mswindows_widget_instantiate):
9264         comment that initial-focus should be implemented.
9265
9266         * glyphs-widget.c:
9267         * glyphs-widget.c (check_valid_instantiator):
9268         * glyphs-widget.c (check_valid_orientation):
9269         * glyphs-widget.c (check_valid_tab_orientation):
9270         * glyphs-widget.c (check_valid_justification):
9271         * glyphs-widget.c (check_valid_border):
9272         * glyphs-widget.c (check_valid_callback):
9273         * glyphs-widget.c (check_valid_int_or_function):
9274         * glyphs-widget.c (check_valid_string_or_vector):
9275         * glyphs-widget.c (check_valid_item_list_1):
9276         * glyphs-widget.c (widget_validate):
9277         * glyphs-widget.c (combo_box_validate):
9278         * glyphs-widget.c (widget_instantiate):
9279         * glyphs-widget.c (syms_of_glyphs_widget):
9280         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9281         * glyphs-widget.c (image_instantiator_combo_box):
9282         * glyphs-widget.c (image_instantiator_scrollbar):
9283         * glyphs-widget.c (image_instantiator_tab_control):
9284         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9285         (2).
9286         support (unimplemented) keyword initial-focus.
9287         reindent long macros.
9288
9289         * glyphs-x.c (x_redisplay_widget):
9290         * glyphs-x.c (x_button_instantiate):
9291         * glyphs-x.c (x_button_redisplay):
9292         * glyphs-x.c (x_progress_gauge_instantiate):
9293         * glyphs-x.c (x_edit_field_instantiate):
9294         * glyphs-x.c (x_combo_box_instantiate):
9295         * glyphs-x.c (x_tab_control_instantiate):
9296         * glyphs-x.c (x_label_instantiate):
9297         * gui-x.c:
9298         * gui-x.c (button_item_to_widget_value):
9299         * gui-x.c (gui_items_to_widget_values_1):
9300         * gui-x.c (gui_item_children_to_widget_values):
9301         * gui-x.c (gui_items_to_widget_values):
9302         * gui-x.h:
9303         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9304         add new flag to gui-parsing routines to indicate whether
9305         accelerator specs should be supported.
9306
9307         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9308
9309         * glyphs.h (struct Lisp_Image_Instance):
9310         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9311         add initial-focus flag.
9312
9313         * gui.c:
9314         * gui.c (syms_of_gui):
9315         * gui.c (vars_of_gui):
9316         clean up menu-no-selection-hook.
9317
9318         * gui.h:
9319         support delete-dialog-box-hook.
9320
9321         * lread.c (Fload_internal):
9322         * lread.c (locate_file_in_directory_mapper):
9323         (1).
9324
9325         * lrecord.h:
9326         * lrecord.h (struct toolbar_button):
9327         * lrecord.h (syms_of_toolbar):
9328         document how to create a new object.
9329
9330         * menubar-msw.c (mswindows_char_is_accelerator):
9331         may be called on frames w/o menus.
9332
9333         * menubar.c (vars_of_menubar):
9334         clean up :filter docs.
9335
9336         * nt.c (readdir):
9337         * ntproc.c:
9338         (1).
9339
9340         * process-nt.c:
9341         * process-nt.c (validate_signal_number):
9342         * process-nt.c (signal_cannot_launch):
9343         * process-nt.c (nt_create_process):
9344         * process-nt.c (nt_send_process):
9345         * process-nt.c (nt_kill_child_process):
9346         * process-nt.c (nt_open_network_stream):
9347         * process-nt.c (syms_of_process_nt):
9348         (2).
9349         delete quote-handling.  call new lisp code that does it better.
9350
9351         * process-unix.c (connect_to_file_descriptor):
9352         * process-unix.c (allocate_pty):
9353         * process-unix.c (unix_send_process):
9354         * process-unix.c (unix_kill_child_process):
9355         * process-unix.c (unix_open_network_stream):
9356         * process-unix.c (unix_open_multicast_group):
9357         (1). (2).
9358
9359         * process.c:
9360         * process.c (Fstart_process_internal):
9361         (2).  need to canonicalize process path even if absolute.
9362
9363         * select-msw.c (symbol_to_ms_cf):
9364         * select-msw.c (ms_cf_to_symbol):
9365         * select-msw.c (cf_is_autofreed):
9366         * select-msw.c (mswindows_destroy_selection):
9367         * select.c:
9368         * select.c (syms_of_select):
9369         * select.h:
9370         support dibv5, fix bugs. (from Mike Alexander)
9371
9372         * select.c (Fget_selection_internal):
9373         * select.c (select_convert_out):
9374
9375         * sysdep.c:
9376         * sysdep.c (xemacs_stat):
9377         renamed.
9378
9379         * sysdep.c (mkdir):
9380         * sysdep.c (rmdir):
9381         but keep original stat() here because we provide encapsulation
9382         around these funs.
9383
9384         * sysfile.h:
9385         * sysfile.h (fstat):
9386         remove stat garbage.
9387
9388         * syswindows.h:
9389         fix X/MSW conflict.
9390         don't include tchar.h.  it's inappropriate because it makes
9391         compile-time distinctions when we want runtime distinctions.
9392         (we provide our own tchar replacements)
9393
9394         * toolbar.c:
9395         use default object printer for toolbar-button.
9396
9397         * unexcw.c:
9398         make sure we don't encapsulate.
9399
9400         * window.c (vars_of_window):
9401         emphasize that temp-buffer-show-hook is obsolete.
9402
9403 2000-08-05  Martin Buchholz  <martin@xemacs.org>
9404
9405         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
9406         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
9407
9408         * events.c (Fevent_timestamp_lessp):
9409         Not 64-bit clean.  Use EMACS_INT, not int.
9410
9411 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
9412
9413         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
9414         unsigned int and changed the last enum to
9415         lrecord_type_last_built_in_type.
9416         (lrecord_implementations_table): changed prototype to know how
9417         long the array is supposed to be.
9418         (lrecord_type_count): new unsigned int to keep track of the
9419         current number of lisp lrecord types.
9420         (DEFINE_EXTERNAL_LRECORD):
9421         (DECLARE_EXTERNAL_LRECORD): Added these two for external
9422         dynamic-modules to declare new lisp types. They are the same
9423         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
9424         int for each new type, and increment lrecord_type_count by 1.
9425
9426         * alloc.c (lrecord_implementations_table): Changed to reference
9427         lrecord_type_last_built_in_type for the size of the array.
9428         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
9429
9430 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9431
9432         * glyphs.h (check_valid_item_list): Renamed from
9433         check_valid_item_list_1.
9434
9435 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
9436
9437         * select.c (Qselect_coerce): New.
9438         * select.c (Vselection_coercion_alist): New.
9439         * select.c (syms_of_select): Declare.
9440         * select.c (get-selection-internal): Use it.
9441         Use the new select-coerce functionality.
9442
9443         * select.c (select_coerce): New.
9444         * select.h (select_coerce): Declare.
9445         New function to coerce one type of data into another.
9446
9447 2000-08-03  Martin Buchholz  <martin@xemacs.org>
9448
9449         * callproc.c (Fcall_process_internal):
9450         (Fcall_process_internal):
9451         * process-unix.c (unix_create_process):
9452         Save and restore the value of errno, so that error messages are accurate.
9453
9454 2000-08-01  Martin Buchholz  <martin@xemacs.org>
9455
9456         * elhash.c (print_hash_table):
9457         Fix printing of hash tables to also use `key-and-value' instead of `t'.
9458         Prettify docstrings and indentation.
9459
9460 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
9461
9462         * window.c (Fwindow_pixel_edges): Subtract frame border and
9463         gutter size.
9464
9465 2000-07-31  Andy Piper  <andy@xemacs.org>
9466
9467         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
9468         will acknowledge the change.
9469
9470         * glyphs.h: declare tab_control_order_only_changed.
9471
9472         * glyphs-x.c (x_tab_control_redisplay): use
9473         tab_control_order_only_changed.
9474
9475         * glyphs-widget.c (tab_control_order_only_changed): new function.
9476
9477         * glyphs-msw.c (mswindows_tab_control_redisplay): use
9478         tab_control_order_only_changed.
9479
9480         * gui.c (gui_item_equal_sans_selected): new function.
9481         (gui_item_equal): use it.
9482
9483         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
9484         :properties in favor of :items..
9485
9486         * glyphs-widget.c (check_valid_item_list): rename from
9487         check_valid_item_list_1.
9488         (check_valid_item_list_1): renamed.
9489         (combo_box_validate): deprecate :properties in favor of :items.
9490         (widget_instantiate): ditto.
9491         (tab_control_update): ditto.
9492         (image_instantiator_combo_box): ditto.
9493         (image_instantiator_tree_view): ditto.
9494         (image_instantiator_tab_control): ditto.
9495         (layout_post_instantiate): remove dead code.
9496
9497         * print.c (debug_print_no_newline): only write to debugger if in
9498         WIN32_NATIVE.
9499
9500         * elhash.c (Fmake_hash_table): update doc string.
9501
9502         * event-msw.c (mswindows_wnd_proc): don't allow processing of
9503         messages whilst in GC. This at least stops XEmacs crashing but has
9504         the potential for wierd behaviour.
9505
9506 2000-07-31  Martin Buchholz  <martin@xemacs.org>
9507
9508         * config.h.in:
9509         Make existence of s&m files optional.
9510
9511         * s/bsd386.h: Remove HAVE_GETLOADAVG.
9512         * s/freebsd.h: Remove HAVE_GETLOADAVG.
9513         * s/gnu.h: Remove HAVE_GETLOADAVG.
9514         * s/netbsd.h: Remove HAVE_GETLOADAVG.
9515         * s/sol2.h: Remove HAVE_GETLOADAVG.
9516         * lisp.h: Remove getloadavg() declaration.
9517         * fns.c:
9518         Include <sys/loadavg.h> if available.
9519         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
9520         * config.h.in:  Group together getloadavg()-related macros.
9521         Use only configure-time tests to detect getloadavg().
9522
9523 2000-07-30  Martin Buchholz  <martin@xemacs.org>
9524
9525         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
9526
9527 2000-07-25  Andy Piper  <andy@xemacs.org>
9528
9529         * syswindows.h: add tchar.h for native builds.
9530
9531         * frame.c (syms_of_frame): remove set-glyph-image.
9532
9533         * general-slots.h: add Qset_glyph_image.
9534
9535         * glyphs-widget.c (layout_update): add domain arg to
9536         set-glyph-image.
9537         (syms_of_glyphs_widget): remove set-glyph-image.
9538
9539 2000-07-23  Ben Wing  <ben@xemacs.org>
9540
9541         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
9542         Vpopup_frame_list.
9543
9544 2000-07-22  Andy Piper  <andy@xemacs.org>
9545
9546         * symsinit.h: add syms_of_win32().
9547
9548         * gui-msw.c (syms_of_gui_mswindows): remove
9549         Fmswindows_shell_execute.
9550         (Fmswindows_shell_execute): moved to win32.c.
9551
9552         * emacs.c (main_1): add syms_of_win32 ().
9553
9554         * win32.c (init_potentially_nonexistent_functions): rewrite in
9555         compiler-friendly terms.
9556         (Fmswindows_shell_execute): move here from gui-msw.c.
9557         (syms_of_win32): new.
9558
9559         * device-msw.c (Fmswindows_printer_list): clean up args to
9560         EnumPrinters.
9561         Don't include tchar under cygwin or mingw.
9562         (msprinter_default_printer): make cygwin-friendly.
9563
9564 2000-07-21  Andy Piper  <andy@xemacs.org>
9565
9566         * glyphs-widget.c (image_instantiator_tree_view): use tab
9567         control's update function.
9568         (layout_property): new function. Retrieve items.
9569
9570         * glyphs-msw.c (mswindows_tree_view_redisplay): new
9571         function. Re-populate the tree view from the pending items.
9572
9573         * glyphs.c (instantiate_image_instantiator): Make sure the domain
9574         is designated the parent if the domain is an image instance. This
9575         is needed so that dirtiness can be cascade up the hierarchy and
9576         thus for layout children to be redisplayed correctly.
9577         (allocate_image_instance): rename glyph -> parent.
9578
9579         * redisplay.h: change redisplay_output_layout signature.
9580
9581         * redisplay-msw.c (mswindows_output_display_block): use domain
9582         arg.
9583
9584         * redisplay-x.c (x_output_display_block): use domain arg.
9585
9586 2000-07-10  Andy Piper  <andy@xemacs.org>
9587
9588         * window.c (Fset_window_configuration): add comment.
9589
9590         * redisplay-output.c (compare_runes):
9591         (redisplay_output_subwindow): redisplay rather than update subwindow.
9592         (redisplay_output_layout): ditto.
9593
9594         * redisplay-msw.c (mswindows_frame_output_end):
9595         (mswindows_frame_output_end): make defer window pos optional.
9596
9597         * lisp.h: add Flast.
9598
9599         * glyphs.h (struct image_instantiator_methods): add dest_mask top
9600         normalize method. Change update method to be for changed
9601         instantiators. Add redisplay method. Change signature of layout
9602         method.
9603         (struct Lisp_Image_Instance): add instantiator.
9604         (IMAGE_INSTANCE_INSTANTIATOR): new.
9605         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
9606         (XIMAGE_INSTANCE_INSTANTIATOR): new.
9607         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
9608
9609         * glyphs.c:
9610         (find_instantiator_differences): new function.
9611         (Fset_instantiator_property): new convenience function.
9612         (check_image_instance_structure): strictly check for vector
9613         instantiators.
9614         (normalize_image_instantiator): make non-static.
9615         (instantiate_image_instantiator): pass on dest_mask and use new
9616         signatures for image_instance_layout and friends.
9617         (mark_image_instance): mark the instantiator. Mark the subwindow
9618         face not the widget face.
9619         (image_instance_equal): add instantiator.
9620         (image_instance_hash): ditto.
9621         (allocate_image_instance): ditto.
9622         (Fset_image_instance_property): removed.
9623         (Fimage_instance_file_name): ditto.
9624         (Fcolorize_image_instance): ditto.
9625         (image_instance_layout): add offsets to be set.
9626         (update_image_instance): new function. update an image instance
9627         from its changed instantiator.
9628         (inherit_normalize): add dest_mask.
9629         (xbm_normalize): ditto.
9630         (xface_normalize): ditto.
9631         (xpm_normalize): ditto.
9632         (text_update): set_property -> update.
9633         (image_instantiate): use the glyph identity as a hash key, not the
9634         instantiator.
9635         (glyph_width): use new image_instance_layout signature.
9636         (glyph_ascent): ditto.
9637         (glyph_descent): ditto.
9638         (glyph_height): ditto.
9639         (glyph_query_geometry): ressurrect.
9640         (glyph_layout): ditto.
9641         (redisplay_subwindow): update -> redisplay.
9642         (syms_of_glyphs): add Fset_instantiator_property.
9643         (image_instantiator_format_create): set_property -> update.
9644
9645         * glyphs-x.c:
9646         (autodetect_normalize): add dest_maks to signature.
9647         (x_redisplay_subwindow): update -> redisplay.
9648         (x_redisplay_widget): ditto.
9649         (x_button_redisplay): ditto.
9650         (x_progress_gauge_redisplay): ditto.
9651         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
9652         stacking order.
9653         (console_type_create_glyphs_x): update -> redisplay.
9654         (image_instantiator_format_create_glyphs_x): ditto.
9655
9656         * glyphs-widget.c:
9657         (check_valid_instantiator): disallow glyphs in the instantiator,
9658         they must now be vectors.
9659         (check_valid_instantiator_list): ditto.
9660         (glyph_instantiator_to_glyph): use internal symbol rather than
9661         intern.
9662         (widget_update): renamed from widget_set_property. Call cascaded
9663         update methods.
9664         (redisplay_widget): renamed from update_widget.
9665         (widget_layout): image_instance_layout now takes position as well
9666         as size.
9667         (widget_normalize): ditto.
9668         (widget_instantiate): ditto.
9669         (tab_control_query_geometry) ditto.:
9670         (tab_control_update): renamed from tab_control_set_property.
9671         (progress_gauge_update): set_property -> update.
9672         (layout_normalize): rewrite so that child instantiators are
9673         normalized also.
9674         (layout_update): new function. Create glyphs from the normalized
9675         children and cope with any other layout keywords. We do not
9676         instantiate children here that will be take care of by
9677         redisplay_output_layout.
9678         (layout_instantiate): call layout_update and not much else.
9679         (layout_post_instantiate): not sure whether this is needed
9680         anymore.
9681         (layout_query_geometry): query glyph geometry rather than
9682         image_instance geometry.
9683         (layout_layout): set offsets from pass in parameters. Use glyph
9684         geometry and layout functions rather than image instance ones.
9685         (native_layout_layout): ditto.
9686         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
9687         (image_instantiator_widget): set_property -> update.
9688         (image_instantiator_buttons): ditto.
9689         (image_instantiator_progress_guage): ditto.
9690         (image_instantiator_tab_control): ditto.
9691         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
9692         (image_instantiator_layout): add update method.
9693
9694         * glyphs-msw.c (bmp_normalize):
9695         (mswindows_resource_normalize): add dest_mask so that it can be
9696         proprogated by layout_normalize.
9697         (begin_defer_window_pos): make optional because it may not be the
9698         right thing to do and it introduces differences with X.
9699         (mswindows_unmap_subwindow): ditto.
9700         (mswindows_map_subwindow): ditto.
9701         (mswindows_redisplay_subwindow): renamed from
9702         mswindows_update_subwindow.
9703         (mswindows_redisplay_widget): ditto.
9704         (mswindows_button_redisplay): renamed from
9705         mswindows_button_update. Update is now what the instantiation
9706         function does for a changed instantiator.
9707         (mswindows_progress_gauge_instantiate): set the progress value
9708         here if appropriate.
9709         (mswindows_tab_control_redisplay): cope with re-ordering of the
9710         members of the tab widget by simply selecting the new top
9711         widget. This makes things appear ok if you click on a tab.
9712         (mswindows_combo_box_instantiate): image_instance_layout now takes
9713         position as well as size.
9714         (mswindows_progress_gauge_redisplay): renamed from
9715         mswindows_progress_gauge_update.
9716         (console_type_create_glyphs_mswindows): fix update -> redisplay.
9717         (image_instantiator_format_create_glyphs_mswindows): ditto.
9718
9719         * glyphs-eimage.c (jpeg_normalize):
9720         (gif_normalize):
9721         (png_normalize):
9722         (tiff_normalize): add dest_mask so that it can be proprogated by
9723         layout_normalize.
9724
9725         * elhash.c:
9726         (print_hash_table):
9727         (hash_table_weakness_validate):
9728         (decode_hash_table_weakness):
9729         (Fhash_table_weakness):
9730         (Fhash_table_type):
9731         (syms_of_elhash): use Ben's naming scheme for hashtable types..
9732
9733         * console.h (struct console_methods): move update_* to
9734         redisplay_*.
9735
9736 2000-07-20  Ben Wing  <ben@xemacs.org>
9737
9738         * *.[ch] (XSETOBJ): remove unused middle argument.
9739         lisp-disunion.h: correct wrap_object() to one argument.
9740
9741 2000-07-15  Ben Wing  <ben@xemacs.org>
9742
9743         * s/cygwin32.h:
9744         * s/cygwin32.h (CYGWIN_CONV_PATH):
9745         Add missing logb prototype for v1.1.
9746         Use post-b20 names and alias to pre-b20 names when pre-b20.
9747
9748         * s/windowsnt.h: [5].
9749
9750 2000-07-15  Ben Wing  <ben@xemacs.org>
9751
9752         * Makefile.in.in (x_objs):
9753         * Makefile.in.in (sheap_objs):
9754         * Makefile.in.in (objs):
9755         added win32.o, cosmetic cleanups.
9756
9757         * alloc.c (Fmake_byte_code):
9758         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
9759         etc. macros which declare their own args now.
9760
9761         * alloc.c (syms_of_alloc):
9762         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
9763
9764         * buffer.c:
9765         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
9766
9767         * buffer.c (Fget_file_buffer):
9768         Fixed GCPRO problem.
9769
9770         * buffer.c (get_truename_buffer):
9771         Fixed comment about GC checking.
9772
9773         * buffer.c (syms_of_buffer):
9774         Undeclared those dedicated frame funs.
9775         [2].
9776
9777         * buffer.h:
9778         Define convenience macros for internal/external conversions.
9779         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
9780         and Qenvironment_variable_encoding for cleaner code.
9781
9782         * bufslots.h:
9783         Remove dedicated-frame; in lisp.
9784
9785         * bytecode.c (funcall_compiled_function):
9786         [1].
9787
9788         * bytecode.c (syms_of_bytecode):
9789         [2].
9790
9791         * console-msw.c:
9792         * console-msw.c (mswindows_show_console): Rewrote.
9793
9794         * console-msw.c (Fmswindows_debugging_output): New.
9795         Sends to OutputDebugString (special MSWin debugger interface).
9796
9797         * console-msw.c (Fmswindows_message_box):
9798         Fixed stupid bugs so it works when called from kill-emacs.
9799
9800         * console-msw.c (syms_of_console_mswindows):
9801         Declare Fmswindows_debugging_output.
9802
9803         * console-msw.h:
9804         New MSWin prototypes.
9805
9806         * console-msw.h (struct mswindows_frame):
9807         New entry last-click-mods for improved button-modifier support.
9808
9809         * console-msw.h (FRAME_MSWINDOWS_POPUP):
9810         New struct entry `popup' with corresponding accessor.
9811
9812         * console-x.c:
9813         * console-x.c (split_up_display_spec):
9814         * console-x.c (get_display_arg_connection):
9815         * console-x.c (x_semi_canonicalize_console_connection):
9816         * console-x.c (x_canonicalize_device_connection):
9817         [[[6]]]: Change char to more specific type.
9818         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
9819
9820         * console-x.c (x_semi_canonicalize_console_connection):
9821         * console-x.c (x_canonicalize_device_connection):
9822         [[[9]]]: Fix up error signalling to use new structured error system.
9823
9824         * console-x.h:
9825         [[[4]]]: Define codesys aliases:
9826         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
9827         Qx_color_name_encoding, Qx_display_name_encoding.
9828
9829         * console.h (struct console_methods):
9830         New method make_dialog_box_internal supersedes older
9831         popup_dialog_box method.
9832
9833         * data.c:
9834         Define many new errors, part of new structured errors.
9835
9836         * data.c (init_errors_once_early):
9837         * data.c (syms_of_data):
9838         [2].
9839
9840         * device-msw.c (mswindows_init_device):
9841         [[[5]]]: Cleanup to support NT 3.51.
9842
9843         * device-msw.c (decode_devmode): Cleanup.
9844
9845         * device-msw.c (mswindows_handle_print_setup_dialog_box):
9846         * device-msw.c (mswindows_handle_print_dialog_box):
9847         * device-msw.c (mswindows_handle_page_setup_dialog_box):
9848         * device-msw.c (syms_of_device_mswindows):
9849         Delete the dialog box primitives recently introduced by Kirill and
9850         instead interface to general dialog box interface.
9851
9852         * device-x.c:
9853         * device-x.c (compute_x_app_name):
9854         * device-x.c (x_init_device):
9855         * device-x.c (Fx_valid_keysym_name_p):
9856         * device-x.c (Fx_set_font_path):
9857         [6].
9858         [7].
9859
9860         * device.h (wrap_device): New.
9861         First of its kind; meant to replace XSETDEVICE.
9862
9863         * dialog-msw.c: Many file-dialog symbols.
9864
9865         * dialog-msw.c (mswindows_register_popup_frame): New.
9866         * dialog-msw.c (mswindows_is_dialog_msg): New.
9867         For supporting kbd traversal in dialog boxes.
9868
9869         * dialog-msw.c (dialog_proc):
9870         Support hitting ESC in dialogs.
9871
9872         * dialog-msw.c (struct):
9873         Common dialog box errors.
9874
9875         * dialog-msw.c (handle_file_dialog_box): New.
9876         Add file dialog code.
9877
9878         * dialog-msw.c (handle_question_dialog_box):
9879         Redo existing code to support new question dialog syntax.
9880
9881         * dialog-msw.c (console_type_create_dialog_mswindows):
9882         We support new dialog console method.
9883
9884         * dialog-msw.c (syms_of_dialog_mswindows):
9885         * dialog-msw.c (vars_of_dialog_mswindows):
9886         New file dialog symbols, vars.
9887
9888         * dialog-x.c:
9889         * dialog-x.c (maybe_run_dbox_text_callback):
9890         * dialog-x.c (dbox_descriptor_to_widget_value):
9891         * dialog-x.c (x_make_dialog_box_internal):
9892         * dialog-x.c (console_type_create_dialog_x):
9893         Mule-ize entire file.
9894         Redo to support question dialog syntax.
9895         [6].
9896
9897         * dialog.c:
9898         * dialog.c (Fmake_dialog_box_internal):
9899         * dialog.c (syms_of_dialog):
9900         Kill old popup-dialog-box, replace with new primitive.
9901         Just call device method or signal error.
9902
9903         * eldap.c (Fldap_open):
9904         * eldap.c (Fldap_search_basic):
9905         * eldap.c (Fldap_add):
9906         * eldap.c (Fldap_modify):
9907         [1].
9908         [7].
9909
9910         * emacs.c:
9911         * emacs.c (make_arg_list_1):
9912         * emacs.c (make_arg_list):
9913         Mule-ize call to dll_init().
9914         [6].
9915         [8].
9916
9917         * emacs.c (make_argc_argv):
9918         * emacs.c (free_argc_argv):
9919         * emacs.c (init_cmdargs):
9920         * emacs.c (main_1):
9921         * emacs.c (Fkill_emacs):
9922         * emacs.c (Fdump_emacs):
9923         Update comments about what can be used in syms_* etc.
9924         Call init_win32() when necessary.
9925         Fix up MS Win dialog box in kill-buffer to actually work right.
9926         [7].
9927
9928         * eval.c:
9929         * eval.c (For):
9930         * eval.c (Fand):
9931         * eval.c (Fprogn):
9932         * eval.c (Fprog1):
9933         * eval.c (Fprog2):
9934         * eval.c (FletX):
9935         * eval.c (Flet):
9936         * eval.c (condition_case_3):
9937         * eval.c (Feval):
9938         * eval.c (function_argcount):
9939         * eval.c (funcall_lambda):
9940         [1].
9941
9942         * eval.c (type_error): New.
9943         * eval.c (maybe_type_error): New.
9944         * eval.c (continuable_type_error): New.
9945         * eval.c (maybe_continuable_type_error): New.
9946         * eval.c (type_error_with_frob): New.
9947         * eval.c (maybe_type_error_with_frob): New.
9948         * eval.c (continuable_type_error_with_frob): New.
9949         * eval.c (maybe_continuable_type_error_with_frob): New.
9950         New functions for use with structured errors.
9951
9952         * event-Xt.c:
9953         * event-Xt.c (x_event_to_emacs_event):
9954         Buttons are now modifiers too.
9955
9956         * event-Xt.c (emacs_Xt_current_event_timestamp):
9957         Implement new event method.
9958         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
9959
9960         * event-msw.c:
9961         * event-msw.c (ntpipe_shove_writer): [5].
9962         * event-msw.c (mswindows_enqueue_mouse_button_event):
9963         * event-msw.c (mswindows_drain_windows_queue):
9964         * event-msw.c (mswindows_wnd_proc): [7].
9965         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
9966         * event-msw.c (mswindows_modifier_state):
9967         Throughout: support new button modifiers.
9968
9969         * event-msw.c (emacs_mswindows_current_event_timestamp):
9970         Implement new event method.
9971         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
9972
9973         * event-stream.c:
9974         * event-stream.c (event_stream_current_event_timestamp): New.
9975         * event-stream.c (maybe_kbd_translate): New functionality.
9976         * event-stream.c (vars_of_event_stream):
9977         Document new kbd-translate-table functionality.
9978
9979         * event-stream.c (Fcurrent_event_timestamp): New.
9980         New primitive for use in fabricated events.
9981         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
9982
9983         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
9984
9985         * events.c:
9986         * events.c (Fmake_event):
9987         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
9988         [1].
9989         [9].
9990
9991         * events.c (format_event_object): fix gcc warnings.
9992
9993         * events.c (Fevent_timestamp): Document new primitives.
9994
9995         * events.c (TIMESTAMP_HALFSPACE): New.
9996
9997         * events.c (Fevent_timestamp_lessp): New.  New primitive for
9998         comparing timestamps correctly (half-space algorithm).
9999
10000         * events.c (Fevent_modifier_bits): Doc fix.
10001
10002         * events.c (Fevent_modifiers): Major doc addition.
10003         * events.c (event_x_y_pixel_internal): Typo fix.
10004         * events.c (syms_of_events): Declare new primitives.
10005
10006         * events.h:
10007         Update long comment for button modifiers, timestamps.
10008
10009         * events.h (struct event_stream):
10010         New current_event_timestamp method.
10011
10012         * extents.c:
10013         * extents.c (extent_in_region_p):
10014         * extents.c (decode_extent):
10015         * extents.c (Fset_extent_parent):
10016         * extents.c (decode_map_extents_flags):
10017         Fix gcc warnings.
10018         [9].
10019
10020         * extents.c (struct extent_at_arg):
10021         * extents.c (decode_extent_at_flag):
10022         * extents.c (extent_at_mapper):
10023         * extents.c (extent_at_bytind):
10024         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10025         * extents.c (Fextents_at): New primitive. [9].
10026         * extents.c (symbol_to_glyph_layout): [9].
10027         Support new primitive `extents-at'.
10028
10029
10030         * extents.c (get_text_property_bytind):
10031         extent_at_bytind has another arg.
10032         [9].
10033
10034         * extents.c (syms_of_extents): New primitive.
10035
10036         * file-coding.c (Fmake_coding_system): [1].
10037         * file-coding.c (subsidiary_coding_system): fix gcc warning
10038         * file-coding.c (syms_of_file_coding): [2].
10039
10040         * fileio.c (Fexpand_file_name):
10041         * fileio.c (Fsysnetunam):
10042         * fileio.c (Ffile_exists_p):
10043         * fileio.c (Ffile_executable_p):
10044         * fileio.c (Fverify_visited_file_modtime):
10045         Clean up GCPROing.
10046
10047         * fileio.c (syms_of_fileio): [2].
10048
10049         * filelock.c (lock_file_1):
10050         * filelock.c (current_lock_owner):
10051         * filelock.c (lock_if_free):
10052         * filelock.c (lock_file):
10053         * filelock.c (unlock_file):
10054         Clean up GCPROing.
10055
10056         * fns.c (concat): Fix gcc warning.
10057
10058         * fns.c (Fmember):
10059         * fns.c (Fold_member):
10060         * fns.c (Fmemq):
10061         * fns.c (Fold_memq):
10062         * fns.c (memq_no_quit):
10063         * fns.c (Fassoc):
10064         * fns.c (Fold_assoc):
10065         * fns.c (Fassq):
10066         * fns.c (Fold_assq):
10067         * fns.c (assq_no_quit):
10068         * fns.c (Frassoc):
10069         * fns.c (Fold_rassoc):
10070         * fns.c (Frassq):
10071         * fns.c (Fold_rassq):
10072         * fns.c (rassq_no_quit):
10073         * fns.c (Fdelete):
10074         * fns.c (Fold_delete):
10075         * fns.c (Fdelq):
10076         * fns.c (Fold_delq):
10077         * fns.c (delq_no_quit):
10078         * fns.c (Fremassoc):
10079         * fns.c (Fremassq):
10080         * fns.c (remassq_no_quit):
10081         * fns.c (Fremrassoc):
10082         * fns.c (Fremrassq):
10083         * fns.c (remrassq_no_quit):
10084         * fns.c (Freverse):
10085         * fns.c (mapcar1):
10086         [1].
10087
10088         * frame-msw.c (mswindows_init_frame_1):
10089         * frame-msw.c (mswindows_delete_frame):
10090         Register popups with dialog code so keyboard traversing works.
10091
10092         * frame-tty.c (tty_raise_frame_no_select): [1].
10093
10094         * frame-x.c:
10095         * frame-x.c (x_set_frame_text_value):
10096         * frame-x.c (x_set_frame_properties):
10097         * frame-x.c (x_create_widgets):
10098         [7].
10099
10100         * frame.c:
10101         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10102
10103         * frame.h (wrap_frame): New.
10104         Macro like wrap_device.
10105
10106         * general.c:
10107         * general.c (SYMBOL):
10108         * general.c (syms_of_general):
10109         Major reorg.  This is now just a wrapper and symbols themselves
10110         are listed in general-slots.h.
10111
10112         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10113         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10114
10115         * glyphs-msw.c (mswindows_native_layout_instantiate):
10116         Add DS_CONTROL so keyboard traversal will work.
10117
10118         * glyphs-widget.c:
10119         * glyphs-widget.c (syms_of_glyphs_widget):
10120         Move some symbols to general-slots.h.
10121
10122         * glyphs-x.c:
10123         * glyphs-x.c (xbm_instantiate_1):
10124         * glyphs-x.c (x_xbm_instantiate):
10125         * glyphs-x.c (x_xface_instantiate):
10126         * glyphs-x.c (autodetect_instantiate):
10127         * glyphs-x.c (cursor_font_instantiate):
10128         * glyphs-x.c (x_update_widget):
10129         * glyphs-x.c (x_widget_instantiate):
10130         * glyphs.c (bitmap_to_lisp_data):
10131         * glyphs.c (pixmap_to_lisp_data):
10132         [7].
10133
10134         * glyphs.c (syms_of_glyphs):
10135         [2].
10136
10137         * gui-x.c:
10138         * gui-x.c (print_widget_value):
10139         * gui-x.c (menu_separator_style_and_to_external):
10140         * gui-x.c (add_accel_and_to_external):
10141         * gui-x.c (button_item_to_widget_value):
10142         * gui-x.c (gui_items_to_widget_values_1):
10143         * gui-x.c (gui_items_to_widget_values):
10144         * gui-x.c (syms_of_gui_x):
10145         * gui-x.c (vars_of_gui_x):
10146         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10147         [9].
10148
10149         * gui-x.h:
10150         Muleize, prototype changes matching gui-x.c.
10151
10152         * gui.c:
10153         * gui.c (separator_string_p):
10154         * gui.c (gui_item_add_keyval_pair):
10155         * gui.c (make_gui_item_from_keywords_internal):
10156         * gui.c (signal_too_long_error):
10157         * gui.c (parse_gui_item_tree_item):
10158         * gui.c (syms_of_gui):
10159         * gui.c (vars_of_gui):
10160         * gui.h:
10161         menu-no-selection-hook moved here (used by MSWin).
10162         Move some symbols to general-slots.h.
10163         [6].
10164         [9].
10165
10166         * insdel.c (get_buffer_pos_char):
10167         * insdel.c (get_buffer_range_char):
10168         Add GC comments.
10169
10170         * keymap.c (keymap_lookup_directly):
10171         * keymap.c (keymap_store):
10172         * keymap.c (ensure_meta_prefix_char_keymapp):
10173         * keymap.c (describe_map):
10174         * keymap.h:
10175         Support new button modifiers.
10176
10177         * lisp-disunion.h (wrap_object):
10178         * lisp-disunion.h (XSETOBJ):
10179         Rename make_obj to wrap_object.
10180
10181         * lisp-union.h:
10182         * lisp-union.h (make_int):
10183         * lisp-union.h (make_char):
10184         Support wrap_object.
10185
10186         * lisp.h:
10187         * lisp.h (LIST_LOOP):
10188         * lisp.h (EXTERNAL_LIST_LOOP):
10189         * lisp.h (LIST_LOOP_2):
10190         * lisp.h (EXTERNAL_LIST_LOOP_1):
10191         * lisp.h (EXTERNAL_LIST_LOOP_2):
10192         * lisp.h (EXTERNAL_LIST_LOOP_3):
10193         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10194         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10195         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10196         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10197         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10198         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10199         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10200         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10201         * lisp.h (struct Lisp_Symbol):
10202         * lisp.h (maybe_continuable_error_with_frob):
10203         Fix up section comments.
10204         Add new types for char to indicate usage.
10205         Delete symbols auto-generated from general-slots.h.
10206         Add prototypes for structured error functions.
10207         Add long comments describing looping macros and change interface
10208         so that lvalues are automatically declared.
10209         Add NO_DECLARE macro in case callers want to declare lvalues
10210         themselves.
10211
10212         * lread.c (read_syntax_error):
10213         * lread.c (continuable_read_syntax_error):
10214         * lread.c (read_structure):
10215         * lread.c (sequence_reader):
10216         * lread.c (read_list_conser):
10217         * lread.c (read_compiled_function):
10218         Rename syntax_error and continuable_syntax_error to avoid clash
10219         with same-named structured error functions.
10220
10221         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10222         * menubar-msw.c (populate_menu_add_item):
10223         * menubar-msw.c (populate_or_checksum_helper):
10224         [5].
10225         [9].
10226
10227         * menubar-x.c:
10228         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10229         Mule-ize whole file.
10230
10231         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10232
10233         * mule-charset.c (Fmake_charset):
10234         * mule-wnnfns.c (Fwnn_set_param):
10235         [1].
10236
10237         * ntproc.c (create_child):
10238         * ntproc.c (Fwin32_set_current_locale):
10239         Add comments portending doom.
10240
10241         * objects-msw.c:
10242         * objects-msw.c (old_font_enum_callback_2):
10243         * objects-msw.c (font_enum_callback_1):
10244         * objects-msw.c (mswindows_enumerate_fonts):
10245         [5].
10246
10247         * objects-x.c:
10248         * objects-x.c (allocate_nearest_color):
10249         * objects-x.c (x_parse_nearest_color):
10250         * objects-x.c (x_initialize_color_instance):
10251         * objects-x.c (x_print_color_instance):
10252         * objects-x.c (x_finalize_color_instance):
10253         * objects-x.c (x_valid_color_name_p):
10254         * objects-x.c (x_initialize_font_instance):
10255         * objects-x.c (x_print_font_instance):
10256         * objects-x.c (valid_x_font_name_p):
10257         * objects-x.c (truename_via_FONT_prop):
10258         * objects-x.c (truename_via_random_props):
10259         * objects-x.c (truename_via_XListFonts):
10260         * objects-x.c (x_font_truename):
10261         * objects-x.c (x_font_instance_truename):
10262         * objects-x.c (x_font_instance_properties):
10263         * objects-x.c (x_list_fonts):
10264         * objects-x.c (x_find_charset_font):
10265         Mule-ize entire file.
10266         [7].
10267
10268         * objects-x.h:
10269         Mule-verify.
10270
10271         * print.c:
10272         * print.c (std_handle_out_external):
10273         * print.c (debug_print_no_newline):
10274         * print.c (syms_of_print):
10275         Output to all debugger kinds in debug-print.
10276         Fix console-output code under MSWin to actually work.
10277
10278         * process-nt.c (send_signal):
10279         * process-nt.c (nt_create_process):
10280         Use newer Unicode macros.
10281
10282         * process-unix.c (unix_create_process):
10283         * process-unix.c (unix_canonicalize_host_name):
10284         * process-unix.c (unix_open_network_stream):
10285         [7].
10286
10287         * scrollbar-x.c:
10288         Mule-verify.
10289
10290         * search.c (syms_of_search):
10291         [2].
10292
10293         * select-msw.c (mswindows_destroy_selection):
10294         Use LIST_LOOP_2.
10295
10296         * select-x.c (symbol_to_x_atom):
10297         [7].
10298
10299         * select.c (syms_of_select):
10300         [2].
10301
10302         * sound.c (Fplay_sound_file):
10303         [7].
10304
10305         * specifier.c:
10306         * specifier.c (decode_specifier_type):
10307         * specifier.c (Fvalid_specifier_locale_type_p):
10308         * specifier.c (check_valid_locale_or_locale_type):
10309         * specifier.c (decode_locale):
10310         * specifier.c (decode_locale_type):
10311         * specifier.c (decode_locale_list):
10312         * specifier.c (check_valid_domain):
10313         * specifier.c (decode_specifier_tag_set):
10314         * specifier.c (Fcanonicalize_tag_set):
10315         * specifier.c (Fdefine_specifier_tag):
10316         * specifier.c (Fspecifier_tag_predicate):
10317         * specifier.c (check_valid_inst_list):
10318         * specifier.c (check_valid_spec_list):
10319         * specifier.c (decode_how_to_add_specification):
10320         * specifier.c (check_modifiable_specifier):
10321         * specifier.c (specifier_add_spec):
10322         * specifier.c (boolean_validate):
10323         * specifier.c (display_table_validate):
10324         [9].
10325
10326         * specifier.c (syms_of_specifier):
10327         Move some symbols to general-slots.h.
10328         [2].
10329
10330         * symbols.c:
10331         * symbols.c (Fmapatoms):
10332         * symbols.c (Fapropos_internal):
10333         Add GCPROs.
10334
10335         * symbols.c (set_default_buffer_slot_variable):
10336         * symbols.c (set_default_console_slot_variable):
10337         [1].
10338
10339         * symbols.c (defsymbol_massage_name_1):
10340         * symbols.c (defkeyword_massage_name):
10341         * symbols.c (deferror_1):
10342         * symbols.c (deferror):
10343         * symbols.c (deferror_massage_name_and_message):
10344         * symeval.h:
10345         * symeval.h (DEFSYMBOL):
10346         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10347
10348         * symbols.c (syms_of_symbols):
10349         [2].
10350
10351         * symsinit.h:
10352         * symsinit.h (init_win32): New.
10353         Also new is syms_of_dialog_mswindows.
10354
10355         * syswindows.h:
10356         Add new Unicode macros, missing Cygwin wide-char functions,
10357         convenience conversion macros for Qmswindows_tstr, macros for
10358         encapsulating required MSWin <-> Cygwin filename conversions,
10359         prototype for dynamically-extracted (not in NT 3.51) functions.
10360
10361         * toolbar-x.c:
10362         Mule-verify.
10363
10364         * tooltalk.c (Fadd_tooltalk_message_arg):
10365         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10366         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10367         [7].
10368
10369         * tooltalk.c (syms_of_tooltalk):
10370         [2].
10371
10372         * unexnt.c:
10373         * unexnt.c (unexec):
10374         Fix up headers, declaration of unexec() to be more standard.
10375
10376 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10377
10378         * offix.h: Revert change to guard macros - they're used in offix.c!
10379
10380 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10381
10382         * lisp.h: Defsubred Fdelete.
10383
10384         * console-msw.h:  (msprinter_default_printer): Added.
10385
10386         * console-msw.c (msprinter_canonicalize_console_connection):
10387         (msprinter_canonicalize_device_connection): Added.
10388
10389         * device-msw.c (msprinter_default_printer):
10390         (Fmswingows_get_default_printer):
10391         (signal_enum_priner_error):
10392         (Fmswingows_printer_list): Added.
10393
10394 2000-07-19  Martin Buchholz <martin@xemacs.org>
10395
10396         * XEmacs 21.2.35 is released.
10397
10398 2000-07-19  Martin Buchholz  <martin@xemacs.org>
10399
10400         * select-x.c (x_handle_selection_request):
10401         Text selected in xemacs and pasted into xterm failed to appear.
10402         Spelling fixes and cosmetic changes.
10403
10404 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10405
10406         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
10407         XEmacs frame (fix for doubling chars in dialog boxes).
10408
10409 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10410
10411         * select.c (select_convert_in, select_convert_out):
10412         Don't call intern() every time.
10413
10414         * select.c (Qselect_convert_in, Qselect_convert_out): New.
10415         * select.c (vars_of_select): Initialise them.
10416
10417 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10418
10419         * select.c (selection-coercible-types): New.
10420
10421         * select.c (own-selection-internal):
10422         * select.c (get-selection-internal):
10423         MULE bug fix - these should default to COMPOUND_TEXT and not
10424         STRING for MULE. I think.
10425
10426         * select.c (select_convert_out): Use selection-coercible-types
10427         to find types that we can attempt to perform coercions on.
10428
10429 2000-07-18  Martin Buchholz  <martin@xemacs.org>
10430
10431         * mule-wnnfns.c:
10432         * mule-canna.c:
10433         Add coding: cookie to identify encoding.
10434
10435         * mule-canna.c (CANNA_mode_keys): make static.
10436         Use proper prototypes, even for functions of no arguments.
10437         Remove external prototype for Fding().
10438
10439         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
10440
10441         * select.c (syms_of_select): Add missing DEFSUBR.
10442
10443 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
10444
10445         * select.c (get_selection_internal, own_selection_internal):
10446         Make the type default to STRING, rather than placing a nil type
10447         into Vselection_alist.
10448
10449 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
10450
10451         * gpmevent.c (tty_selection_exists_p):
10452         * gpmevent.c (tty_own_selection):
10453         Updated parameter lists.
10454
10455 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
10456
10457         * select.h (selection-alist): Removed declaration.
10458
10459         * select.h (get_local_selection):
10460         * select.c (get_local_selection):
10461         Made static.
10462
10463         * select.h (convert_selection): Removed declaration.
10464         * select.c (convert_selection): Removed.
10465         This function belongs in Lisp.
10466
10467         * select.h (select_convert_in): Declare.
10468         * select.h (select_convert_out): Declare.
10469         * select.c (select_convert_in): New.
10470         * select.c (select_convert_out): New.
10471         New conversion functions for other files to call.
10472
10473         * select.h (select_notify_buffer_kill): Declare.
10474         * select.c (select_notify_buffer_kill): New.
10475         New functions that get called from kill-buffer.
10476
10477         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
10478         X-specific lisp code.
10479
10480         * select.h: Declare some of the lisp-visible functions for
10481         external use.
10482
10483         * select.c (clean_local_selection_data): Removed. This was
10484         a disgusting function, and previously should have been in
10485         select-x.c in any case. The functionality is now provided
10486         in select-convert-from-integer (select.el).
10487
10488         * select.c (available-selection-types): Fixed stupidity where
10489         INTEGER and ATOM got added twice. Also add STRING when we see an
10490         extent.
10491
10492         * select.c (get-selection-internal): Removed symbol stripping. No
10493         longer causes conversion when data comes from the internal cache.
10494
10495         * select.c (syms_of_select): Added new functions.
10496
10497         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
10498         error checking - previously this called abort!
10499
10500         * select-x.c (x_own_selection): Changed comment.
10501
10502         * select-x.c (x_handle_selection_request): Use select_convert_out.
10503         Don't mess with selection-alist; it's an internal variable of select.c.
10504
10505         * select-x.c (x_get_foreign_selection): Use select_convert_in.
10506
10507         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
10508         rather than messing with selection-alist.
10509
10510         * select-msw.c (mswindows_get_foreign_selection):
10511         Use TO_INTERNAL_FORMAT rather than hacking.
10512
10513 2000-07-14  Martin Buchholz  <martin@xemacs.org>
10514
10515         * process-unix.c (unix_open_multicast_group):
10516         (unix_open_multicast_group): Remove useless casts.
10517
10518 2000-07-13  Martin Buchholz  <martin@xemacs.org>
10519
10520         * sound.c (Fplay_sound): Fix `unused variable' warning.
10521
10522         * emacs.c (main): Use correct type for _environ on SCO5.
10523
10524 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
10525
10526         * console.h (own_selection_method):
10527         * console.h (selection_exists_p_method):
10528         * console.h (available_selection_types_method): New.
10529         * console.h (register_selection_data_type_method): New.
10530         * console.h (selection_data_type_name): New.
10531
10532         * console-msw.h (mswindows_destroy_selection): Declare it.  New
10533         function & alist to track GlobalAlloc()'d handles that need
10534         releasing when the clipboard data gets replaced or emptied.
10535
10536         * event-msw.c (mswindows_wnd_proc): Call it.
10537
10538         * lisp.h, general.c (Qappend): New symbol representing a
10539         `how-to-add' mode.
10540
10541         * select.c (own-selection-internal):
10542         * select.c (selection-exists-p):
10543         * select.c (available-selection-types): New.
10544         * select.c (register-selection-data-type): New.
10545         * select.c (selection-data-type-name): New.  New functions to deal
10546         with device-specific selection data formats.
10547         * select.c (selection-converter-out-alist): Renamed.
10548         * select.c (selection-converter-in-alist): New.
10549         * select.c (selection-appender-alist): New.  Added new alists.
10550         * select.c (syms_of_select, vars_of_select): Added new symbols &
10551         variables.
10552         * select.c (get_local_selection): Split.
10553         * select.c: Removed spurious type checking - selections may now be
10554         of any type, not just strings.
10555         * select.c (own-selection-internal):
10556
10557         * select.h, select.c (convert_selection): New. Created
10558         convert_selection() function based on get_local_selection().
10559         * select.h, select.c (QCF_*): New symbols representing mswindows
10560         clipboard formats.
10561         * select.h, select.c (Qreplace_all, Qreplace_existing): New
10562         symbols representing `how-to-add' modes.
10563
10564         * select-msw.c (x_sym_p): New.
10565         * select-msw.c (symbol_to_ms_cf): New.
10566         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
10567         symbols & clipboard formats. Can also handle string names.
10568         * select-msw.c (mswindows_own_selection):
10569         * select-msw.c (mswindows_selection_exists_p):
10570         Added `data-type' parameter. Use it.
10571         * select-msw.c (mswindows_available_selection_types): New.
10572         * select-msw.c (mswindows_register_selection_data_type): New.
10573         * select-msw.c (mswindows_selection_data_type_name): New.
10574         * select-msw.c (mswindows_own_selection):
10575         * select-msw.c (mswindows_get_foreign_selection):
10576         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
10577         * select-msw.c (console_create_select_mswindows): Added new methods.
10578         * select-msw.c (mswindows_destroy_selection): New.
10579         * select-msw.c (Vhandle_alist): New list.
10580         * select-msw.c (mswindows_own_selection):
10581
10582         * select-x.c (x_own_selection):
10583         * select-x.c (x_selection_exists_p):
10584         * select-x.c: Added some comments about maybe using new
10585         functionality.
10586         * select-x.c (x_own_selection):
10587
10588         * specifier.c: Remove definition of Qappend (now in general.c)
10589         * specifier.c (syms_of_specifier): Remove Qappend.
10590
10591 2000-07-12  Martin Buchholz  <martin@xemacs.org>
10592
10593         * config.h.in: Add socklen_t.
10594
10595         * s/decosf4-0.h: No special compiler flags needed or desired.
10596         In particular, undefine _BSD for DEC OSF 4.0.
10597
10598 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10599
10600         * redisplay-msw.c (msprinter_frame_output_end): Added.
10601         (console_type_create_redisplay_mswindows): Referred the above.
10602
10603         * frame.c (setup_frame_without_minibuffer): Do not create a
10604         default minibuffer frame on a printer device.
10605
10606         * frame-msw.c (apply_dc_geometry): Added.
10607         (msprinter_start_page):
10608         (msprinter_init_frame_3):
10609         (msprinter_eject_page): Use it.
10610
10611         * console-msw.h (struct msprinter_frame): Added pix_left and top,
10612         and removed residual duplex and orientation properties.
10613
10614 2000-07-11  Martin Buchholz  <martin@xemacs.org>
10615
10616         * eval.c (function_argcount): Work around a DEC CC compiler bug.
10617
10618         * unexalpha.c: Remove system prototypes from C sources!
10619
10620 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
10621
10622         * eval.c: Remove references to M-x edit-options in DEFUNs for
10623         `defvar' and `defconst'.
10624
10625 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10626
10627         * config.h.in: Remove SMART_INCLUDE hackery.
10628
10629         PostgreSQL hacking:
10630         * config.h.in: Don't use SMART_INCLUDE.
10631
10632         * postgresql.h: Include libpq-fe.h here.  Fix typo.
10633         * inline.c: Simply #include "postgresql.h"
10634         * postgresql.c:
10635         - Don't use SMART_INCLUDE
10636         - Use simply "const".
10637         - Use standard doc string conventions.
10638         - Use correct type for result of PQstatus.
10639
10640 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10641
10642         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
10643
10644         C++ compilation changes.
10645         * config.h.in (EXTERN_C): Define.
10646         * config.h.in (not): This is also a C++ keyword.
10647         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
10648         * cm.c: Use EXTERN_C.
10649         * redisplay-tty.c: Use EXTERN_C.
10650         * sysdep.c: Use EXTERN_C.  Remove Gould support.
10651
10652 2000-07-09  Martin Buchholz  <martin@xemacs.org>
10653
10654         * general.c: Remove duplicate definition for Qfunction.
10655
10656 2000-07-08  Ben Wing  <ben@xemacs.org>
10657
10658         * device-msw.c (msprinter_init_device):
10659         * device-msw.c (sync_printer_with_devmode):
10660         * device-msw.c (handle_devmode_changes):
10661         * device-msw.c (print_dialog_worker):
10662         * device-msw.c (Fmsprinter_apply_settings):
10663         * device-msw.c (hash_devmode):
10664         * device-msw.c (Fmsprinter_settings_despecialize):
10665         use Qmswindows_tstr, not Qctext.
10666
10667         * vm-limit.c (check_memory_limits):
10668         avoid infinite loop printing warning messages.
10669
10670 2000-07-05  Craig Lanning  <lanning@scra.org>
10671
10672         * Makefile.in.in: Add support for including the Windows resources
10673         when building with the cygwin and mingw targets.
10674
10675         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
10676         not set or not correct.
10677         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
10678         (init_initial_directory): Don't try to use $PWD on the
10679         WIN32_NATIVE target.
10680
10681         * s\cygwin32.h:
10682         [[Add -mwindows to eliminate console window.]] not required --ben
10683         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10684         (MAIL_USE_POP): removed; now handled by configure.
10685
10686         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
10687         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
10688         (HAVE_NATIVE_SOUND): removed; now handled by configure.
10689         (MAIL_USE_POP): removed; now handled by configure.
10690         (ENCAPSULATE_STAT): from Dan Holmsand, added.
10691         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
10692         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
10693         constant string.
10694         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
10695         up from <winsock.h> via systime.h.
10696         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
10697         (getpagesize): from Dan Holmsand, added.
10698         Added #endif which was left dangling by Ben's mega patch; added
10699         comment to help prevent this in the future.
10700
10701         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
10702
10703 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10704
10705         * console-msw.h (struct mswindows_device): Removed unnecessary
10706         cached device geometry values.
10707         Added update_tick and an accessor macro.
10708         (Lisp_Devmode): Added lrecord declaration.
10709         (struct msprinter_device): Contain devmode as a Lisp object.
10710         Added mswindows_get_selected_frame_hwnd();
10711
10712         * console.h (struct console_methods): Indentation nitpicking.
10713
10714         * device-msw.c (mswindows_init_device): Do not initialize geometry
10715         cache. Initialize update tick.
10716         (mswindows_device_system_metrics): Ask the device for its geometry.
10717         (global_free_2_maybe):
10718         (devmode_to_hglobal):
10719         (handle_printer_changes):
10720         (ensure_not_printing):
10721         (print_dialog_worker):
10722         (Fmsprinter_print_setup_dialog):
10723         (Fmsprinter_print_dialog):
10724         (plist_get_margin):
10725         (plist_set_margin):
10726         (Fmsprinter_page_setup_dialog): Added functions.
10727         (sync_printer_with_devmode):
10728         (handle_devmode_changes):
10729         (Fmsprinter_get_settings):
10730         (Fmsprinter_select_settings):
10731         (Fmsprinter_apply_settings):
10732         (allocate_devmode):
10733         (Fmsprinter_settings_copy):
10734         (Fmsprinter_settings_despecialize):
10735         (print_devmode):
10736         (finalize_devmode):
10737         (equal_devmode):
10738         (hash_devmode): Added functions
10739         (syms_of_device_mswindows): Init devmode lrecord class.
10740
10741         * device.h: Added an exfun for find-device.
10742
10743         * event-msw.c (mswindows_wnd_proc): Do not update the cached
10744         geometry; although, recreate the device compatible DC.
10745
10746         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
10747         (msprinter_init_frame_3):
10748         (msprinter_frame_property):
10749         (msprinter_internal_frame_property_p):
10750         (msprinter_frame_properties):
10751         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
10752         print job properties (will move to device settings).
10753
10754         * lisp.h: Added symbols.
10755
10756         * general.c (syms_of_general): Declared them.
10757
10758         * hash.c (string_hash): Added.
10759
10760         * lrecord.h (lrecord_type): Added devmode lrecord type.
10761
10762 2000-07-02  Mike Sperber <mike@xemacs.org>
10763
10764         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
10765         FreeBSD 4.0.
10766
10767 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
10768
10769         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
10770         integer.
10771
10772 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
10773
10774         * data.c (Fstring_to_number): Don't recognize floating point if
10775         base is not 10.
10776
10777 2000-06-22  Martin Buchholz  <martin@xemacs.org>
10778
10779         * glyphs-widget.c (tab_control_query_geometry):
10780         (widget_query_geometry):
10781         (button_query_geometry):
10782         * glyphs.c (text_query_geometry):
10783         Enforce type correctness.
10784
10785 2000-06-18  Martin Buchholz  <martin@xemacs.org>
10786
10787         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
10788         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
10789
10790 2000-06-17  Martin Buchholz  <martin@xemacs.org>
10791
10792         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
10793         conflicts with gcc's fixincluded version of FOO.h.
10794
10795         * glyphs.h (image_instance_geometry): Remove trailing `,'
10796
10797 2000-06-08  Mike Alexander  <mta@arbortext.com>
10798
10799         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
10800         (shove_thread): Don't write the same output twice
10801         (make_ntpipe_output_stream): Increase priority of shove thread
10802         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
10803         chance to run
10804         (ntpipe_shove_closer): Don't delete the pipe until we're done with
10805         it.
10806
10807 2000-06-12  Ben Wing  <ben@xemacs.org>
10808
10809         * s\mingw32.h (sigset):
10810         * s\windowsnt.h (sigset):
10811         rename msw_ to mswindows_ for consistency with general convention.
10812
10813 2000-06-12  Ben Wing  <ben@xemacs.org>
10814
10815         * console-msw.c:
10816         * console-msw.c (mswindows_get_console_hwnd):
10817         * console-msw.c (mswindows_ensure_console_allocated):
10818         * console-msw.c (mswindows_hide_console):
10819         * console-msw.c (mswindows_show_console):
10820         * console-msw.c (mswindows_ensure_console_buffered):
10821         * console-msw.c (mswindows_output_console_string):
10822         * console-msw.c (mswindows_windows9x_p):
10823         * console-msw.h:
10824         * device-msw.c (mswindows_get_workspace_coords):
10825         * device-msw.c (mswindows_device_system_metrics):
10826         * dialog-msw.c (mswindows_popup_dialog_box):
10827         * event-msw.c (mswindows_wnd_proc):
10828         * frame-msw.c (mswindows_size_frame_internal):
10829         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10830         * menubar-msw.c (displayable_menu_item):
10831         * menubar-msw.c (mswindows_char_is_accelerator):
10832         * nt.c:
10833         * nt.c (mswindows_sigset):
10834         * nt.c (mswindows_sigrelse):
10835         * nt.c (mswindows_sigpause):
10836         * nt.c (mswindows_raise):
10837         * nt.c (timer_proc):
10838         * ntproc.c:
10839         * ntproc.c (find_child_console):
10840         * ntproc.c (sys_kill):
10841         * print.c:
10842         * print.c (std_handle_out_external):
10843         * process-nt.c (find_child_console):
10844         * process-nt.c (send_signal_the_95_way):
10845         * process-nt.c (ensure_console_window_exists):
10846         * process-nt.c (nt_create_process):
10847         * syssignal.h:
10848         rename msw_ to mswindows_ for consistency with general convention.
10849
10850         * emacs.c:
10851         * dumper.c:
10852         include nt.h, not syswindows.h.
10853
10854         * nt.c (mswindows_fstat):
10855         * nt.c (mswindows_stat):
10856         prefix mswindows_ instead of attempting to directly override the
10857         library functions.  fix declarations.
10858
10859         * nt.h:
10860         include syswindows.h.  move some sysdep.h stuff here.
10861
10862         * ntheap.h:
10863         include syswindows.h, not <windows.h>.
10864
10865         * ntplay.c:
10866         clean up headers.
10867
10868         * sysdep.c:
10869         clean up headers.
10870
10871         * sysdep.c (sys_fstat):
10872         * sysdep.c (sys_stat):
10873         call mswindows versions when appropriate.
10874
10875         * sysdep.h:
10876         move mswin decls to nt.h.
10877
10878         * syswindows.h:
10879         add long comment describing appropriate use of the various windows
10880         headers.
10881
10882 2000-06-11  Ben Wing  <ben@xemacs.org>
10883
10884         * device-x.c: Correct doc string for sixth arg of x-get-resource.
10885
10886 2000-06-10  Ben Wing  <ben@xemacs.org>
10887
10888         * Makefile.in.in (release):
10889         Correction to make sure xemacs.exe always dumped when correct.
10890
10891         * alloca.c:
10892         * balloon_help.c:
10893         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
10894
10895         * buffer.c (set_buffer_internal):
10896         [[[[2]]]]: Remove HAVE_FEP code.
10897
10898         * buffer.c (init_initial_directory):
10899         [3].
10900
10901         * bytecode.c:
10902         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
10903         individual files.
10904
10905         * callproc.c:
10906         * callproc.c (call_process_cleanup):
10907         * callproc.c (Fold_call_process_internal):
10908         * callproc.c (child_setup):
10909         * callproc.c (getenv_internal):
10910         * callproc.c (init_callproc):
10911         * callproc.c (vars_of_callproc):
10912         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
10913         __CYGWIN32__ -> CYGWIN.
10914         DOS_NT -> WIN32_NATIVE.
10915         Remove MSDOS support/references, converting to WIN32_NATIVE
10916           where correct.
10917         __MINGW32__ -> MINGW.
10918         Fix windows.h includes.
10919         Remove bogus HAVE_NTGUI.
10920
10921         * config.h.in:
10922         [2].
10923
10924         * console-msw.c:
10925         mswindows_message_outputted added for use in allowing startup
10926         errors on the console to be seen.
10927
10928         * console-msw.c (msw_ensure_console_allocated):
10929         * console-msw.c (msw_output_console_string):
10930         * console-msw.c (DHEADER):
10931         * console-msw.c (DOPAQUE_DATA):
10932         * console-msw.c (DEVENT):
10933         * console-msw.c (DCONS):
10934         * console-msw.c (DCONSCDR):
10935         * console-msw.c (DSTRING):
10936         * console-msw.c (DVECTOR):
10937         * console-msw.c (DSYMBOL):
10938         * console-msw.c (DSYMNAME):
10939         Fix warnings.
10940
10941         * console-stream.c (stream_init_console):
10942         Fix text/binary problems.
10943
10944         * device-msw.c:
10945         * device-msw.c (mswindows_finish_init_device):
10946         * device-msw.c (mswindows_delete_device):
10947         [1].
10948
10949         * device.c (handle_asynch_device_change):
10950         [3].
10951
10952         * dgif_lib.c:
10953         * dgif_lib.c (DGifOpenFileName):
10954         * dgif_lib.c (DGifOpenFileHandle):
10955         * dgif_lib.c (DGifGetLine):
10956         * dgif_lib.c (DGifGetPixel):
10957         Added config.h/lisp.h, fix up includes.
10958         [1].
10959
10960         * dired-msw.c:
10961         [4].
10962
10963         * dired.c:
10964         * dired.c (file_name_completion):
10965         * dired.c (Ffile_attributes):
10966         * dired.c (syms_of_dired):
10967         [1].
10968
10969         * dumper.c:
10970         * dumper.c (pdump_file_unmap):
10971         * dumper.c (pdump_load):
10972         [1].
10973
10974         * editfns.c:
10975         * editfns.c (Ftemp_directory):
10976         * editfns.c (user_login_name):
10977         * editfns.c (Fuser_real_login_name):
10978         * editfns.c (get_home_directory):
10979         [1].
10980
10981         * elhash.c (finish_marking_weak_hash_tables):
10982         [[[[5]]]]: Fix GCC warnings.
10983
10984         * emacs.c:
10985         * emacs.c (mswindows_handle_hardware_exceptions):
10986         * emacs.c (make_arg_list_1):
10987         * emacs.c (main_1):
10988         * emacs.c (Fkill_emacs):
10989         * emacs.c (Fdump_emacs):
10990         [1].
10991         Fix problems with nested crashes, add long comment.
10992
10993         * event-Xt.c (init_event_Xt_late):
10994         [1].
10995
10996         * event-msw.c:
10997         * event-msw.c (mswindows_dde_callback):
10998         * event-msw.c (mswindows_handle_sticky_modifiers):
10999         * event-msw.c (mswindows_wnd_proc):
11000         [1].
11001         [5].
11002
11003         * events.c (character_to_event):
11004         [1].
11005
11006         * fileio.c:
11007         * fileio.c (Ffile_name_directory):
11008         * fileio.c (Ffile_name_nondirectory):
11009         * fileio.c (directory_file_name):
11010         * fileio.c (Fexpand_file_name):
11011         * fileio.c (Fsubstitute_in_file_name):
11012         * fileio.c (Ffile_name_absolute_p):
11013         * fileio.c (check_executable):
11014         * fileio.c (Ffile_readable_p):
11015         * fileio.c (Ffile_accessible_directory_p):
11016         * fileio.c (Ffile_modes):
11017         * fileio.c (Funix_sync):
11018         * fileio.c (vars_of_fileio):
11019         [1]. [4].
11020
11021         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11022
11023         Expand getdefdir defn.
11024         Fix bogus rename() comment.
11025
11026         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11027         to use standard XEmacs include files, e.g. sysfile.h, rather
11028         than system-specific includes.
11029
11030         * fns.c:
11031         * fns.c (Fsubseq):
11032         [5]. [6].
11033
11034         * frame.c (vars_of_frame):
11035         [1].
11036
11037         * getloadavg.c:
11038         * getloadavg.c (getloadavg):
11039         [1]. [6].
11040         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11041         (We don't use it elsewhere in the code; just add a comment.)
11042
11043         * gif_io.c:
11044         [6].
11045         Add config.h.
11046
11047         * glyphs-msw.c:
11048         * glyphs-msw.c (mswindows_resource_instantiate):
11049         [1].
11050
11051         * glyphs-x.c (x_native_layout_instantiate):
11052         [5].
11053
11054         * gui-msw.c (Fmswindows_shell_execute):
11055         [1].
11056
11057         * insdel.c:
11058         [4].
11059
11060         * lisp.h:
11061         [4]. [5].
11062
11063         * lread.c (locate_file_in_directory_mapper):
11064         [1].
11065
11066         * lstream.c:
11067         [4].
11068
11069         * mem-limits.h:
11070         * mem-limits.h (get_lim_data):
11071         [1].
11072
11073         * menubar-msw.c:
11074         [4].
11075
11076         * ndir.h:
11077         [1].
11078
11079         * nt.c:
11080         * nt.c (getwd):
11081         * nt.c (closedir):
11082         * nt.c (rva_to_section):
11083         * nt.c (mswindows_executable_type):
11084         [1]. [6].
11085         Fix closedir() defn.
11086
11087         * nt.h:
11088         [[[[8]]]]: *_OK defs moved to sysfile.h.
11089
11090         * ntproc.c:
11091         [6]. [7].
11092
11093         * objects-x.c:
11094         [4].
11095
11096         * print.c:
11097         * print.c (std_handle_out_external):
11098         [1]. [4].
11099
11100         * process-nt.c:
11101         * process-nt.c (nt_create_process):
11102         [6].
11103         try to fix process quoting somewhat.
11104
11105         * process-unix.c (unix_create_process):
11106         [1].
11107
11108         * process.c:
11109         * process.c (vars_of_process):
11110         Add Vnull_device.
11111
11112         * process.h:
11113         [1].
11114
11115         * realpath.c:
11116         * realpath.c (xrealpath):
11117         [1].
11118
11119         * redisplay-tty.c (init_tty_for_redisplay):
11120         [3].
11121
11122         * redisplay.c:
11123         [4]. [6].
11124
11125         * scrollbar-msw.c:
11126         [4].
11127
11128         * sheap.c:
11129         * sheap.c (more_static_core):
11130         * sheap.c (report_sheap_usage):
11131         [5]. [6].
11132
11133         * signal.c:
11134         * signal.c (alarm_signal):
11135         [1]. [6].
11136
11137         * sound.c:
11138         [6].
11139
11140         * strftime.c:
11141         * strftime.c (zone_name):
11142         [1]. [5].
11143
11144         * symsinit.h (init_sunpro):
11145         [1].
11146
11147         * syscommctrl.h:
11148         commctrl.h not in Cygwin b20.1.
11149
11150         * sysdep.c:
11151         * sysdep.c (endif):
11152         * sysdep.c (sys_subshell):
11153         * sysdep.c (init_baud_rate):
11154         * sysdep.c (emacs_get_tty):
11155         * sysdep.c (emacs_set_tty):
11156         * sysdep.c (tty_init_sys_modes_on_device):
11157         * sysdep.c (init_system_name):
11158         * sysdep.c (sys_open):
11159         * sysdep.c (interruptible_open):
11160         * sysdep.c (sys_fopen):
11161         * sysdep.c (sys_mkdir):
11162         * sysdep.c (sys_rename):
11163         * sysdep.c (get_process_times_1):
11164         [1]. [6].
11165
11166         * sysdep.h:
11167         [1].
11168
11169         * sysdir.h:
11170         * sysdir.h (DIRENTRY_NONEMPTY):
11171         [1]. [6].
11172
11173         * sysdll.c (dll_init):
11174         * sysdll.h:
11175         [1].
11176
11177         * sysfile.h:
11178         [1]. [6]. [8].
11179         added text/binary defs.
11180
11181         * sysfloat.h:
11182         [1].
11183
11184         * sysproc.h:
11185         * sysproc.h (EDESTADDRREQ):
11186         * sysproc.h (poll_fds_for_input):
11187         [1]. [6].
11188
11189         * syspwd.h:
11190         [6].
11191
11192         * syssignal.h:
11193         [1].
11194
11195         * systime.h:
11196         [1]. [6].
11197
11198         * systty.h:
11199         [1].
11200
11201         * syswindows.h:
11202         [1].
11203         Always define WIN32_LEAN_AND_MEAN.
11204
11205         * unexcw.c (unexec):
11206         [5].
11207
11208         * unexec.c:
11209         * unexec.c (copy_text_and_data):
11210         * unexec.c (adjust_lnnoptrs):
11211         [1].
11212
11213         * unexnt.c:
11214         * unexnt.c (_start):
11215         [1].
11216
11217 2000-06-07  Ben Wing  <ben@xemacs.org>
11218
11219         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11220         was used only as a model.  We've long since extracted any useful
11221         logic or code out of this. (I just did an exhaustive search.)
11222
11223         * s\msdos.h: Removed.
11224
11225         * s\windows95.h: Removed.
11226
11227 2000-06-10  Ben Wing  <ben@xemacs.org>
11228
11229         * s\cygwin32.h:
11230         [1]. [5].
11231         Don't use extern with fun defs.
11232
11233         * s\mingw32.h:
11234         [1]. [7].
11235         Remove nt\inc include.
11236         Remove getdisk, getdefdir. (The former is unused, the latter
11237         expanded in fileio.h.)
11238
11239         * s\windowsnt.h:
11240         * s\windowsnt.h (WIN32_NATIVE):
11241         * s\windowsnt.h (HAVE_STRCASECMP):
11242         [1]. [7].
11243         Add long comment about preprocessor changes.
11244         Remove getdisk, getdefdir. (The former is unused, the latter
11245         expanded in fileio.h.)
11246
11247 2000-06-10  Ben Wing  <ben@xemacs.org>
11248
11249         * m\arm.h:
11250         * m\delta.h:
11251         * m\intel386.h:
11252         * m\sequent.h:
11253         * m\template.h:
11254         * m\windowsnt.h:
11255         [1].
11256         Remove bogus/unused NO_SOCK_SIGIO.
11257
11258 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11259
11260         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11261         not an Emchar.
11262
11263 2000-06-04  Mike Sperber <mike@xemacs.org>
11264
11265         * casetab.c (set_case_table): For `set-standard-case-table',
11266         actually deposit the new case tables where the rest of XEmacs can
11267         see them.
11268
11269 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11270
11271         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11272
11273 2000-06-05  Ben Wing  <ben@xemacs.org>
11274
11275         * callproc.c (child_setup): Don't do close_load_descs() under
11276         MS Windows.  Put in a comment explaining why.
11277
11278 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11279
11280         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11281         Toolkit shell" which breaks `kill-compilation' on Windows NT
11282         native, retaining STDERR handling improvements.
11283
11284 2000-06-01  Andreas Jaeger  <aj@suse.de>
11285
11286         * s/s390.h: Support for S390, based on a patch by Martin
11287         Schwidefsky <schwidefsky@de.ibm.com>.
11288
11289 2000-05-30  Andy Piper  <andy@xemacs.org>
11290
11291         * window.c (allocate_window):
11292         (make_dummy_parent):
11293         (Fset_window_configuration): use new hashtable type.
11294
11295         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11296         (struct image_instantiator_methods):
11297         (struct Lisp_Image_Instance): make instance geometry signed.
11298
11299         * glyphs.c (instantiate_image_instantiator):
11300         (image_instance_query_geometry):
11301         (image_instance_layout):
11302         (image_instance_layout):
11303         (query_string_geometry):
11304         (text_query_geometry):
11305         (image_instantiate):
11306         (image_instantiate):
11307         (cache_subwindow_instance_in_frame_maybe):
11308         (subwindow_query_geometry): make instance geometry signed.
11309
11310         * glyphs-widget.c (widget_query_geometry):
11311         (widget_layout):
11312         (button_query_geometry):
11313         (tree_view_query_geometry):
11314         (tab_control_query_geometry):
11315         (layout_query_geometry):
11316         (layout_layout):
11317         (native_layout_layout): make instance geometry signed.
11318
11319 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11320
11321         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11322         constant.
11323
11324         * general.c (syms_of_general): Add Qfull_assoc symbol.
11325
11326         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11327         correctly.
11328         (decode_weak_list_type): Decode full-assoc type.
11329         (encode_weak_list_type): Encode full-assoc type.
11330         (Fmake_weak_list): Update doc string.
11331
11332 2000-05-30  Andy Piper  <andy@xemacs.org>
11333
11334         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11335
11336         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11337         (decode_hash_table_weakness): ditto.
11338         (Fhash_table_weakness): ditto.
11339         (Fhash_table_type): ditto.
11340         (finish_marking_weak_hash_tables): ditto.
11341         (hash_table_weakness_validate): ditto.
11342         (syms_of_elhash): ditto.
11343
11344 2000-05-28  Martin Buchholz <martin@xemacs.org>
11345
11346         * XEmacs 21.2.34 is released.
11347
11348 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11349
11350         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11351         start cache.
11352         (updating_line_start_cache): Gone.
11353         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11354         generic code to force a minimum of 1 line laid out in the
11355         CMOTION_DISP case.
11356
11357 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11358
11359         * glyphs.c (instantiate_image_instantiator): Check for initialized
11360         height & width no longer special cases IMAGE_NOTHING.
11361         (nothing_instantiate): Set height and width of instance.
11362
11363 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11364
11365         * unexelf.c (unexec): Search for ".data" section.
11366         Initialize new_data2_offset from old_data_index.
11367         Remove redundant check for ElfW.
11368
11369 2000-05-23  Andy Piper  <andy@xemacs.org>
11370
11371         * glyphs.c (get_image_instantiator_governing_domain): allow more
11372         specific domains as the governing domain rather than expecting an
11373         exact match. This fixes problems with layouts.
11374
11375 2000-05-22  Andy Piper  <andy@xemacs.org>
11376
11377         * redisplay-output.c (compare_runes): check for non-images
11378
11379         * glyphs.c (set_glyph_dirty_p): ditto.
11380         (update_glyph_cachel_data): ditto.
11381
11382         * glyphs-widget.c (layout_post_instantiate): ditto.
11383         (layout_post_instantiate): ditto.
11384
11385         * event-msw.c (mswindows_wnd_proc): warning removal.
11386
11387 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11388
11389         * s\mingw32.h: Added #undef for CLASH_DETECTION.
11390
11391         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
11392
11393         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
11394
11395         * nt.c (rva_to_section): mingw32 needs rva_to_section.
11396         (mswindows_executable_type): mingw32 now has enough headers for
11397         this to work.
11398
11399 2000-05-20  Andy Piper  <andy@xemacs.org>
11400
11401         * console-msw.c (mswindows_output_last_error): ; -> ,
11402
11403 2000-05-12  Andy Piper  <andy@xemacs.org>
11404
11405         * console-msw.c (FROB): compare ints with ints.
11406
11407 2000-05-11  Andy Piper  <andy@xemacs.org>
11408
11409         * glyphs-x.c (x_finalize_image_instance): make minimal build
11410         happy.
11411
11412 2000-05-20  Ben Wing  <ben@xemacs.org>
11413
11414         * event-Xt.c:
11415         * event-Xt.c (vars_of_event_Xt):
11416         move modifier-keys-are-sticky to event-stream.c.
11417
11418         * event-msw.c:
11419         * event-msw.c (mswindows_enqueue_mouse_button_event):
11420         * event-msw.c (key_needs_default_processing_p):
11421         * event-msw.c (XEMSW_LCONTROL):
11422         * event-msw.c (mswindows_handle_sticky_modifiers):
11423         * event-msw.c (FROB):
11424         * event-msw.c (clear_sticky_modifiers):
11425         * event-msw.c (output_modifier_keyboard_state):
11426         * event-msw.c (output_alt_keyboard_state):
11427         * event-msw.c (mswindows_wnd_proc):
11428         * event-msw.c (mswindows_modifier_state):
11429         * event-msw.c (emacs_mswindows_handle_magic_event):
11430         implement sticky modifiers.
11431
11432         * event-stream.c:
11433         * event-stream.c (vars_of_event_stream):
11434         move modifier-keys-are-sticky here.
11435
11436         * lisp.h:
11437         add CHECK_FUNCTION.
11438
11439         * rangetab.c:
11440         implement map-range-table.
11441
11442
11443 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
11444
11445         * redisplay-tty.c (reset_tty_modes):
11446         (tty_redisplay_shutdown): Adjust argument type to
11447         tty_frame_output_end.
11448
11449 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11450
11451         * eval.c (Fbacktrace): Don't output a line with only right
11452         parenthesis.
11453
11454 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
11455
11456         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
11457         (Fpq_reset_poll): Ditto.
11458
11459 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
11460
11461         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
11462
11463 2000-05-16  Ben Wing  <ben@xemacs.org>
11464
11465         * buffer.c:
11466         * buffer.c (dfc_convert_to/from_internal_format):
11467         * buffer.c (reinit_vars_of_buffer):
11468         Fix conversion functions to allow reentrancy.
11469
11470         * console-msw.c:
11471         * console-msw.c (mswindows_output_last_error):
11472         New fun, generally useful -- output a human-readable
11473         version of GetLastError() on the console.
11474
11475         * console-msw.h:
11476         * console-msw.h (struct mswindows_frame):
11477         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
11478
11479         * console-stream.c (stream_output_begin):
11480         * console-stream.c (stream_output_end):
11481         * console-stream.c (stream_output_vertical_divider):
11482         * console-stream.c (stream_clear_region):
11483         * console-stream.c (stream_flash):
11484         * console-stream.c (console_type_create_stream):
11485         Delete blank stream methods, not needed.
11486
11487         * console.h (struct console_methods):
11488         Split begin/end methods into window and frame.
11489
11490         * event-msw.c:
11491         * event-msw.c (mswindows_handle_paint):
11492         * event-msw.c (output_alt_keyboard_state):
11493         * event-msw.c (mswindows_wnd_proc):
11494         * event-msw.c (vars_of_event_mswindows):
11495         Comment about problems with ignored-expose.
11496         Define mswindows-debug-events; not really implemented.
11497
11498         * frame-msw.c (mswindows_init_frame_1):
11499         random cleanups.
11500
11501         * glyphs-msw.c:
11502         * glyphs-msw.c (begin_defer_window_pos):
11503         * glyphs-msw.c (mswindows_unmap_subwindow):
11504         * glyphs-msw.c (mswindows_map_subwindow):
11505         * glyphs-msw.c (mswindows_resize_subwindow):
11506         Use DeferWindowPos to reduce flashing when mapping/unmapping.
11507
11508         * glyphs.c (make_image_instance_1):
11509         Fix crash.
11510
11511         * gutter.c (Fredisplay_gutter_area):
11512         Use new begin/end methods.
11513
11514         * lisp.h (Dynarr_new2):
11515         New creation fun.
11516
11517         * redisplay-msw.c:
11518         * redisplay-msw.c (mswindows_frame_output_begin):
11519         * redisplay-msw.c (mswindows_frame_output_end):
11520         * redisplay-msw.c (console_type_create_redisplay_mswindows):
11521         New begin/end methods -- handle DeferWindowPos.
11522
11523         * redisplay-output.c (redisplay_move_cursor):
11524         * redisplay-output.c (redraw_cursor_in_window):
11525         * redisplay-output.c (redisplay_update_line):
11526         * redisplay-output.c (redisplay_output_window):
11527         New begin/end methods.
11528
11529         * redisplay-tty.c:
11530         * redisplay-tty.c (tty_frame_output_begin):
11531         * redisplay-tty.c (tty_frame_output_end):
11532         * redisplay-tty.c (console_type_create_redisplay_tty):
11533         New begin/end methods.
11534
11535         * redisplay-x.c:
11536         * redisplay-x.c (x_window_output_begin):
11537         * redisplay-x.c (x_window_output_end):
11538         * redisplay-x.c (console_type_create_redisplay_x):
11539         New begin/end methods.
11540
11541         * redisplay.c (redisplay_frame):
11542         * redisplay.c (Fredisplay_echo_area):
11543         New begin/end methods.
11544         use MAYBE_DEVMETH for clear_frame; it may not exist.
11545
11546         * window.h (WINDOW_XFRAME):
11547         WINDOW_XFOO macros -- get locale and decode struct pointer.
11548
11549
11550 2000-05-12  Ben Wing  <ben@xemacs.org>
11551
11552         * emacs.c:
11553         * emacs.c (ensure_no_quitting_from_now_on):
11554         * emacs.c (fatal_error_signal):
11555         * emacs.c (mswindows_handle_hardware_exceptions):
11556         * emacs.c (main):
11557         * emacs.c (Fkill_emacs):
11558         * emacs.c (shut_down_emacs):
11559         * emacs.c (assert_failed):
11560         various improvements in fatal error handling.
11561
11562         * eval.c:
11563         move preparing_for_armageddon to emacs.c.
11564
11565         * lisp.h:
11566         declare fatal_error_in_progress.
11567
11568         * print.c:
11569         * print.c (std_handle_out_external):
11570         * print.c (std_handle_out_va):
11571         * print.c (stderr_out):
11572         * print.c (stdout_out):
11573         use console under mswin when no standard output.
11574         don't do code conversion during fatal error.
11575
11576         * scrollbar.c (Fscrollbar_page_up):
11577         * scrollbar.c (Fscrollbar_page_down):
11578         fix missing else.  reindent.
11579
11580 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
11581
11582         Emergency fix.
11583
11584         * glyphs.h (GLYPH_CACHEL_DESCENT):
11585         (GLYPH_CACHEL_DESCENT):
11586         (GLYPH_CACHEL_DESCENT):
11587         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
11588         used in case these are inline functions.
11589         Use more absurd values to error check.
11590
11591         include window.h for error check functions.
11592
11593 2000-05-11  Ben Wing  <ben@xemacs.org>
11594
11595         * cmdloop.c (Freally_early_error_handler):
11596         Display message box under windows; otherwise, message will disappear
11597         before it can be viewed.
11598
11599         * console-msw.c:
11600         * console-msw.c (Fmswindows_message_box):
11601         * console-msw.c (FROB):
11602         * console-msw.c (syms_of_console_mswindows):
11603         Define new fun `mswindows-message-box'.
11604         #### I will merge this into `popup-dialog-box'; just give me
11605         a bit of time.
11606
11607         * general.c:
11608         * general.c (syms_of_general):
11609         Some new symbols used in `mswindows-message-box'.
11610
11611         * glyphs.c:
11612         * glyphs.c (Fset_image_instance_property):
11613         put warning in this fun.
11614
11615         * glyphs.h:
11616         * glyphs.h (GLYPH_CACHEL_WIDTH):
11617         * glyphs.h (GLYPH_CACHEL_ASCENT):
11618         * glyphs.h (GLYPH_CACHEL):
11619         * glyphs.h (GLYPH_CACHEL_GLYPH):
11620         define error-checking versions to try to catch a bug i've seen --
11621         redisplay gets in an infinite loop because the glyph width of the
11622         continuation glyph is 65535.
11623
11624         * lisp.h:
11625         Extern message-box stuff.
11626
11627         * window.c (allocate_window):
11628         * window.c (make_dummy_parent):
11629         * window.c (Fset_window_configuration):
11630         Use EQUAL not EQ for subwindow caches to make them work a bit
11631         better. (Something is still very broken.)
11632
11633
11634 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
11635
11636         * glyphs.c (image_instantiate): Suppress gcc warnings.
11637         (Fmake_image_instance): Fix doc string.
11638         * specifier.c (Fmake_specifier): Ditto.
11639
11640 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
11641
11642         * paths.h.in (PATH_LOCK): Removed.
11643         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
11644         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
11645
11646 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
11647
11648         * fns.c (Ffeaturep): Update e-mail address in doc-string.
11649         Document (featurep '(and xemacs 21.02)).
11650
11651 2000-05-09  Ben Wing  <ben@xemacs.org>
11652
11653         * buffer.c (complex_vars_of_buffer):
11654         update modeline-format doc.
11655
11656         * device.h:
11657         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
11658
11659         * emacs.c:
11660         timeline of all released versions of Emacs, for use in creating
11661         authorship comments and in synching up.
11662
11663         * glyphs-widget.c (image_instantiator_buttons):
11664         * glyphs-widget.c (image_instantiator_edit_fields):
11665         * glyphs-widget.c (image_instantiator_combo_box):
11666         * glyphs-widget.c (image_instantiator_scrollbar):
11667         * glyphs-widget.c (image_instantiator_progress_guage):
11668         * glyphs-widget.c (image_instantiator_tree_view):
11669         * glyphs-widget.c (image_instantiator_tab_control):
11670         * glyphs-widget.c (image_instantiator_labels):
11671         * glyphs-widget.c (image_instantiator_layout):
11672         * glyphs-widget.c (image_instantiator_native_layout):
11673         rename decode_domain method to governing_domain.
11674
11675         * glyphs.c:
11676         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
11677         * glyphs.c (add_entry_to_device_ii_format_list):
11678         make sure we don't put an entry more than once into the list.
11679         * glyphs.c (check_instance_cache_mapper):
11680         *************************************************************
11681         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11682         HAVE BEEN GETTING.
11683         *************************************************************
11684         * glyphs.c (get_image_instantiator_governing_domain):
11685         clean up, expand on new concept of governing domain.
11686         * glyphs.c (instantiate_image_instantiator):
11687         * glyphs.c (allocate_image_instance):
11688         use governing_domain instead of cache_domain in naming.
11689         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
11690         * glyphs.c (make_image_instance_1):
11691         * glyphs.c (Fmake_image_instance):
11692         allow for any domain (not just device), and process the
11693         governing domain correctly.  very big doc fix.
11694         * glyphs.c (Fimage_instance_domain):
11695         new primitive, to retrieve the governing domain of an image instance.
11696         * glyphs.c (image_instantiate):
11697         use new governing_domain stuff.  this fixes a crash you could get
11698         by instantiating certain widget glyphs in frame locales. (should
11699         signal an error instead of crashing.)
11700         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
11701         * glyphs.c (Fglyphp): clean up doc.
11702         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
11703         * glyphs.c (syms_of_glyphs):
11704         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
11705         * glyphs.c (image_instantiator_format_create): add some comments about
11706         bogus code.
11707         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
11708         for current-display-table. (Apparently Hrjove implemented in 1998 a
11709         design I wrote up in 1996, but didn't update the doc string.)
11710
11711         * glyphs.h: clean up a doc string.
11712         * glyphs.h (governing_domain):
11713         * glyphs.h (struct image_instantiator_methods):
11714         changes for governing_domain stuff.
11715
11716         * gutter.c:
11717         * gutter.c (Fgutter_specifier_p):
11718         * gutter.c (Fgutter_size_specifier_p):
11719         * gutter.c (Fgutter_visible_specifier_p):
11720         * objects.c:
11721         * objects.c (Fcolor_specifier_p):
11722         * objects.c (Ffont_specifier_p):
11723         * objects.c (Fface_boolean_specifier_p):
11724         doc strings moved to make-*-specifier.
11725
11726         * redisplay.c (add_disp_table_entry_runes_1):
11727         * redisplay.c (generate_fstring_runes):
11728         * redisplay.c (screen):
11729         add random comments and doc strings.
11730
11731         * specifier.c:
11732         * specifier.c (Fmake_specifier):
11733         major overhaul of this doc string.
11734
11735         * specifier.c (Fvalid_specifier_domain_p):
11736         comment about the bogosity of image instances being domains.
11737         * specifier.c (decode_domain):
11738         now non-static, used in glyphs.c.
11739         * specifier.c (specifier_instance):
11740         comment about the bogosity of image instances being domains.
11741         * specifier.c (Fgeneric_specifier_p):
11742         move doc string to make-generic-specifier.
11743         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
11744         rebackslashify.
11745
11746         * specifier.h:
11747         * specifier.h (DOMAIN_FRAME):
11748         * specifier.h (DOMAIN_LIVE_P):
11749         * specifier.h (DOMAIN_XDEVICE):
11750         rebackslashify.
11751         add comments about problems with these macros.
11752         prototype for decode_domain.
11753
11754         * toolbar.c:
11755         * toolbar.c (Ftoolbar_specifier_p):
11756         move doc string to `make-toolbar-specifier'.
11757
11758         * window.c (window_unmap_subwindows_cache_mapper):
11759         *************************************************************
11760         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
11761         HAVE BEEN GETTING.
11762         *************************************************************
11763
11764 2000-05-09  Andy Piper  <andy@xemacs.org>
11765
11766         * glyphs.h: declare reset_frame_subwindow_instance_cache.
11767
11768         * window.c (Fset_window_configuration): reset the frame subwindow
11769         cache and re-initialize the window subwindow caches.
11770
11771         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
11772
11773 2000-05-09  Ben Wing  <ben@xemacs.org>
11774
11775         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
11776         DWORD.
11777
11778 2000-04-26  Mike Woolley  <mike@bulsara.com>
11779
11780         * ntheap.c: Changed recreate_heap to limit the amount reserved
11781         for the heap to that which is actually available. Also now
11782         displays a message box (with some dignostics) in the event that
11783         it still can't start.
11784
11785 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
11786
11787         * callproc.c (Fold_call_process_internal): GCPRO path
11788
11789 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
11790
11791         Patch by Bill Perry.
11792
11793         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
11794         back data instead of #ifdef.
11795         (Fscrollbar_page_down): ditto.
11796
11797 2000-05-07  Ben Wing  <ben@xemacs.org>
11798
11799         * buffer.h:
11800         Kludge for defining Qmswindows_tstr.
11801
11802         * nt.c:
11803         * nt.c (open_input_file):
11804         * nt.c (open_output_file):
11805         * nt.c (rva_to_section):
11806         * nt.c (mswindows_executable_type):
11807         Move all memory-mapped-file routines here (some were in unexnt.c,
11808         which is bad because they are used by process-nt.c, and unexnt
11809         won't be around when portable dumping).  Synched the above routines
11810         with FSF 20.6.
11811
11812         * nt.h:
11813         Removed ifdef'd out bogus code.
11814         Fixed some prototypes.
11815
11816         * nt.h (file_data):
11817         * nt.h (OFFSET_TO_RVA):
11818         * nt.h (RVA_TO_OFFSET):
11819         * nt.h (RVA_TO_PTR):
11820         Moved the memory-mapped-file structures, macros and prototypes
11821         here, to parallel nt.c.  ntheap.h should really be removed
11822         entirely, and it's a non-portable-dumper specific file.
11823
11824         * ntheap.h (round_to_next):
11825         Moved the memory-mapped-file structures, macros and prototypes
11826         to nt.h.
11827
11828         * ntproc.c (compare_env):
11829         Moved rva_to_section and mswindows_executable_type to nt.c.
11830         Moved compare_env to process-nt.c.
11831         ntproc.c will die, one day.
11832
11833         * ntproc.c (sys_spawnve):
11834         Account for win32_ -> mswindows_.
11835
11836         * process-nt.c:
11837         * process-nt.c (struct nt_process_data):
11838         * process-nt.c (ensure_console_window_exists):
11839         * process-nt.c (compare_env):
11840         * process-nt.c (nt_create_process):
11841         * process-nt.c (nt_kill_process_by_pid):
11842         * process-nt.c (syms_of_process_nt):
11843         * process-nt.c (vars_of_process_nt):
11844         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
11845         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
11846         changes).  Eliminate our old `nt-quote-process-args' mechanism.
11847         Synch up nt_create_process with FSF 20.6 sys_spawnve.
11848         Move compare_env here from ntproc.c.
11849
11850         * process.c (Fprocess_send_region):
11851         Takes an optional fourth argument, BUFFER, which should fix some
11852         problems with call-process.
11853
11854         * syscommctrl.h:
11855         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
11856
11857         * syswindows.h:
11858         Move ICC_BAR_CLASSES to syscommctrl.h.
11859         Add preliminary macros for MSWindows/Mule.  More to come.
11860
11861         * unexnt.c:
11862         * unexnt.c (unexec):
11863         open_output_file moved to nt.c.
11864
11865
11866 2000-05-05  Andy Piper  <andy@xemacs.org>
11867
11868         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
11869         instance from the frame cache also since GC may catch up too late
11870         to make frame deletion sane.
11871
11872 2000-05-04  Andy Piper  <andy@xemacs.org>
11873
11874         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
11875         (x_finalize_image_instance): ungcpro on deletion.
11876
11877         * glyphs.c (image_instantiator_format_create): give pointers a
11878         query geometry method so that the geometry is at least set.
11879
11880         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
11881         initialize layouts if using widgets.
11882
11883 2000-05-03  Andy Piper  <andy@xemacs.org>
11884
11885         * nt.c: remove bogus reference to sysmmsystem.h
11886
11887         * gui-x.c (popup_selection_callback): fix no selection abort.
11888
11889 2000-05-02  Andy Piper  <andy@xemacs.org>
11890
11891         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
11892         (mswindows_widget_instantiate): ditto.
11893
11894         * glyphs-widget.c (initialize_widget_image_instance): initialize
11895         children correctly.
11896         (widget_instantiate): cope with children and items in the same
11897         instance.
11898
11899         * glyphs.c (mark_image_instance): cope with children as a first
11900         class member.
11901         (image_instance_equal): ditto.
11902         (image_instance_hash): ditto.
11903         (image_instance_changed): ditto.
11904
11905 2000-04-30  Andy Piper  <andy@xemacs.org>
11906
11907         * glyphs.c (subwindow_query_geometry): new function. Return some
11908         defaults.
11909         (subwindow_instantiate): don't assign dimensions if none have been
11910         given.
11911         (image_instantiator_format_create): add subwindow_query_geometry.
11912         (print_image_instance): cope with layouts as widgets.
11913
11914 2000-04-29  Andy Piper  <andy@xemacs.org>
11915
11916         * frame.c (delete_frame_internal): call
11917         free_frame_subwindow_instance_cache so that all subwindows are
11918         finalized before their parent.
11919         (mark_frame): remove subwindow_cachels.
11920         (Fmake_frame): remove subwindow_cachel manipulation.
11921         (allocate_frame_core): subwindow_instance_cache is a weak list.
11922         (delete_frame_internal): set subwindow_instance_cache to nil.
11923
11924         * glyphs-msw.c (mswindows_finalize_image_instance): make double
11925         finalization safe.
11926         (mswindows_finalize_image_instance): use the device
11927         not the domain as the domain may have died already.
11928
11929         * glyphs-x.c (x_finalize_image_instance): ditto.
11930         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
11931         HEIGHT.
11932
11933         * redisplay-output.c (redisplay_unmap_subwindows): update for
11934         subwindow instance cache as a weak list.
11935         (redisplay_unmap_subwindows_maybe): ditto.
11936         (redisplay_unmap_subwindows_except_us): ditto.
11937
11938         * glyphs.c (unmap_subwindow): error checking will check the domain
11939         so don't deal with it here. Don't use cachels anymore.
11940         (map_subwindow): ditto.
11941         (update_subwindow_cachel_data): remove old accessor names.
11942         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
11943         (Fresize_subwindow): don't update cachel.
11944         (mark_subwindow_cachels):
11945         (update_subwindow_cachel_data):
11946         (add_subwindow_cachel):
11947         (get_subwindow_cachel_index):
11948         (update_subwindow_cachel):
11949         (reset_subwindow_cachels):
11950         (mark_subwindow_cachels_as_not_updated): deleted.
11951         (cache_subwindow_instance_in_frame_maybe): new function. Add a
11952         subwindow instance to the frame cache.
11953         (find_matching_subwindow): update for subwindow instance cache as
11954         a weak list.
11955         (update_widget_instances): ditto.
11956         (image_instance_type_to_mask):inlined.
11957         (free_frame_subwindow_instance_cache): new function. finalize all
11958         subwindows that are instantiated.
11959
11960         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
11961         of cachel information.
11962         (IMAGE_INSTANCE_DISPLAY_X):
11963         (IMAGE_INSTANCE_DISPLAY_Y):
11964         (IMAGE_INSTANCE_DISPLAY_WIDTH):
11965         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
11966         (XIMAGE_INSTANCE_DISPLAY_X):
11967         (XIMAGE_INSTANCE_DISPLAY_Y):
11968         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
11969         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
11970         remove subwindow_cachel structure and function references.
11971         (image_instance_type_to_mask): inline from glyphs.c
11972
11973         * redisplay.c (redisplay_frame): remove subwindow_cachel
11974         references.
11975
11976         * frame.h (struct frame): remove subwindow_cachels.
11977         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
11978
11979         * frameslots.h: add subwindow_instance_cache.
11980
11981         * window.c (replace_window): check subwindow cache of replacement.
11982         (window_unmap_subwindows_cache_mapper):
11983         (window_unmap_subwindows): new functions. Unmap all subwindows
11984         cached on this window.
11985         (mark_window_as_deleted): unmap all subwindows.
11986
11987 2000-04-27  Andy Piper  <andy@xemacs.org>
11988
11989         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
11990
11991         * glyphs-widget.c (widget_layout): return something.
11992         (layout_layout): return something. Fail if not initialized.
11993         (layout_query_geometry): ditto.
11994         (image_instantiator_native_layout): new function. Initialized the
11995         native layout type.
11996         (widget_instantiate): don't do layout stuff here.
11997
11998         * glyphs.c (instantiate_image_instantiator): reorded calling or
11999         instantiate and post_instantiate with layout in between.
12000         (image_instance_layout): be more selective about deciding whether
12001         the layout has been done or not.
12002
12003         * glyphs.h (struct image_instantiator_methods): return a value
12004         from layout_method.
12005
12006 2000-04-26  Andy Piper  <andy@xemacs.org>
12007
12008         * glyphs.c (allocate_image_instance): make initial width and
12009         height unspecified. Set initialized to 0.
12010
12011         * syscommctrl.h new file. Encapsulates commctrl.h.
12012
12013         * syswindows.h new file. Encapsulates windows.h.
12014
12015         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12016         * nt.c: ditto.
12017         * console-msw.h: ditto.
12018
12019         * redisplay-tty.c (tty_output_display_block): remove layout references.
12020
12021         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12022         window handle rather than just the frame.
12023
12024         * glyphs.c (mark_image_instance): remove layout references.
12025         (print_image_instance): ditto.
12026         (image_instance_equal): ditto.
12027         (image_instance_hash): ditto.
12028         (decode_image_instance_type): ditto.
12029         (encode_image_instance_type): ditto.
12030         (image_instantiate): ditto.
12031         (allocate_glyph): ditto.
12032         (Fimage_instance_height): ditto.
12033         (Fimage_instance_width): ditto.
12034         (update_subwindow): ditto.
12035
12036         * redisplay-x.c (x_output_display_block): recode for layouts as
12037         widgets.
12038
12039         * redisplay-output.c (redisplay_output_layout): recode for layouts
12040         as widgets.
12041         (compare_runes): remove layout references.
12042
12043         * redisplay-msw.c (mswindows_output_display_block): recode for
12044         layouts as widgets.
12045
12046         * glyphs-widget.c (image_instantiator_layout): remove
12047         layout_possible_dest_types.
12048         (layout_possible_dest_types): deleted.
12049
12050         * glyphs.h (image_instance_type): remove layout references.
12051         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12052         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12053         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12054
12055 2000-04-25  Andy Piper  <andy@xemacs.org>
12056
12057         * glyphs-widget.c (image_instantiator_buttons):
12058         (image_instantiator_edit_fields):
12059         (image_instantiator_combo_box):
12060         (image_instantiator_scrollbar):
12061         (image_instantiator_progress_guage):
12062         (image_instantiator_tree_view):
12063         (image_instantiator_tab_control):
12064         (image_instantiator_labels):
12065         (image_instantiator_layout): call default post_instantiate method.
12066         (widget_post_instantiate): new function. Simply lays out the
12067         widgets.
12068
12069         * glyphs.h (struct image_instantiator_methods): add
12070         post_instantiate method.
12071
12072         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12073         method calls.
12074
12075 2000-04-23  Andy Piper  <andy@xemacs.org>
12076
12077         * glyphs.h (struct image_instantiator_methods): add
12078         decode_domain_method.
12079         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12080         derived from the domain.
12081         (IMAGE_INSTANCE_FRAME): new accessor.
12082         (XIMAGE_INSTANCE_FRAME): ditto.
12083
12084         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12085         instead of _SUBWINDOW_FRAME.
12086         (finalize_image_instance): ditto.
12087         (Fimage_instance_foreground): ditto.
12088         (Fimage_instance_background): ditto.
12089         (image_instantiate): ditto.
12090         (update_subwindow_cachel): ditto.
12091         (update_subwindow): ditto.
12092         (unmap_subwindow): ditto.
12093         (map_subwindow): ditto
12094         (subwindow_instantiate): ditto.
12095         * glyphs-msw.c (mswindows_update_widget): ditto.
12096         (mswindows_progress_gauge_instantiate): ditto.
12097         (mswindows_tab_control_update): ditto.
12098         * glyphs-x.c (x_update_widget): ditto.
12099         (x_widget_instantiate): ditto.
12100         (x_tab_control_instantiate): ditto.
12101         (x_tab_control_update): ditto.
12102         * event-msw.c (mswindows_wnd_proc): ditto
12103
12104         * glyphs-widget.c (image_instantiator_layout): use
12105         subwindow_decode_domain.
12106         (image_instantiator_buttons): ditto.
12107         (image_instantiator_edit_fields): ditto.
12108         (image_instantiator_combo_box): ditto.
12109         (image_instantiator_scrollbar): ditto.
12110         (image_instantiator_progress_guage): ditto.
12111         (image_instantiator_tree_view): ditto.
12112         (image_instantiator_tab_control): ditto.
12113         (image_instantiator_labels): ditto.
12114         (image_instantiator_layout): ditto.
12115
12116         * glyphs.c: add instance error checking to many functions.
12117         (instantiate_image_instantiator): decode device from cache_domain.
12118         (image_instantiate): partially rewrite by using
12119         decode_image_instantiator_domain to determine what domain the
12120         instance needs to be cached in.
12121         (decode_image_instantiator_domain): new function. Determine what
12122         domain the image needs to be cached in.
12123         (check_window_subwindow_cache): new error checking function.
12124         (check_instance_cache_mapper): ditto.
12125         (check_image_instance_structure): ditto.
12126         (subwindow_decode_domain): new function. Encodes a window as a
12127         subwindow's cache domain.
12128         (image_instantiator_format_create): use it for text and
12129         subwindows.
12130
12131 2000-04-21  Andy Piper  <andy@xemacs.org>
12132
12133         * glyphs.c (image_instance_device): new function.
12134         (image_instance_frame): new function.
12135         (image_instance_window): new function.
12136         (image_instance_live_p): new function.
12137
12138         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12139         cache to nil.
12140
12141         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12142         (IMAGE_INSTANCE_DOMAIN): new accessor.
12143         (XIMAGE_INSTANCE_DOMAIN): ditto.
12144
12145         * glyphs-x.c (x_finalize_image_instance): device->domain.
12146
12147         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12148         (mswindows_finalize_image_instance): ditto.
12149
12150         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12151         (gif_instantiate): ditto.
12152         (png_instantiate): ditto.
12153         (tiff_instantiate): ditto.
12154
12155         * glyphs.c (instantiate_image_instantiator): use domain rather
12156         than device.
12157         (mark_image_instance): device -> domain.
12158         (print_image_instance): ditto.
12159         (finalize_image_instance): ditto.
12160         (image_instance_equal): ditto.
12161         (allocate_image_instance): ditto.
12162         (Fcolorize_image_instance): ditto.
12163         (query_string_geometry): ditto.
12164         (image_instantiate): ditto
12165         (query_string_font): ditto.
12166         (image_instantiate): ditto.
12167         (update_subwindow): ditto.
12168         (unmap_subwindow): ditto.
12169         (map_subwindow): ditto.
12170         (subwindow_instantiate): ditto.
12171
12172         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12173         (DOMAIN_FRAME): ditto.
12174         (DOMAIN_WINDOW): ditto.
12175         (DOMAIN_LIVE_P): ditto.
12176         (XDOMAIN_DEVICE): ditto.
12177         (XDOMAIN_FRAME): ditto.
12178         (XDOMAIN_WINDOW): ditto.
12179
12180         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12181         a valid specifier domain.
12182
12183 2000-04-19  Andy Piper  <andy@xemacs.org>
12184
12185         * glyphs-widget.c (syms_of_glyphs_widget): remove
12186         widget-callback-current-channel.
12187         (vars_of_glyphs_widget): ditto.
12188         * glyphs.h: ditto
12189
12190         * gui.c (get_gui_callback): revert to previous behaviour.
12191
12192 2000-04-18  Andy Piper  <andy@xemacs.org>
12193
12194         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12195         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12196         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12197
12198         * glyphs.c (image_instance_equal): add margin_width.
12199         (image_instance_hash): ditto.
12200
12201         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12202         (layout_query_geometry): ditto.
12203         (layout_layout): ditto.
12204         (syms_of_glyphs_widget): add margin-width.
12205         (image_instantiator_layout): allow margin-width.
12206
12207         * glyphs.c (update_widget_instances): make a normal function.
12208         (syms_of_glyphs): remove Qupdate_widget_instances.
12209         * glyphs.h: ditto.
12210
12211         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12212         so that we don't corrupt ideas about the last event or
12213         command. Remove widget-callback-current-channel fiddling.
12214         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12215
12216 2000-05-01  Martin Buchholz <martin@xemacs.org>
12217
12218         * XEmacs 21.2.33 is released.
12219
12220 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12221
12222         * make-src-depend: Allow dots in header file name.
12223
12224 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12225
12226         * mule-charset.h (struct charset_lookup): Add
12227         next_allocated_1_byte_leading_byte and
12228         next_allocated_2_byte_leading_byte.
12229         * mule-charset.c: Move above two variables so that those values
12230         will be dumped.
12231
12232 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12233
12234         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12235         when string length is zero.
12236         (find_charsets_in_emchar_string): Ditto.
12237
12238 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12239
12240         * lisp.h: extern Qdialog and Qmenubar.
12241
12242         * gui-x.c: added events.h.
12243                 also fixed typo which made the file uncompilable.
12244
12245         * general.c: Added Qmenubar and Qdialog
12246
12247 2000-04-28  Ben Wing  <ben@xemacs.org>
12248
12249         * frame-msw.c (mswindows_init_frame_1):
12250         * frame-msw.c (mswindows_mark_frame):
12251         * event-msw.c (mswindows_enqueue_dispatch_event):
12252         * console-msw.h:
12253         * console-msw.h (struct mswindows_frame):
12254         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12255         there are now three hash tables for callbacks.
12256         mswindows_enqueue_dispatch_event is no longer static.
12257
12258         * dialog-x.c (maybe_run_dbox_text_callback):
12259         * dialog-x.c (dbox_descriptor_to_widget_value):
12260         switch to new cons3 form for callbacks.
12261
12262         * glyphs-msw.c (mswindows_register_gui_item):
12263         * glyphs-msw.c (mswindows_widget_instantiate):
12264         * glyphs-msw.c (add_tree_item):
12265         * glyphs-msw.c (add_tab_item):
12266         new image instance parameter, so it can be passed to callback-ex.
12267         respect :callback-ex as well as :callback.
12268
12269         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12270         add :callback-ex.
12271
12272         * glyphs.c (print_image_instance):
12273         prettify, e.g. now prints widget type.
12274
12275         * gui-x.h:
12276         certain funs have new image instance parameter.
12277
12278         * gui.c:
12279         * gui.c (get_gui_callback):
12280         * gui.c (gui_item_add_keyval_pair):
12281         * gui.c (gui_item_init):
12282         * gui.c (gui_add_item_keywords_to_plist):
12283         * gui.c (mark_gui_item):
12284         * gui.c (gui_item_hash):
12285         * gui.c (gui_item_equal):
12286         * gui.c (copy_gui_item):
12287         * gui.c (syms_of_gui):
12288         recognize callback-ex in a number of places.
12289         also, fix the annoying "can't get out of yes-no dialog" bug.
12290
12291         * gui.h:
12292         * gui.h (struct Lisp_Gui_Item):
12293         recognize callback-ex in a number of places.
12294
12295         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12296         new parameter in button_item_to_widget_value.
12297
12298         * glyphs-x.c (x_update_widget):
12299         * glyphs-x.c (x_button_instantiate):
12300         * glyphs-x.c (x_button_update):
12301         * glyphs-x.c (x_progress_gauge_instantiate):
12302         * glyphs-x.c (x_edit_field_instantiate):
12303         * glyphs-x.c (x_combo_box_instantiate):
12304         * glyphs-x.c (x_tab_control_instantiate):
12305         * glyphs-x.c (x_label_instantiate):
12306         new image instance parameter in various places.
12307
12308         * event-Xt.c:
12309         * event-Xt.c (enqueue_Xt_dispatch_event):
12310         this fun gets exported.
12311
12312         * gui-msw.c:
12313         * gui-msw.c (mswindows_handle_gui_wm_command):
12314         handle both :callback and :callback-ex, and generate our own
12315         event because it's one of the callback-ex arguments.
12316
12317         * gui-x.c:
12318         * gui-x.c (popup_selection_callback):
12319         handle both :callback and :callback-ex, and generate our own
12320         event because it's one of the callback-ex arguments.
12321         * gui-x.c (button_item_to_widget_value):
12322         * gui-x.c (gui_items_to_widget_values_1):
12323         * gui-x.c (gui_item_children_to_widget_values):
12324         * gui-x.c (gui_items_to_widget_values):
12325         new image instance parameter in various places.
12326
12327         * fns.c (Freplace_list):
12328         fix small typo in doc string.
12329
12330         * lisp.h:
12331         declare enqueue_Xt_dispatch_event.
12332
12333 2000-04-28  Ben Wing  <ben@xemacs.org>
12334
12335         * buffer.c:
12336         * buffer.c (Frecord_buffer):
12337         * buffer.c (syms_of_buffer):
12338         delete record-buffer-hook.
12339
12340         * fns.c:
12341         * fns.c (Freplace_list):
12342         * fns.c (syms_of_fns):
12343         new primitive replace-list.
12344
12345         * frameslots.h:
12346         slot for old buffer-alist.
12347
12348         * lisp.h:
12349         exfun replace-list.
12350
12351         * redisplay.c:
12352         * redisplay.c (redisplay_frame):
12353         * redisplay.c (syms_of_redisplay):
12354         * redisplay.c (vars_of_redisplay):
12355         new hook buffer-list-changed-hook.
12356         call it.
12357
12358 2000-04-27  Ben Wing  <ben@xemacs.org>
12359
12360         * extents.h: extern in_modeline_generation.
12361
12362         * redisplay.c (generate_formatted_string_db): set
12363         in_modeline_generation.
12364
12365         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12366         flags if in modeline generation.  otherwise frame-modified-tick
12367         is ticked far too often.
12368         Declare in_modeline_generation.
12369
12370 2000-04-26  Ben Wing  <ben@xemacs.org>
12371
12372         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12373         option.
12374         (vars_of_emacs): add quick-build as an error-checking option.
12375         A bit kludgy, but there doesn't seem much point in creating
12376         a real var for this.
12377
12378         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12379
12380 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12381
12382         * redisplay.h (struct display_line): Add a new variable,
12383         line_continuation.
12384
12385         * redisplay.c (create_text_block): Set dl->line_continuation if
12386         the line continues.
12387         (create_string_text_block): Ditto.
12388         (regenerate_window_incrementally): Use line_continuation instead
12389         of searching continuation glyph.
12390         (add_margin_runes): Call add_glyph_rune.
12391         (add_glyph_rune): Handle margin glyph.
12392
12393 2000-04-20  Martin Buchholz  <martin@xemacs.org>
12394
12395         * filelock.c (fill_in_lock_file_name):
12396         ANSIfy.
12397         Check for IS_ANY_SEP instead of '/'.
12398         (lock_file_1):
12399         Avoid generating gratuitous garbage.  Call user_login_name() directly.
12400         Never check errno without first seeing that system call failed.
12401         (unlock_file): Add GCPRO.
12402         (Flock_buffer): Fix docstring.
12403         (Ffile_locked_p): Fix docstring.  Add GCPRO.
12404
12405 2000-04-19  Martin Buchholz  <martin@xemacs.org>
12406
12407         * sysdep.c (get_pty_max_bytes):
12408         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
12409         strings longer than 252 bytes.
12410
12411         * md5.c: Unconditionally include ANSI header <limits.h>
12412
12413         * glyphs-x.c (convert_EImage_to_XImage):
12414         * lisp-union.h (union Lisp_Object):
12415         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
12416
12417 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
12418
12419         * filelock.c (current_lock_owner): Remove unused variable o, p.
12420
12421 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
12422
12423         * callint.c: Remove multiply defined symbol Qlet
12424         (syms_of_callint): ditto.
12425
12426 2000-04-14  Andy Piper  <andy@xemacs.org>
12427
12428         * general.c (syms_of_general): add last-command, this-command, let
12429         and funcall.
12430
12431         * lisp.h: declare various symbols.
12432
12433         * glyphs.h: declare Qwidget_callback_current_channel;
12434
12435         * glyphs-widget.c (syms_of_glyphs_widget): add
12436         Qgui_callback_current_channel.
12437         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
12438
12439         * gui-msw.c (mswindows_handle_gui_wm_command): bind
12440         widget-callback-current-channel when invoking the interactive
12441         arg. Also bind last-command and next-command when invoking the
12442         widget updates.
12443         * gui-x.c (popup_selection_callback): ditto.
12444
12445         * gui.c (get_gui_callback): massage args so that we are always
12446         calling eval. This allows us to add our own variable bindings
12447         outside.
12448
12449         * glyphs-x.c (x_button_instantiate): use
12450         gui_items_to_widget_values since this is GC safe.
12451         (x_progress_gauge_instantiate): ditto.
12452         (x_edit_field_instantiate): ditto.
12453         (x_label_instantiate): ditto.
12454
12455         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
12456         (emacs_Xt_event_widget_focus_out): new function
12457         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
12458         focus.
12459         (emacs_Xt_event_add_widget_actions): new function. add focus
12460         functions as actions.
12461         (init_event_Xt_late): use it.
12462
12463 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
12464
12465         * event-stream.c (Fdispatch_event): Doc fix.
12466
12467 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
12468
12469         * postgresql.c: Remove all references to PQsetenv*.
12470
12471         * postgresql.h: Remove references to PGsetenvHandler object.
12472         * lrecord.h (lrecord_type): Ditto.
12473
12474 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12475
12476         * glyphs-msw.h (struct mswindows_image_instance_data): Added
12477         real_heigh and real_width members, and accessor macros for these.
12478
12479         * glyphs-msw.c (init_image_instance_geometry): New function.
12480         (init_image_instance_from_dibitmap): Use it.
12481         (mswindows_resource_instantiate): Use it.
12482         (init_image_instance_from_xbm_inline): Use it.
12483         (mswindows_initialize_image_instance_mask): Use real bitmap
12484         geometry.
12485         (mswindows_create_resized_bitmap): Ditto.
12486         (mswindows_create_resized_mask): Ditto.
12487
12488         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
12489         and bitmap to their surface size.
12490
12491 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
12492
12493         * process-unix.c (unix_send_process): Guard against process MIA
12494         after Faccept_process_output.
12495
12496 2000-04-11  Ben Wing  <ben@xemacs.org>
12497
12498         * eval.c (unbind_to_hairy): fix brokenness introduced by
12499         nanosecond speed improvements.
12500
12501 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
12502
12503         * sunplay.c (init_device): To play sounds correctly, the device
12504         apparently needs to be initialized at least once by XEmacs.  Make
12505         it so.
12506
12507 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12508
12509         * redisplay.c (add_margin_runes): Add text image glyph
12510           handling.
12511
12512 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
12513
12514         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
12515         gcc is newer than 2.5.
12516
12517 2000-04-06  Colin Rafferty  <colin@xemacs.org>
12518
12519         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
12520
12521         * fns.c (size_bit_vector):
12522         * alloc.c (size_vector):
12523         (make_vector_internal):
12524         (make_bit_vector_internal):
12525         (sweep_bit_vectors_1):
12526         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
12527
12528 2000-04-06  Andy Piper  <andy@xemacs.org>
12529
12530         * gmalloc.c (malloc): undo previous change.
12531         (malloc): ditto.
12532         (free): ditto.
12533         (realloc): ditto.
12534
12535 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
12536
12537         * line-number.c (buffer_line_number): Revert to former version.
12538
12539 2000-04-06  Andy Piper  <andy@xemacs.org>
12540
12541         * gmalloc.c (malloc): add error checking.
12542         (malloc): ditto.
12543         (free): ditto.
12544         (realloc): ditto.
12545
12546         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
12547         button_item_to_widget_value arg.
12548
12549         * glyphs-x.c (x_button_instantiate): add extra
12550         button_item_to_widget_value arg.
12551         (x_progress_gauge_instantiate): ditto.
12552         (x_edit_field_instantiate): ditto.
12553         (x_label_instantiate): ditto.
12554
12555         * gui-x.c (gui_items_to_widget_values_1): add extra
12556         button_item_to_widget_value arg.
12557         (button_item_to_widget_value): add extra menu_item_p arg.
12558
12559         * gui-x.h: change signature of button_item_to_widget_value.
12560
12561         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
12562         button_item_to_widget_value arg.
12563
12564 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
12565
12566         * buffer.h (struct buffer): auto_save_modified should be long.
12567
12568 2000-04-05  Andy Piper  <andy@xemacs.org>
12569
12570         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
12571         type.
12572         (button_query_geometry): give a little more room so that athena
12573         buttons fit.
12574
12575 2000-04-05  Andy Piper  <andy@xemacs.org>
12576
12577         * faces.c (complex_vars_of_faces): The widget face should inherit
12578         the font of the gui-element face.
12579
12580 2000-04-04  Andy Piper  <andy@xemacs.org>
12581
12582         * glyphs-x.c (x_button_update): new function. unconditionally
12583         update a button's state when the instance is dirty.
12584         (image_instantiator_format_create_glyphs_x): add x_button_update.
12585         (x_widget_instantiate): remove old resize cruft.
12586
12587 2000-04-02  Andy Piper  <andy@xemacs.org>
12588
12589         * frame.c (change_frame_size_1): The introduction of gutters means
12590         that we need to allow 0 as a potential frame dimension.
12591
12592 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12593
12594         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
12595         image glyph if allow_cursor.
12596         (add_hscroll_rune): Don't allow cursor to border glyph.
12597         (create_text_block): Ditto.
12598
12599         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
12600         text not in buffer.
12601         (redisplay_output_layout): Call ensure_face_cachel_complete for
12602         text image glyph.
12603
12604
12605 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12606
12607         * redisplay.c (add_glyph_rune): Adding text image as text runes.
12608
12609         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
12610         not in buffer
12611
12612         * redisplay-tty.c (tty_output_display_block): Delete the routine
12613         for text image glyph
12614         * redisplay-x.c (x_output_display_block): ditto
12615         * redisplay-msw.c (mswindows_output_display_block): ditto
12616
12617 2000-02-02  Mike Alexander  <mta@arbortext.com>
12618
12619         Note: Some of these were committed by accident as part of other
12620         patches.
12621
12622         * regex.c (regex_compile): Avoid compiler warnings.
12623
12624         * ntproc.c (sys_spawnve): Avoid compiler warnings.
12625
12626         * nt.h: Declare term_ntproc correctly.
12627
12628         * nt.c: Remove incorrect declaration of get_home_directory which
12629         is declared correctly in lisp.h.
12630
12631         * keymap.c (get_keyelt): Avoid compiler warnings.
12632         (raw_lookup_key_mapper): Avoid compiler warnings.
12633
12634         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
12635
12636         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
12637
12638         * filemode.c (mode_string): Avoid compiler warnings.
12639
12640         * file-coding.c (Fcoding_system_aliasee): Add return statement to
12641         avoid warning.
12642
12643         * events-mod.h: Undef some things that winuser.h defines differently.
12644
12645         * data.c (Faset): Avoid compiler warnings.
12646
12647         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
12648
12649 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12650
12651         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
12652         Fall through to simple beep on error.
12653         Replace "extern" by real header file.
12654
12655         * linuxplay.c: Use nativesound.h
12656         (play_sound_data): Return error code. Be less verbose on error.
12657
12658         * sunplay.c: Use nativesound.h
12659         (play_sound_data): Return error code. Be less verbose on error.
12660
12661         * ntplay.c: Use nativesound.h
12662         (play_sound_data): Return fake error code
12663
12664         * sgiplay.c: Use nativesound.h
12665         (play_sound_data): Return error code
12666
12667         * hpplay.c: Use nativesound.h, partially implement
12668         new error code. Break compilation until finished.
12669         (play_sound_data): error code.
12670
12671         * nativesound.h (play_sound_file):
12672           (play_sound_data): Prototype in new header.
12673
12674 2000-03-31  Andy Piper  <andy@xemacs.org>
12675
12676         * glyphs-widget.c: (button_query_geometry): new function. Adjust
12677         for toggle and radio buttons.
12678         (image_instantiator_buttons): use it.
12679
12680 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
12681
12682         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
12683         (x_update_horizontal_scrollbar_callback): Return if no mirror was
12684         found. Scrollbar event probably belonged to some old config.
12685
12686 2000-03-31  Andy Piper  <andy@xemacs.org>
12687
12688         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
12689         than 1.
12690         (initialize_widget_image_instance): default layout to
12691         LAYOUT_HORIZONTAL rather than 0.
12692         (widget_instantiate): reverse the item list at the end rather than
12693         every iteration.
12694         (layout_layout): re-code for the border text at the front of the
12695         item list rather than at the end.
12696         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
12697         provided by the user.
12698         (widget_query_geometry): comment.
12699
12700 2000-03-30  Andy Piper  <andy@xemacs.org>
12701
12702         * glyphs-widget.c (image_instantiator_layout): allow standard
12703         widget keywords in layouts.
12704
12705         * gutter.c (output_gutter): cope with nil gutter contents.
12706
12707         * frame.c (Fset_frame_properties): add gutter docs.
12708
12709 2000-03-29  Andy Piper  <andy@xemacs.org>
12710
12711         * toolbar-msw.c (TBSTYLE_FLAT): add.
12712         (mswindows_output_toolbar): minor fiddling.
12713
12714 2000-03-29  Andy Piper  <andy@xemacs.org>
12715
12716         * gutter.c (output_gutter): force gutter size recalculation if
12717         what we are trying to display won't fit.
12718         (update_gutter_geometry): new function. A per-gutter version of
12719         update_frame_gutter_geometry.
12720         (update_frame_gutter_geometry): use it.
12721         (redraw_exposed_gutter): add extra debugging output.
12722
12723 2000-03-28  Mike Alexander  <mta@arbortext.com>
12724
12725         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
12726         (pdump_file_unmap): Implement it on Windows
12727         (pdump_file_get): Save alocated handles for pdump_file_unmap
12728
12729 2000-03-28  Andy Piper  <andy@xemacs.org>
12730
12731         * gui.c (get_gui_callback): treat Quit specially.
12732
12733 2000-03-27  Andy Piper  <andy@xemacs.org>
12734
12735         * glyphs.c (image_instantiate): be careful to check in the same
12736         way we assigned.
12737
12738 2000-03-27  Didier Verna  <didier@xemacs.org>
12739
12740         * config.h.in: define the proper SMART_INCLUDE macro.
12741         handle renaming of `foo_h_path' to `foo_h_file'.
12742
12743         * database.c: ditto.
12744
12745         * emacs.c: ditto.
12746
12747         * linuxplay.c: ditto.
12748
12749         * terminfo.c: ditto.
12750
12751         * tooltalk.h: ditto.
12752
12753 2000-03-27  Andy Piper  <andy@xemacs.org>
12754
12755         * glyphs-msw.c (mswindows_update_widget): make sure the widget
12756         gets updated whenever the face might have changed.
12757
12758 2000-03-26  Mike Alexander  <mta@arbortext.com>
12759
12760         * dumper.c (pdump_resource_free): Fix the comment.
12761
12762 2000-03-21  Olivier Galibert  <galibert@pobox.com>
12763
12764         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
12765
12766 2000-03-22  Mike Alexander  <mta@arbortext.com>
12767
12768         * dumper.c: Include Windows headers on Windows
12769         (pdump_resource_free): Add a body to the function
12770         (pdump_load): exe_name -> exe_path and add some comments.
12771
12772 2000-03-25  Mike Alexander  <mta@arbortext.com>
12773
12774         * gui.c (copy_gui_item_tree): Return a value in all cases
12775
12776 2000-03-21  Didier Verna  <didier@xemacs.org>
12777
12778         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
12779         lwlib/config.h.in.
12780         (SMART_INCLUDE): new macro.
12781         (POSTGRES_INCLUDE): new macro to include postgresql headers from
12782         the proper location.
12783
12784         * postgresql.c: use it.
12785
12786         * inline.c: ditto.
12787
12788 2000-03-24  Andy Piper  <andy@xemacs.org>
12789
12790         * gutter.c (redraw_exposed_gutters): must be "in display" when we
12791         do this.
12792
12793 2000-03-24  Andy Piper  <andy@xemacs.org>
12794
12795         * redisplay-output.c (compare_runes): use image_instance_changed
12796         to detect changes. Do not depend on glyphs_changed, only depend on
12797         dirtiness.
12798          (redisplay_output_layout): add debug messages.
12799         (compare_runes): ditto.
12800
12801         * glyphs.h: declare new functions.
12802         (struct Lisp_Image_Instance): remove percent and associated
12803         accessors.
12804
12805         * gui.h: declare new copying functions.
12806
12807         * gui.c (copy_gui_item_tree): new function.
12808         (copy_gui_item): new function.
12809         (gui_item_id_hash): revert to standard hash.
12810         (gui_item_hash): ditto.
12811         (gui_item_hash_internal): deleted.
12812         (mark_gui_item): mark value.
12813         (gui_item_add_keyval_pair): add value.
12814         (gui_item_init): ditto.
12815         (gui_add_item_keywords_to_plist): ditto.
12816         (gui_item_equal): ditto.
12817         (syms_of_gui): add Q_value.
12818
12819         * glyphs-x.c (x_progress_gauge_update): use pending items and
12820         value for setting the state.
12821         (x_update_widget): don't set items from pending here.
12822
12823         * glyphs-widget.c (update_widget): update items here.
12824         (progress_gauge_set_property): use items for storing value. Put
12825         new value in pending items.
12826
12827         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
12828         items for new value. Convert percent -> value.
12829         (mswindows_tab_control_update): don't update items here.
12830
12831         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
12832         (update_subwindow): ditto.
12833         (image_instance_changed): new function. Compare hash values and
12834         past and present widget items.
12835         (image_instantiate): We more careful about where we instantiate
12836         things.
12837         (image_instantiate): add error checking.
12838
12839         * gutter.c (syms_of_gutter): use -hook.
12840
12841 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
12842
12843         * console-tty.c (Fset_console_tty_input_coding_system): Use
12844         Qkeyboard.
12845         (Fset_console_tty_output_coding_system): Use Qterminal.
12846         (tty_init_console): Use Qkeyboard and Qterminal.
12847
12848 2000-03-21  Ben Wing  <ben@xemacs.org>
12849
12850         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
12851         From Mike Alexander <mta@arbortext.com>.
12852
12853 2000-03-21  Ben Wing  <ben@xemacs.org>
12854
12855         * event-msw.c (mswindows_need_event): Horrible kludge to fix
12856         process brokenness.  Proper implementation to come.
12857         * callproc.c:
12858         Rename call-process-internal to old-call-process-internal.
12859         New impl. in process.el.
12860
12861 2000-03-21  Martin Buchholz  <martin@xemacs.org>
12862
12863         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
12864
12865 2000-03-20  Andy Piper  <andy@xemacs.org>
12866
12867         * glyphs.c (full_list_hash): make hashes of the same elements in
12868         different orders return different values.
12869
12870 2000-03-20  Martin Buchholz <martin@xemacs.org>
12871
12872         * XEmacs 21.2.32 is released.
12873
12874 2000-03-20  Martin Buchholz  <martin@xemacs.org>
12875
12876         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
12877         (DFC_MALLOC_USE_CONVERTED_DATA):
12878         Add aliasing-safe casts to allow use with char* or unsigned char*
12879         lvalues.
12880
12881         * eldap.c (Fldap_open):
12882         (Fldap_search_basic):
12883         (Fldap_add):
12884         (Fldap_modify):
12885         Make C++-compilable.
12886         Make sure GCPRO'ed variables are initialized.
12887         Use temp variables to avoid repeated calls to Flength.
12888
12889 2000-03-16  Martin Buchholz  <martin@xemacs.org>
12890
12891         * sysfile.h:
12892         Make sure PATH_MAX is always defined.
12893         Include limits.h for PATH_MAX.
12894         Deprecate use of MAXPATHLEN.
12895
12896 2000-03-10  Martin Buchholz  <martin@xemacs.org>
12897
12898         * emacs.c: Add reinit_vars_of_fileio.
12899         * symsinit.h: Add reinit_vars_of_fileio.
12900         * fileio.c (reinit_vars_of_fileio): New.
12901         * fileio.c (Fmake_temp_name):
12902         Initialize temp_name random number from microseconds to make
12903         collisions even less likely.  Initialize always at process startup
12904         time.  (make-temp-name) used to return the same file name twice in
12905         a row when PDUMP.
12906         Random stylistic fiddling.
12907         Comment fixes.
12908
12909 2000-03-20  Andy Piper  <andy@xemacs.org>
12910
12911         * glyphs.c (image_instantiate): allow text glyphs to be
12912         instantiated in the minibuffer window.
12913
12914 2000-03-19  Andy Piper  <andy@xemacs.org>
12915
12916         * glyphs.c (image_instance_hash): be careful about which items we
12917         hash on.
12918
12919         * glyphs-widget.c (tab_control_set_property): record into pending
12920         items rather than the actual items.
12921
12922         * glyphs-x.c (x_update_widget): use pending items to update with.
12923
12924         * glyphs-msw.c (mswindows_tab_control_update): use pending items
12925         to update with.
12926
12927         * glyphs.c (mark_image_instance): mark pending items.
12928
12929         * window.c (Fset_window_configuration): record the buffer.
12930         (Fselect_window): totally revert previous change which breaks many
12931         things.
12932
12933 2000-03-18  Andy Piper  <andy@xemacs.org>
12934
12935         * glyphs-msw.c (mswindows_tab_control_update): force selected
12936         item.
12937
12938         * glyphs.c (image_instantiate): don't allow the minibuffer as a
12939         window domain cache, otherwise we get inconsistencies at
12940         startup. There is something fishy at startup which can lead to the
12941         minibuffer being the selected window when the gutter content is
12942         instantiated.
12943
12944         * gui.c (parse_gui_item_tree_list): add probably unnecessary
12945         gcpros.
12946         (parse_gui_item_tree_children): ditto.
12947         (parse_gui_item_tree_item): ditto.
12948
12949         * glyphs.c (Fupdate_widget_instances): return something.
12950
12951 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
12952
12953         * window.c (Fselect_window): Undo 2000-03-17 change.
12954
12955 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
12956
12957         * postgresql.c (Fpq_setenv): Remove this turkey when linking
12958         against v7.0 libraries.  Insta-coredump city until the postgres
12959         folks fix it.
12960
12961 2000-03-17  Andy Piper  <andy@xemacs.org>
12962
12963         * faces.c (complex_vars_of_faces): don't give the widget face an
12964         inherited background pixmap.
12965
12966         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
12967         selected item.
12968
12969         * event-stream.c (Fdispatch_non_command_events): return something.
12970
12971         * gutter.c (output_gutter): use widget face.
12972         (clear_gutter): ditto.
12973
12974         * NEWS: adjust again.
12975
12976         * window.c (Fselect_window): make sure this runs to completion to
12977         avoid oddities with Fset_window_configuration.
12978         (Fcurrent_window_configuration): in general do not save the
12979         minibuffer as the selected window.
12980
12981         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
12982
12983 2000-03-16  Olivier Galibert  <galibert@pobox.com>
12984
12985         * emacs.c (Frunning_temacs_p): Revert previous patch.
12986         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
12987
12988 2000-03-16  Andy Piper  <andy@xemacs.org>
12989
12990         * glyphs-x.c (x_tab_control_update): if no widget values then
12991         return.
12992
12993         * NEWS: update for new features.
12994
12995         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
12996         synthetic event to the native system.
12997         (reinit_vars_of_event_Xt): set force_event_pending to
12998         emacs_Xt_force_event_pending.
12999
13000         * events.h (struct event_stream): add force_event_pending.
13001
13002         * specifier.c (recompute_one_cached_specifier_in_window): add
13003         comment.
13004
13005         * redisplay.c (redisplay_frame): don't call
13006         update_frame_subwindows. Reset subwindow cachels when
13007         subwindows_changed, removing this was an optimization too far.
13008
13009         * redisplay-output.c (compare_runes): reorganize so that we catch
13010         glyph changes when we want them. Set optimize_output when this
13011         would help layouts.
13012         (redisplay_output_layout): remove frame_really_changed, use
13013         optimize_output instead.
13014
13015         * redisplay-msw.c (mswindows_output_display_block): reset
13016         optimize_output after outputting a glyph.
13017         * redisplay-x.c (x_output_display_block): ditto.
13018         * redisplay-tty.c (tty_output_display_block): ditto.
13019
13020         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13021         functions.
13022         (gutter_specs_changed): do specific gutter positions.
13023         (top_gutter_specs_changed): new function. Only update the
13024         specified gutter specs.
13025         (bottom_gutter_specs_changed): ditto.
13026         (left_gutter_specs_changed): ditto.
13027         (right_gutter_specs_changed): ditto.
13028
13029         * gui.c (gui_item_hash_internal): new function, does a real hash.
13030         (gui_item_id_hash): use it.
13031         (gui_item_hash): hash the eval'ed gui_item.
13032
13033         * gui-x.c (popup_selection_callback): send an eval event to call
13034         Fupdate_widget_instances.
13035
13036         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13037         to call Fupdate_widget_instances.
13038
13039         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13040         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13041
13042         * glyphs.c: (update_frame_subwindows): deleted.
13043         (Fupdate_widget_instances): new function for updating the dirty
13044         state of widgets that might have changed.
13045         (syms_of_glyphs): add Qupdate_widget_instances.
13046         (full_list_hash): hash a list completely.
13047         (image_instance_hash): use it for items and properties.
13048
13049         * frame-msw.c (mswindows_size_frame_internal): remove unused
13050         variable.
13051
13052         * faces.h (struct face_cachel): fix comment.
13053
13054         * event-stream.c (Fdispatch_non_command_events): new
13055         function. Process non-command events, forcing an event cycle
13056         beforehand.
13057         (syms_of_event_stream): declare.
13058         (event_stream_force_event_pending): new function. Force an event
13059         on the native event queue so that an event cycle will occur next
13060         time we check.
13061
13062         * event-msw.c:
13063         (struct ntpipe_shove_stream):
13064         (mswindows_enqueue_dispatch_event):
13065         (mswindows_dequeue_dispatch_event):
13066         (mswindows_cancel_dispatch_event):
13067         (mswindows_pump_outstanding_events):
13068         (mswindows_drain_windows_queue):
13069         (mswindows_handle_paint):
13070         (mswindows_wnd_proc):
13071         (mswindows_key_to_emacs_keysym):
13072         (get_process_input_waitable):
13073         (emacs_mswindows_delete_stream_pair): re-indent file.
13074         (mswindows_need_event): do not process further fds if the windows
13075         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13076         fixes the 100% cpu problem.
13077         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13078
13079 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13080
13081         * alloc.h: New.
13082         * dumper.h: New.
13083         * dumper.c: New.
13084
13085         * emacs.c: Moved dump file searching to dumper.c.
13086         (Frunning_temacs_p): Fixed.
13087
13088         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13089         last_lrecord_type_index_assigned.
13090
13091 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13092
13093         * symsinit.h: Added reinit parameter to init_console_stream
13094         declaration.
13095
13096         * lisp.h: Added file parameter to pdump_load declaration.
13097
13098         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13099         support.  Added dump file searching.
13100
13101         * config.h.in: Added EMACS_PROGNAME.
13102
13103         * console-stream.c (init_console_stream): Fix reinitialisation
13104         when running from temacs.
13105
13106         * alloc.c (pdump): Add id support.
13107         (pdump_load): Add file parameter and signature/id support.
13108
13109         * Makefile.in.in: Add full pdump support.
13110
13111 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13112
13113         * postgresql.c: Update documentation to reflect latest code
13114         status.
13115         (print_result): Show tuple counts in printed representation when
13116         appropriate.
13117         (Fpq_put_nbytes): MULE-ize.
13118         (Fpq_get_line_async): Ditto.
13119
13120 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13121
13122         * postgresql.c (Fpq_lo_import): Fix return value.
13123         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13124
13125 2000-03-13  Ben Wing  <ben@xemacs.org>
13126
13127         * alloc.c (pdump_load):
13128         Fix compile warning under mswin.
13129
13130 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13131
13132         * postgresql.c: Mule-ization, bug fixes.
13133         Use PG_CODING to encapsulate coding system name changes.
13134         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13135         (pg-coding-system): Create.
13136
13137         (Fpq_conn_defaults): Mule-ize.
13138         (Fpq_connectdb): Mule-ize & bug fix.
13139         (Fpq_connect_start): Mule-ize.
13140         (Fpq_set_client_encoding): Mule-ize.
13141         (Fpq_finish): Document `DEAD' connection status.
13142         (Fpq_clear): Ditto.
13143         (Fpq_pgconn): Mule-ize.
13144         (Fpq_exec): Mule-ize & bug fix.
13145         (Fpq_send_query): Ditto.
13146         (Fpq_get_result): Ditto.
13147         (Fpq_res_status): Mule-ize.
13148         (Fpq_result_error_message): Mule-ize.
13149         (Fpq_ntuples): fix comments.
13150         (Fpq_fname): Mule-ize.
13151         (Fpq_fnumber): Mule-ize.
13152         (Fpq_ftype): fix comments.
13153         (Fpq_get_value): Mule-ize.
13154         (Fpq_cmd_status): Ditto.
13155         (Fpq_cmd_tuples): Ditto.
13156         (Fpq_oid_value): Ditto.
13157         (Fpq_notifies): Ditto.
13158         (Fpq_lo_import): Ditto.
13159         (Fpq_lo_export): Ditto.
13160         (Fpq_get_line): Ditto.
13161         (Fpq_put_line): Mule-ize and bug fix.
13162         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13163
13164 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13165
13166         * postgresql.c (vars_of_postgresql): Mule-ize.
13167         (Fpq_conn_defaults): Ditto.
13168
13169 2000-03-12  Ben Wing  <ben@xemacs.org>
13170
13171         * alloc.c (Fmake_byte_code):
13172         * alloc.c (debug_string_purity_print):
13173         * alloc.c (pdump_backtrace):
13174         * alloc.c (pdump_get_indirect_count):
13175         * alloc.c (pdump_register_sub):
13176         * alloc.c (pdump_register_object):
13177         * alloc.c (pdump_register_struct):
13178         * alloc.c (pdump_dump_data):
13179         * alloc.c (pdump_reloc_one):
13180         Minor cleanups.
13181
13182         * console-msw.c:
13183         * console-msw.c (GetConsoleHwnd):
13184         * console-msw.c (msw_hide_console):
13185         * console-msw.c (msw_show_console):
13186         * console-msw.c (msw_ensure_console_buffered):
13187         * console-msw.c (msw_output_console_string):
13188         * console-msw.c (console_type_create_mswindows):
13189
13190         a) Added functions to manipulate the console window for use with
13191         shell support.
13192
13193         b) Added support for writing text to the console, which is now
13194         used under Windows when xemacs is not being run non-interactively,
13195         to write text that would otherwise be destined for stdout because
13196         under these circumstances, text written to stdout tends to
13197         disappear and not be seen.
13198
13199         * console-msw.h:
13200         * event-Xt.c:
13201         * event-Xt.c (x_event_to_emacs_event):
13202         * event-Xt.c (describe_event_window):
13203         * events-mod.h (XEMACS_MOD_CONTROL):
13204         * events.c:
13205         * events.c (Fmake_event):
13206         * events.c (character_to_event):
13207         * events.c (event_to_character):
13208         * events.c (format_event_object):
13209         * events.c (Fevent_modifiers):
13210         * events.h:
13211         * events.h (struct key_data):
13212         * events.h (struct button_data):
13213         * events.h (struct misc_user_data):
13214         * frame-x.c (Fcde_start_drag_internal):
13215         * frame-x.c (Foffix_start_drag_internal):
13216         * gpmevent.c (Freceive_gpm_event):
13217         * keymap.c:
13218         * keymap.c (bucky_sym_to_bucky_bit):
13219         * keymap.c (control_meta_superify):
13220         * keymap.c (make_key_description):
13221         * keymap.c (keymap_lookup_directly):
13222         * keymap.c (create_bucky_submap):
13223         * keymap.c (keymap_store):
13224         * keymap.c (define_key_check_and_coerce_keysym):
13225         * keymap.c (define_key_parser):
13226         * keymap.c (define_key_alternate_name):
13227         * keymap.c (Fdefine_key):
13228         * keymap.c (raw_lookup_key_mapper):
13229         * keymap.c (struct map_keymap_unsorted_closure):
13230         * keymap.c (map_keymap_unsorted_mapper):
13231         * keymap.c (map_keymap_sort_predicate):
13232         * keymap.c (map_keymap_sorted):
13233         * keymap.c (accessible_keymaps_mapper_1):
13234         * keymap.c (where_is_recursive_mapper):
13235         * keymap.c (describe_map_mapper):
13236         * keymap.c (describe_map_sort_predicate):
13237         * keymap.c (describe_map):
13238         * keymap.c (complex_vars_of_keymap):
13239         And a number of other files, the key modifier preprocessor
13240         constants that xemacs uses have names that conflict with constants
13241         defined under MS Windows for other purposes, so they were renamed
13242         to begin with the prefix XEMACS_. The variables that hold such
13243         modifiers were changed to consistently be of type int to fix
13244         various compile warnings.
13245
13246         * console.c (complex_vars_of_console):
13247         * device.c:
13248         * device-msw.c:
13249         * device-msw.c (mswindows_finish_init_device):
13250         * device-msw.c (msw_get_workspace_coords):
13251         * device-msw.c (mswindows_device_system_metrics):
13252         and various other files, added support for a new
13253         device property called offset-workspace which returns the position
13254         of the upper left corner of the workspace area and goes along with
13255         the existing size-workspace property.
13256
13257         * dialog-msw.c:
13258         * dialog-msw.c (push_bufbyte_string_as_unicode):
13259         * dialog-msw.c (mswindows_popup_dialog_box):
13260         Added support for XEmacs-style accelerator specifications in
13261         button text.  Note: I didn't add support for this under X Windows,
13262         and somebody needs to do this.
13263
13264         * dialog.c:
13265         * dialog.c (Fpopup_dialog_box):
13266         Documented the support for accelerators that was just mentioned.
13267
13268         editfns.c (get_home_directory): Changed behavior under Windows
13269         when HOME not defined; former behavior was irretrievably broken.
13270
13271         * emacs.c:
13272         * emacs.c (main_1):
13273         * emacs.c (main):
13274         * minibuf.c (clear_echo_area_internal):
13275         * minibuf.c (echo_area_append):
13276         * print.c:
13277         * print.c (std_handle_out_external):
13278         * print.c (std_handle_out_va):
13279         * print.c (fatal):
13280         * print.c (write_string_to_stdio_stream):
13281         * print.c (output_string):
13282         * print.c (debug_print):
13283         * print.c (debug_backtrace):
13284         * print.c (debug_short_backtrace):
13285         Cleaned up the code that prints text to stdout so that this can be
13286         changed to output into a console window instead under MS Windows,
13287         as described above.
13288
13289         * eval.c:
13290         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13291         * eval.c (internal_catch):
13292         * eval.c (unwind_to_catch):
13293         * eval.c (throw_or_bomb_out):
13294         * eval.c (condition_case_1):
13295         * eval.c (signal_1):
13296         * eval.c (check_error_state_sanity):
13297         * eval.c (call_with_suspended_errors_1):
13298         * eval.c (call_with_suspended_errors):
13299         * eval.c (reinit_vars_of_eval):
13300         Added code to catch throw loops and check for a pesky bug that may
13301         be gone now.
13302
13303         * event-msw.c:
13304         * event-msw.c (key_needs_default_processing_p):
13305         * event-msw.c (mswindows_wnd_proc):
13306         * event-msw.c (mswindows_modifier_state):
13307         * event-msw.c (emacs_mswindows_quit_p):
13308         * event-msw.c (vars_of_event_mswindows):
13309         a) Added support for using the alt key to select menu items as is
13310         standard under MS Windows.  This is controlled using the variable
13311         menu-accelerator-enabled, just like under X Windows.  There is an
13312         option on the options menu to turn this support on.  I really
13313         think that it should be on by default under Windows, but I'm not
13314         going to make this change yet.
13315
13316         b)  Added support for dynamic display size changes under Windows.
13317
13318         * event-stream.c:
13319         * event-stream.c (maybe_echo_keys):
13320         * event-stream.c (Fnext_event):
13321         * event-stream.c (command_builder_find_leaf):
13322         * event-stream.c (lookup_command_event):
13323         * event-stream.c (execute_command_event):
13324         * event-stream.c (pre_command_hook):
13325         * event-stream.c (post_command_hook):
13326         * event-stream.c (syms_of_event_stream):
13327         * event-stream.c (vars_of_event_stream):
13328         * event-stream.c (complex_vars_of_event_stream):
13329         * events.h (struct command_builder):
13330
13331         a) Tried to clean up a little bit the horribly written x-specific
13332         accelerator code that crept into this file.  I moved this code
13333         into menubar-x.c where it belongs. I also needed to move the
13334         command builder structure into the file events.h because it is
13335         accessed directly by this accelerator code.  What I didn't do, but
13336         which should be done at some point, is to properly abstract this
13337         code using device methods instead of the kludgy way that it
13338         currently hooks into the event code.
13339
13340         b) Added the lisp variables this-command-properties and
13341         last-command- properties, which should be used to synchronize two
13342         adjacent commands in preference to playing games with the variable
13343         this-command, which is typically what happens.
13344
13345         c) Added some slightly nasty code to hook into the lisp support
13346         for shifted- motion-key selection.  This is actually necessary for
13347         somewhat complicated reasons, which are described in
13348         simple.el. (NB: I think the proper thing would be to have the code
13349         that calls the pre and post command hooks also call out to generic
13350         lisp functions in simple.el, where all built-in stuff could be
13351         added.  I will think about this more.)
13352
13353         * event-unixoid.c (poll_fds_for_input):
13354         * lread.c (readchar):
13355         * redisplay-tty.c (tty_clear_frame):
13356         * redisplay-x.c (x_get_gc):
13357         * signal.c (interrupt_signal):
13358         And a whole bunch of other files: fixed up places that printed
13359         directly to stderr to instead call the function stderr_out so that
13360         the changes I made under Windows work correctly.
13361
13362         * filemode.c (mode_string):
13363         Warning fixes.
13364
13365         * frame-msw.c:
13366         * frame-msw.c (mswindows_size_frame_internal):
13367         Fixed the computation of frame size and position to keep the frame
13368         within the workspace area, rather than within the physical
13369         dimensions of the screen, so that the frame doesn't overlap window
13370         manager decorations, such as the start menu and toolbar, typically
13371         at the bottom of the screen.
13372
13373         * frame.c (vars_of_frame):
13374         Changed the default frame title format under MS Windows to consist
13375         of buffername-XEmacs, which is standard under MS Windows.  I think
13376         it might be a good idea to change this everywhere because I think
13377         it is superior to the current frame title format, but this is the
13378         kind of change that is likely to cause some people to get annoyed,
13379         so I'm not making it.
13380
13381         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13382
13383         * gui-msw.c (mswindows_handle_gui_wm_command):
13384         Fixed compile warnings.
13385
13386         * gui-x.c:
13387         * gui-x.c (strdup_and_add_accel):
13388         * gui-x.c (button_item_to_widget_value):
13389         * gui-x.h:
13390         Added code to automatically put an accelerator onto the beginning
13391         of menu items that don't have one as is now the standard, and is
13392         described more later.  Also fixed things so that the menu item
13393         name can be an evaluated expression, again a new standard.
13394
13395         * gui.c:
13396         * gui.c (gui_item_add_keyval_pair):
13397         * gui.c (make_gui_item_from_keywords_internal):
13398         * gui.c (gui_add_item_keywords_to_plist):
13399         * gui.c (gui_item_accelerator):
13400         * gui.c (gui_name_accelerator):
13401         * gui.c (gui_item_included_p):
13402         * gui.c (gui_item_display_flush_left):
13403         * gui.c (gui_item_display_flush_right):
13404         * gui.c (parse_gui_item_tree_item):
13405         * gui.c (parse_gui_item_tree_children):
13406         * gui.c (parse_gui_item_tree_list):
13407         Mule-ized.  Cleanup.  GCPRO addition.
13408
13409         * line-number.c (buffer_line_number):
13410         * lisp.h:
13411         * lisp.h (EMACS_INT_MAX):
13412         Added the manifest constant EMACS_INT_MIN corresponding to the
13413         existing constant EMACS_INT_MAX.  This is partially to fix compile
13414         warnings under Windows, and partly for cleanliness.
13415
13416         * menubar-msw.c:
13417         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
13418         * menubar-msw.c (msw_translate_menu_or_dialog_item):
13419         * menubar-msw.c (displayable_menu_item):
13420         * menubar-msw.c (populate_menu_add_item):
13421         * menubar-msw.c (populate_or_checksum_helper):
13422         * menubar-msw.c (populate_menu):
13423         * menubar-msw.c (update_frame_menubar_maybe):
13424         * menubar-msw.c (prune_menubar):
13425         * menubar-msw.c (msw_char_is_accelerator):
13426         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
13427         * menubar-msw.c (mswindows_handle_wm_command):
13428         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
13429         * menubar-msw.c (mswindows_handle_wm_initmenu):
13430         * menubar-msw.c (mswindows_update_frame_menubars):
13431         * menubar-msw.c (mswindows_free_frame_menubars):
13432         * menubar-msw.c (mswindows_popup_menu):
13433         Fixed a bug in handling accelerators where an extra character
13434         would be displayed in the menu item.  Also generalized the
13435         function displayable_menu_item because it is now used by the
13436         dialog box code as well.  And finally, added code in the functions
13437         that create the menubar to extract a list of accelerators for the
13438         top level menubar, which is used in the event code to determine
13439         whether a particular alt-key combination should be used to invoke
13440         a menu item, or should be passed through to access the standard
13441         XEmacs keymap binding for this key combination.
13442
13443         Much needed GCPROing.
13444
13445         * menubar-x.c:
13446         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13447         * menubar-x.c (menu_item_descriptor_to_widget_value):
13448         * menubar-x.c (restore_in_menu_callback):
13449         * menubar-x.c (x_popup_menu):
13450         * menubar-x.c (menu_move_up):
13451         * menubar-x.c (menu_move_down):
13452         * menubar-x.c (menu_move_left):
13453         * menubar-x.c (menu_move_right):
13454         * menubar-x.c (menu_select_item):
13455         * menubar-x.c (command_builder_operate_menu_accelerator):
13456         * menubar-x.c (menu_accelerator_junk_on_error):
13457         * menubar-x.c (command_builder_find_menu_accelerator):
13458         * menubar-x.c (Faccelerate_menu):
13459         * menubar.h:
13460         Moved a whole bunch of code here that was previously in
13461         event-stream.c as described above.  There is also code connected
13462         to the new standard of adding an accelerator to the beginning of
13463         menu items that don't have one as described above and below.
13464
13465         * menubar.c:
13466         * menubar.c (menu_parse_submenu_keywords):
13467         * menubar.c (Fmenu_find_real_submenu):
13468         * menubar.c (Fnormalize_menu_item_name):
13469         * menubar.c (syms_of_menubar):
13470         * menubar.c (vars_of_menubar):
13471         * menubar.c (complex_vars_of_menubar):
13472
13473         a) Cleaned up a bunch of documentation and improved it.
13474
13475         b) XEmacs now automatically adds an accelerator onto the beginning
13476         of any menu items that don't have one.  I did this because there
13477         will inevitably be some menu items on the main menubar that don't
13478         have accelerators on them because the package that adds that
13479         particular menu item hasn't yet been fixed up to have accelerators
13480         in them and it looked rather strange to have some items with and
13481         some items without accelerators, especially since even in items
13482         without accelerators, you can, at least under windows, still
13483         access the item through an accelerator corresponding to the first
13484         character in the item's name.  If people don't like this behavior,
13485         I can add a variable to turn it off optionally, but I'm not sure
13486         this is a good idea because we really do need to have accelerators
13487         on all of the menu items, and if a package doesn't like the
13488         accelerators being put on the first character, then it should put
13489         the accelerators where they belong.
13490
13491         c) I made a behavior change, which is that the descriptor that
13492         specifies the text of the menu item, which formerly was just a
13493         string, can now also be an evaluated expression.  This makes this
13494         descriptor parallel with all of the others, which could also be
13495         evaluated expressions.  This also obviates the need for the
13496         keyword :label, which was previously listed in the documentation
13497         as unimplemented, and which was for the same purpose.
13498
13499         d) GCPROing.
13500
13501         * ntproc.c:
13502         * ntproc.c (new_child):
13503         * ntproc.c (sys_spawnve):
13504         * ntproc.c (find_child_console):
13505         * ntproc.c (sys_kill):
13506         Fixed compile warnings.  By the way, this file should really go
13507         away entirely, and this will happen as soon as Kirill makes his
13508         final round of process cleanups, which affect the function
13509         call-process.
13510
13511         * process-nt.c:
13512         * process-nt.c (struct nt_process_data):
13513         * process-nt.c (find_process_from_pid):
13514         * process-nt.c (send_signal_the_nt_way):
13515         * process-nt.c (enable_child_signals):
13516         * process-nt.c (find_child_console):
13517         * process-nt.c (send_signal_the_95_way):
13518         * process-nt.c (nt_finalize_process_data):
13519         * process-nt.c (ensure_console_window_exists):
13520         * process-nt.c (nt_create_process):
13521         * process-nt.c (nt_kill_child_process):
13522         * process-nt.c (nt_kill_process_by_pid):
13523         * process-nt.c (nt_open_network_stream):
13524         * process-nt.c (vars_of_process_nt):
13525         Copied over code from Emacs 20.5 to correctly send signals to sub-
13526         processes under Windows 95.  Also added code to automatically
13527         create and hide console window when a sub-process is created under
13528         Windows 95, which obviates the need for the separate runemacs.exe
13529         executable, and finally implemented some variables that were
13530         implemented in Emacs 20.5, but previously not in XEmacs.  These
13531         include mswindows- start-process-share-console and
13532         mswindows-start-process-inherit-error-mode. (Both of these only
13533         apply to Windows 95.)
13534
13535         * regex.c (regex_compile): Fixed a compile warning.
13536
13537         * select-msw.c:
13538         * select-msw.c (mswindows_own_selection):
13539         * select-msw.c (mswindows_get_foreign_selection):
13540         * select-msw.c (mswindows_disown_selection):
13541         * select-msw.c (console_type_create_select_mswindows):
13542         * select-msw.c (syms_of_select_mswindows):
13543         Cleaned up the file and implemented the device method
13544         selection_exists_p, which had accidentally been left out.  Also
13545         removed four lisp functions that were remnants from before the
13546         time when the selection code was properly device abstracted.
13547         These functions are no longer needed because there are generic
13548         equivalents, and because they were added recently and don't exist
13549         in FSF Emacs, I don't think there's any problem with just deleting
13550         them.
13551
13552         * sysdep.c:
13553         * sysdep.c (sys_subshell):
13554         Fixed a compile warning, although in this case there's probably
13555         something wrong with this code, and it ought to be looked into
13556         more thoroughly by somebody who understands it.
13557
13558         * window.c:
13559         * window.c (Fwindow_text_area_height):
13560         * window.c (Fwindow_width):
13561         * window.c (Fwindow_full_width):
13562         * window.c (Fwindow_pixel_width):
13563         * window.c (debug_print_window):
13564         * window.c (syms_of_window):
13565         Added functions window-text-area-height and window-full-width,
13566         which are functions for returning various width and height
13567         characteristics of a window. (One of these functions is necessary
13568         for making the file dialog box work correctly, and the other one
13569         was added for completeness.)  Also added a table to the
13570         documentation for window-height which describes the entire scheme
13571         for accessing width and height characteristics of a window.
13572
13573 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13574
13575         * nt.c (fstat): Added a comment for another problem with
13576         non-encapsulated [f]stat(), reported by Adrian Aichner
13577         <aichner@ecf.teradyne.com>.
13578
13579 2000-03-11  Andy Piper  <andy@xemacs.org>
13580
13581         * window.c (make_dummy_parent): initialize subwindow instance
13582         cache.
13583         (Fset_window_configuration): zero extent_modiff.
13584
13585 2000-03-10  Andy Piper  <andy@xemacs.org>
13586
13587         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
13588         more changes can be triggered.
13589         (Fredisplay_frame): ditto.
13590         (Fredraw_device): ditto.
13591         (Fredisplay_device): ditto.
13592         (redisplay_frame): make non-static.
13593         (redisplay_frame): call update_frame_gutter_geometry outside of
13594         display proper.
13595
13596         * gutter.h: declare update_frame_gutter_geometry.
13597
13598         * redisplay.h: declare redisplay_frame.
13599
13600         * gutter.c (update_frame_gutter_geometry): move geometry changes
13601         in update_frame_gutters here. Geometry changes can only occur
13602         outside of redisplay.
13603         (update_frame_gutters): remove geometry change code.
13604         (Fredisplay_gutter_area): make sure that we are in display when we
13605         update and that we have flushed any size changes.
13606
13607 2000-03-11  Andy Piper  <andy@xemacs.org>
13608
13609         * alloc.c (pdump_dump_data): remove i & count shadows.
13610
13611 2000-02-27  Mike Alexander  <mta@arbortext.com>
13612
13613         * sysdep.h: Declare pdump_read_file
13614
13615         * sysdep.c (pdump_read_file): New function
13616
13617         * alloc.c (pdump_load): Call pdump_read_file to get the portable
13618         dump data
13619
13620 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13621
13622         * lrecord.h: add `lrecord_type_pgsetenv'.
13623
13624 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
13625
13626         * symsinit.h: declare (vars|syms)_of* functions.
13627         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
13628
13629 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
13630
13631         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
13632
13633         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
13634         GCCs.
13635
13636         * emacs.c (main_1): Call postgres initialization code.
13637
13638         * postgresql.h: New file.  PostgreSQL RDBMS support.
13639         * postgresql.c: New file.
13640
13641 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13642
13643         * redisplay-output.c (redisplay_output_display_block): Disable
13644         redundant code.
13645
13646 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13647
13648         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
13649         (Fcanna_henkan_next): Ditto.
13650         (Fcanna_bunsetu_henkou): Ditto.
13651         (Fcanna_henkan_kakutei): Ditto.
13652         (Fcanna_henkan_end): Ditto.
13653         (Fcanna_henkan_quit): Ditto.
13654         (Fcanna_henkan_next): Set retun value correctly.
13655         (c2mu): Use unsigned char instead of signed char.
13656
13657 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13658
13659         * emacs.c (main_1): Always call syms_of_gui.
13660         * inline.c: include gui.h
13661
13662 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
13663
13664         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
13665         converted to Lisp_Object.
13666         (Qtop_bottom): New variable.
13667         (syms_of_redisplay): Initialize it.
13668         * redisplay.h (Vvisible_bell): Ditto.
13669         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
13670         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
13671         only flash top and bottom.
13672
13673 2000-03-08  Andy Piper  <andy@xemacs.org>
13674
13675         * buffer.c (Frename_buffer): record new buffer name the right way.
13676
13677 2000-03-08  Andy Piper  <andy@xemacs.org>
13678
13679         * glyphs.c (update_subwindow): increase hash depth so that widget
13680         items get picked up properly.
13681
13682         * redisplay-output.c (compare_runes): increase hash depth so that
13683         widget items get picked up properly.
13684
13685 2000-03-08  Andy Piper  <andy@xemacs.org>
13686
13687         * gutter.c (output_gutter): add some debug.
13688
13689         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
13690         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
13691         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
13692
13693         * redisplay-output.c (compare_runes): use display_hash to
13694         determine if glyphs really are not the same.
13695
13696         * glyphs.c (update_subwindow): check display_hash to see if
13697         anything really needs to be updated. If not then do
13698         nothing. Record the display_hash after updating.
13699         (image_instance_equal): compare the image_instance face also.
13700
13701 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
13702
13703         * redisplay.h: Fix comment style.
13704
13705 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13706
13707         * consle-msw.h (struct mswindows_frame):
13708         Added new member paint_pending to indicate whether a WM_PAINT
13709         magic event has been queued for this frame.
13710
13711         * event-msw.c (mswindows_drain_windows_queue):
13712         Don't queue a WM_PAINT magic event if one is already queued.
13713         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
13714
13715         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
13716
13717 2000-03-07  Didier Verna  <didier@xemacs.org>
13718
13719         * dired.c: #include `regex.h' after `sysfile.h'.
13720
13721 2000-03-06  Martin Buchholz  <martin@xemacs.org>
13722
13723         * sound.c (init_nas_sound): Fix compiler warning.
13724
13725         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
13726         (FREE_STRUCT_P):
13727         (MARK_STRUCT_AS_FREE):
13728         (MARK_STRUCT_AS_NOT_FREE):
13729         Make `gcc -fstrict-aliasing' work properly.
13730
13731 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13732
13733         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
13734         (mswindows_delete_device): Call CoUnnitialize().
13735
13736         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
13737
13738 2000-02-25    <CraigL@DyCon.com>
13739
13740         * process-nt.c: MinGW now has <shellapi.h>, but still needs
13741         <errno.h>.
13742
13743         * sysdep.c: This extern declaration for environ prevents MinGW
13744         from finding the variable in CRTDLL.DLL.
13745
13746         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
13747         windows headers.
13748         (SHGFI_EXETYPE): ..
13749         (WM_MOUSEWHEEL): ..
13750         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
13751         definitions.
13752         (MMRESULT): Removed, now defined in cygwin's windows headers.
13753         (TIMECAPS): ..
13754         (uid_t,gid_t,pid_t,ssize_t): ..
13755         (_timeb): Removed, MinGW defines both _timeb and timeb.
13756         (HAVE_H_ERRNO): Added.
13757         (HAVE_TZNAME): Added, configure is not detecting this.
13758
13759 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
13760
13761         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
13762         * syntax.c (syntax_match): Use it.
13763
13764         * cmds.c: Import auto-fill-chars from FSF Emacs.
13765         (Vauto_fill_chars): New variables.
13766         (internal_self_insert): Check Vauto_fill_chars.
13767         (vars_of_cmds):
13768         Declare auto-fill-chars as a Lisp variable and initialize it.
13769
13770 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13771
13772         * fileio.c (Fmake_symbolic_link):
13773         (Ffile_symlink_p):
13774         Run handlers even if local machine doesn't have symlinks.
13775
13776 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
13777
13778         * event-msw.c (mswindows_drain_windows_queue):
13779         Don't generate paint magic events for non-XEmacs frames.
13780
13781 2000-03-05  Andy Piper  <andy@xemacs.org>
13782
13783         * redisplay.c (redisplay_frame): generate_displayable_area and
13784         friends assumes that we are not in GC, we therefore have to make
13785         sure that this doesn't happen.
13786
13787         * gutter.c (calculate_gutter_size): generate_displayable_area
13788         assumes that we are not in GC, we therefore have to make sure that
13789         this doesn't happen.
13790
13791 2000-03-05  Martin Buchholz  <martin@xemacs.org>
13792
13793         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
13794
13795 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13796
13797         * redisplay.c (regenerate_window): Make sure we set a sane value
13798         for end_pos even if we jump out of the loop.
13799         (regenerate_window): Answer Ben's question :-).
13800         (start_end_of_last_line): Add may_error argument.
13801         (start_of_last_line):
13802         (end_of_last_line): Pass may_error = 0.
13803         (end_of_last_line_may_error): New function.
13804         (pixel_to_glyph_translation): Use it, so we don't crash in
13805         event_to_glyph.
13806
13807 2000-03-04  Andy Piper  <andy@xemacs.org>
13808
13809         * window.h (struct window): add gutter_extent_modiff.
13810
13811         * window.c (allocate_window): zero out gutter_extent_modiff.
13812
13813         * redisplay.h: declare sync_display_line_structs.
13814
13815         * redisplay.c (add_glyph_rune): add a better comment.
13816
13817         * redisplay-output.c (sync_display_line_structs): made non-static.
13818         (compare_runes): remove unneccesary glyph cachel access.
13819
13820         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
13821
13822         * gutter.c (output_gutter): don't output the gutter if extent
13823         changes only involve extents in buffers. use 4 sets of display
13824         lines.
13825         (gutter_extent_signal_changed_region_maybe): new function. Mark
13826         extents in gutters as changed.
13827         (update_frame_gutters): use 4 sets of display lines.
13828         (reset_gutter_display_lines): ditto.
13829         (free_frame_gutters): ditto.
13830         (redraw_exposed_gutter): force output of gutters.
13831
13832         * frame.h (struct frame): add 4 sets of gutter display lines.
13833
13834         * extents.c: (extent_changed_for_redisplay): signal changes to
13835         extents in strings in the gutter as well as extents in buffers.
13836
13837 2000-03-02  Andy Piper  <andy@xemacs.org>
13838
13839         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
13840
13841         * frame.c (Fmake_frame): make sure the gutters get initialized
13842         after the frame is visible.
13843         (set_frame_selected_window): re-arrange compilation macros a
13844         little.
13845         (change_frame_size_1): mark gutters changed.
13846
13847         * device.c (Fset_device_class): mark gutters changed.
13848
13849 2000-03-01  Andy Piper  <andy@xemacs.org>
13850
13851         * window.c (window_top_frame_gutter_height): deleted.
13852         (window_bottom_frame_gutter_height): ditto.
13853         (window_left_frame_gutter_height): ditto.
13854         (window_right_frame_gutter_height): ditto.
13855         (window_top_gutter_height): don't use them.
13856         (window_bottom_gutter_height): ditto.
13857         (window_left_gutter_width): ditto.
13858         (window_right_gutter_width): ditto.
13859         (Fsplit_window): ditto.
13860         (Fwindow_pixel_edges): don't use border dimensions here.
13861
13862         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
13863         (update_scrollbar_instance): ditto.
13864
13865         * redisplay.c (generate_modeline): don't take gutters into account.
13866         (generate_modeline): ditto.
13867         (redisplay_frame): small gutter display optimization.
13868
13869         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
13870
13871         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
13872         gutters into account.
13873
13874         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
13875         for window position and type.
13876
13877         * gutter.c (get_gutter_coords): fix for frame gutters.
13878         (update_frame_gutters): update frame geometry if the gutters have
13879         changed.
13880         (init_frame_gutters): record current gutter geometries.
13881
13882         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
13883         var.
13884         (mswindows_widget_instantiate): ditto.
13885
13886         * frame.h (struct frame): add current_gutter_bounds.
13887
13888         * frame.c (change_frame_size_1): position window and minibuffer
13889         appropriately taking into account the frame gutters.
13890
13891         * frame-x.c: (x_initialize_frame_size): take into account the
13892         frame gutters.
13893
13894 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13895
13896         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
13897
13898 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
13899
13900         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
13901
13902 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
13903
13904         * file-coding.c (reset_decoding_stream): Clear previous
13905         detection state when autodetect.
13906
13907 2000-02-29  Didier Verna  <didier@xemacs.org>
13908
13909         * extents.c (set_extent_glyph_1): don't require extents to be
13910         attached.
13911
13912 2000-02-27  Andy Piper  <andy@xemacs.org>
13913
13914         * gutter.c (Fset_default_gutter_position): don't default left and
13915         right gutter visibility to t.
13916         (Fset_default_gutter_position): run
13917         default-gutter-position-changed-hook.
13918         (syms_of_gutter): add default-gutter-position-changed-hook.
13919
13920 2000-02-26  Andy Piper  <andy@xemacs.org>
13921
13922         * specifier.c (Fmake_specifier): add gutter references.
13923
13924         * gutter.h (RAW_WINDOW_GUTTER): new macro.
13925
13926         * lisp.h: declare Fvalid_plist_p.
13927
13928         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
13929         as changed.
13930         (default_gutter_visible_p_changed_in_window): invalidate gutter as
13931         well as its visibility so that it gets reconstructed.
13932         (construct_window_gutter_spec): new function. Construct a string
13933         to be displayed in the gutter from a plist of strings. Take care
13934         to only use elements that are declared as visible.
13935         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
13936         WINDOW_GUTTER.
13937         (gutter_validate): allow plists of strings in the specifier.
13938         (gutter_specs_changed): construct the real_gutter from the gutter
13939         specs using construct_window_gutter_spec.
13940         (gutter_visible_validate): gutter-visible is a new specifier type.
13941         (Fgutter_visible_specifier_p): new function for the new specifier.
13942         (syms_of_gutter): declare gutter-visible and
13943         Fgutter_visible_specifier_p.
13944         (specifier_type_create_gutter): intitalize new gutter-visible
13945         specifier.
13946         (reinit_specifier_type_create_gutter): ditto.
13947         (specifier_vars_of_gutter): use new specifier type for gutter
13948         visibility.
13949         (init_frame_gutters): construct real_gutter correctly.
13950         (Fgutter_specifier_p): beef up documentation.
13951         (Fgutter_size_specifier_p): ditto.
13952
13953         * winslots.h: add real_gutter slots.
13954
13955 2000-02-25  Andy Piper  <andy@xemacs.org>
13956
13957         * device-msw.c: Be kind to older cygwin versions. From Raymond
13958         Toy <toy@rtp.ericsson.se>.
13959
13960         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
13961         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
13962
13963 2000-02-25  Martin Buchholz  <martin@xemacs.org>
13964
13965         * elhash.c (MARK_OBJ): Practice macro hygiene.
13966
13967 2000-02-24  Martin Buchholz  <martin@xemacs.org>
13968
13969         * miscplay.c: s/__inline__/inline/g;
13970         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
13971         (get_device_compdc): INLINE ==> static inline
13972         * *.[ch]: Change INLINE to INLINE_HEADER globally.
13973         find -name '*.h' | \
13974         xargs global-replace \
13975         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
13976
13977 2000-02-25  Andy Piper  <andy@xemacs.org>
13978
13979         * window.c (window_top_frame_gutter_height): new function.
13980         (window_top_window_gutter_height): ditto.
13981         (window_top_gutter_height): use them.
13982         (window_bottom_frame_gutter_height): new function.
13983         (window_bottom_window_gutter_height): ditto.
13984         (window_bottom_gutter_height): use them.
13985         (window_left_window_gutter_width): new function.
13986         (window_left_frame_gutter_width): ditto.
13987         (window_left_gutter_width): use them.
13988         (window_right_window_gutter_width): new function.
13989         (window_right_frame_gutter_width): ditto.
13990         (window_right_gutter_width): use them.
13991         (window_pixel_height): new function. calulate window pixel height
13992         with frame gutter involvement.
13993         (Fsplit_window): calculate new sizes taking frame gutters into
13994         account.
13995         (window_char_height_to_pixel_height): don't include frame gutters.
13996         (window_char_height): use window_pixel_height.
13997         (window_pixheight): rename from window_pixel_height.
13998         (change_window_height): use it.
13999         (window_pixel_height_to_char_height): don't include frame gutters.
14000         (window_char_width_to_pixel_width): ditto.
14001
14002 2000-02-25  Andy Piper  <andy@xemacs.org>
14003
14004         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14005         if it is.
14006
14007 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14008
14009         * alloc.c (staticpro):
14010         (staticpro_nodump):
14011         (dumpstruct):
14012         (dumpopaque):
14013         (pdump_wire):
14014         (pdump_wire_list):
14015         (compact_string_chars):
14016         (pdump_dump_wired):
14017         Convert:  if (foo) abort();  ==>  assert (! foo);
14018
14019         * eldap.c (Fldap_search_basic):
14020         (Fldap_add):
14021         (Fldap_modify):
14022         (Fldap_delete):
14023         Fix compiler warnings, and possible crashes if (random) return
14024         value were to be used.
14025
14026 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14027
14028         * device-msw.c: Workaround ResetDC failure.
14029
14030         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14031         applying a devmode.
14032
14033         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14034         (mswindows_text_width): Do not start printer page.
14035
14036         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14037
14038         * glyphs-msw.c: Added image methods to msprinter console and
14039         msprinter-specific image instantiation.
14040
14041 2000-02-20  Mike Alexander  <mta@arbortext.com>
14042
14043         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14044         to avoid crashes when selection-sets-clipboard is on
14045         (mswindows_own_selection): ditto
14046
14047 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14048
14049         * glyphs-msw.c:
14050         * redisplay-msw.c (get_frame_dc):
14051         (get_frame_compdc):
14052         * console-msw.h:
14053         * device-msw.c (mswindows_init_device):
14054         (mswindows_delete_device):
14055         (msprinter_init_device):
14056         (msprinter_delete_device):
14057         * frame-msw.c (mswindows_init_frame_1):
14058         (mswindows_delete_frame):
14059         (msprinter_init_frame_3):
14060         (msprinter_delete_frame): Move compatible DC to device object from
14061         frame object, for both mswindows and msprinter. Only one at a time
14062         is needed, it is a real waste to have one per frame!
14063
14064 2000-02-23  Andy Piper  <andy@xemacs.org>
14065
14066         * glyphs.c: add dynamic width and height elements.
14067         (image_instance_equal): ditto.
14068
14069         * glyphs-widget.c (widget_query_geometry): calculate width and
14070         height dynamically if required.
14071         (initialize_widget_image_instance): initialize dynamic dimensions.
14072         (widget_instantiate): pick-up dynamic dimensions.
14073
14074         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14075         dynamic determination. Add appropriate macros.
14076
14077         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14078         dimensions safe.
14079         (WINDOW_GUTTER_SIZE): ditto.
14080         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14081
14082         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14083         inline.
14084         (get_frame_dc): ditto.
14085
14086         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14087         here.
14088
14089 2000-02-23  Martin Buchholz <martin@xemacs.org>
14090
14091         * XEmacs 21.2.31 is released.
14092
14093 2000-02-22  Ben Wing <ben@xemacs.org>
14094
14095         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14096
14097 2000-02-22  Andy Piper  <andy@xemacs.org>
14098
14099         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14100
14101 2000-02-21  Mike Sperber <mike@xemacs.org>
14102
14103         * .dbxrc:
14104         * .gdbinit:
14105         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14106         variables.
14107
14108 2000-02-21  Mike Sperber <mike@xemacs.org>
14109
14110         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14111
14112 2000-02-21  Martin Buchholz <martin@xemacs.org>
14113
14114         * XEmacs 21.2.30 is released.
14115
14116 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14117
14118         Performance hacking.
14119         * *.c (syms_of_*):
14120         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14121         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14122         * emacs.c (main_1):
14123         * lisp.h (DEFUN):
14124         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14125         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14126         * symeval.h (DEFVAR_SYMVAL_FWD):
14127         * symbols.c (guts_of_unbound_marker):
14128         Make all c_readonly objects also lisp_readonly and marked for life.
14129         * lrecord.h (struct lrecord_implementation):
14130         Document flags better.
14131         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14132         * lrecord.h (DECLARE_LRECORD):
14133         * lrecord.h (XSETRECORD):
14134         * lrecord.h (RECORDP):
14135         * lrecord.h (RECORD_TYPEP):
14136         * lrecord.h (RECORD_MARKER): New.
14137         * lrecord.h (error_check_*):
14138         * lrecord.h (CONCHECK_NONRECORD):
14139         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14140         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14141         * lrecord.h (set_lheader_implementation):
14142         * lrecord.h (enum lrecord_type): New.
14143         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14144         * alloc.c (disksave_object_finalization_1):
14145         * alloc.c (mark_object):
14146         * alloc.c (lrecord_type_index):
14147         * alloc.c (tick_lcrecord_stats):
14148         * alloc.c (Fgarbage_collect):
14149         * alloc.c (init_alloc_once_early):
14150         * alloc.c (pdump_load):
14151         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14152         * alloc.c (lrecord_type_index): Delete.
14153         Make lisp object type indexes be constant.
14154           Makes (byte-compile) 5% faster.
14155         Put all marker functions into their own array.
14156           Makes (garbage-collect) 5% faster.
14157         Optimize SYMBOL_VALUE_MAGIC_P.
14158           Makes (byte-compile) 2-3% faster.
14159         * config.h.in (gc_checking_assert): New.
14160         * alloc.c: Use gc_checking_assert().
14161         * .dbxrc: Make compatible with new object type implementation.
14162         * .gdbinit: Make compatible with new object type implementation.
14163         * alloc.c: Delete all symbols defined only for debugging, such as
14164         Lisp_Type_Vector and lrecord_charset.
14165
14166 2000-02-21  Andy Piper  <andy@xemacs.org>
14167
14168         * gui-msw.c (Fmswindows_shell_execute): fix file location
14169         problems.
14170
14171         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14172         unshowing so that set_window_buffer doesn't undo
14173         kill_buffer_hook's hard work.
14174
14175         * glyphs-widget.c (tab_control_query_geometry): don't count the
14176         first item when calculating geometry.
14177
14178         * glyphs.c (map_subwindow): remove redundant code.
14179         (update_frame_subwindows): be more circumspect about when to
14180         update subwindows.
14181
14182         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14183         when items haven't changed. Update faces if faces have changed as
14184         well as just the widget face.
14185         (x_tab_control_update): Update faces if faces have changed as well
14186         as just the widget face.
14187
14188 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14189
14190         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14191         registration.
14192         (build_syscolor_string): Use mswindows_color_to_string to try to
14193         get a named color.
14194         (mswindows_device_system_metrics): Reverse the foreground and
14195         background colors so that they match the documentation.
14196
14197         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14198         they match the default Windows palette.
14199         (mswindows_color_to_string): New function.
14200
14201 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14202
14203         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14204
14205 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14206
14207         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14208         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14209
14210         * symbols.c (init_symbols_once_early): Removed obsolete
14211         DATA_SEG_BITS related kludge.
14212         (defvar_magic): Ditto.
14213
14214         * malloc.c: Removed obsolete DATA_SEG_BITS
14215         * ralloc.c: Ditto.
14216         * mem-limits.h: Ditto.
14217
14218         * Makefile.in.in: Removed obsolete HAVE_SHM
14219         * emacs.c: Ditto.
14220
14221 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14222
14223         *  device-msw.c (mswindows_delete_device): Free DDE string
14224         handles.
14225
14226 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14227
14228         * keymap.c (get_keyelt):
14229         * unexnt.c (unexec):
14230         * vm-limit.c (memory_warnings):
14231         * ntheap.c (recreate_heap):
14232         * ntheap.h (UNINIT_PTR):
14233         * select-msw.c (Fmswindows_get_clipboard):
14234         (Fmswindows_set_clipboard):
14235         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14236         * objects-msw.c:
14237         * menubar-msw.c (displayable_menu_item):
14238         * glyphs-msw.c:
14239         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14240         * sysdep.c (sys_subshell):
14241         * process-nt.c (nt_create_process):
14242         * nt.c (normalize_filename):
14243         (dostounix_filename):
14244         (unixtodos_filename):
14245         * ntproc.c (win32_executable_type):
14246         * ntplay.c (play_sound_data_1):
14247         (play_sound_file):
14248         * editfns.c (get_home_directory):
14249         * event-msw.c (struct winsock_stream):
14250         (mswindows_dde_callback):
14251         * device-msw.c (msprinter_init_device):
14252         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14253
14254         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14255         mswindows_clear_toolbar were swapped!
14256
14257         * objects-msw.c:(colormap_t):
14258         (fontmap_t):
14259         * emacs.c (struct standard_args): Fixed const jumble.
14260
14261         * glyphs-widget.c (update_widget): Fixed comparison notation.
14262
14263         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14264
14265         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14266         __declspec(noreturn) syntax.
14267
14268 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14269
14270         * eldap.c (Fldap_open):
14271         (Fldap_search_basic):
14272         (Fldap_add):
14273         (Fldap_modify):
14274         Use new coding system conversion macros.
14275
14276 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14277
14278         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14279
14280 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14281
14282         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14283         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14284
14285         * eldap.c (Qadd, Qreplace): New constant symbols
14286         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14287         interruptions by XEmacs signals
14288         Remove unnecessary calls to slow_down_interrupts and
14289         speed_up_interrupts
14290         (Fldap_search_basic): Renamed from Fldap_search_internal
14291         Added new optional parameter VERBOSE that triggers the
14292         display of progress messages
14293         Remove unnecessary calls to slow_down_interrupts and
14294         speed_up_interrupts
14295         LDAP result code analysis rewritten
14296         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14297         (syms_of_eldap): Define the new symbols and functions
14298
14299
14300 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14301
14302         * realpath.c: Determine PATH_MAX maximally portably.
14303
14304         * insdel.c (bytecount_to_charcount): Optimize.
14305         The function used to be optimized for entirely ASCII sequences.
14306         Now it is optimized for successive characters from the same
14307         charset.  This also wins big for _mostly_ ASCII sequences.
14308
14309         * fileio.c (Ffile_truename): convert return from realpath() using
14310         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14311         - Rewrite GCPROing slightly.
14312
14313         * sysdep.c (sys_open): Do filename conversion, like all other
14314         sys_* functions.  Fixes bug:
14315         (let ((file-name-coding-system 'iso-8859-2))
14316            (write-region x y latin2-name))
14317         ==> writes filename using internal encoding.
14318
14319 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14320
14321         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14322         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14323         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14324         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14325         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14326         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14327         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14328         (CONST_IF_NOT_DEBUG): Delete.
14329         * alloc.c (this_one_is_unmarkable): Delete.
14330         (mark_object): Don't check for this_one_is_unmarkable. Use the
14331         c_readonly flag instead.
14332         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14333
14334 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14335
14336         * event-msw.c (mswindows_drain_windows_queue):
14337         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14338         away redundant repaint events.
14339
14340 2000-02-17  Andy Piper  <andy@xemacs.org>
14341
14342         * redisplay.h: declare mark_redisplay_structs.
14343
14344         * redisplay.c (redisplay_window):
14345         (redisplay_frame): don't check subwindows_state_changed.
14346         (mark_redisplay): mark gutters here.
14347
14348         * glyphs.c: (instantiate_image_instantiator): always layout if we
14349         haven't done so already.
14350         (allocate_image_instance): don't mark as dirty.
14351         (update_subwindow): bind inhibit_quit.
14352
14353         * gutter.c (mark_gutters): new function.
14354
14355         * glyphs-x.c (x_update_widget): Always resize to get round a
14356         widget bug.
14357
14358         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14359         breaking absolutely everything.
14360
14361         * gutter.h: declare mark_gutters.
14362
14363 2000-02-16  Martin Buchholz <martin@xemacs.org>
14364
14365         * XEmacs 21.2.29 is released.
14366
14367 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14368
14369         * fns.c (size_bit_vector): Fix computation of the size.
14370
14371 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14372
14373         * *.[ch]: Change CONST to const globally.
14374         find -name '*.[ch]' | \
14375         xargs global-replace \
14376         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14377         - Remove vestigial references to CONST_IS_LOSING
14378
14379 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14380
14381         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14382         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14383         events instead of dispatching them directly.
14384         (mswindows_handle_paint): New function to do repainting.
14385         (mswindows_wnd_proc):
14386         (emacs_mswindows_handle_magic_event): Call above function.
14387
14388 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14389
14390         * objects-msw.c (mswindows_create_font_variant): Return the new
14391         font handle.
14392         (initialize_font_instance): Get font metrics from the underlined
14393         variant of the font to cope with the case where the underlined
14394         font has a bigger descent.
14395
14396 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14397
14398         * gui.c (gui_item_accelerator): Return the first underlined
14399         character in item name.
14400
14401 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14402
14403         * lisp.h: Added Qprinter.
14404
14405         * general.c (syms_of_general): Initialized it.
14406
14407         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
14408         (get_frame_dc):
14409         (get_frame_compdc): Made inline.
14410
14411         * console.h (struct console_methods): Added eject_page method.
14412
14413         * frame.h: Added FRAME_DISPLAY_P and friends.
14414         Aligned backslahes in many macros in more readable fashion.
14415         Added page_number to struct frame, and an accessor macro
14416         for it.
14417
14418         * defice.h: Added DEVICE_DISPLAY_P and friends.
14419
14420         * device.c (Fdevice_printer_p): Used these.
14421
14422         * frame.c (allocate_frame_core): Initialize page number.
14423         (Fprint_job_page_number):
14424         (Fprint_job_eject_page): Implemented.
14425
14426         * frame-msw.c (msprinter_eject_page): Added method.
14427         (msprinter_start_page): Added.
14428
14429         * window.c (Fwindow_truncated_p): Fixed docstring.
14430         (Fwindow_last_line_visible_height): Implemented.
14431
14432 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14433
14434         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
14435
14436 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14437
14438         * syntax.c (scan_words): Always advance at least one character.
14439
14440 2000-02-13  Andy Piper  <andy@xemacs.org>
14441
14442         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
14443         to make sure the glyph is in the cachels.
14444
14445         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
14446         global image instance flag.
14447         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
14448         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
14449
14450         * glyphs.c (allocate_image_instance): set dirty bits correctly.
14451         (Fset_image_instance_property): mark layout as changed.
14452         (invalidate_glyph_geometry_maybe): mark layout as changed.
14453         (glyph_width): use new NEEDS_LAYOUT macro.
14454         (glyph_ascent): ditto.
14455         (glyph_descent): ditto.
14456         (glyph_height): ditto.
14457         (image_instance_layout): mark layout as clean after laying out.
14458         (update_subwindow): don't mark layout as clean here.
14459
14460         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
14461         should no longer be needed.
14462
14463         * glyphs-x.c (x_update_widget): sanitize asserts.
14464         (x_finalize_image_instance): sanitize assignment to widgets.
14465
14466         * glyphs-widget.c (widget_instantiate): don't need to clear the
14467         layout flag here.
14468
14469 2000-02-13  Martin Buchholz  <martin@xemacs.org>
14470
14471         * sysdep.c (getcwd): Use standard prototype.
14472         * sysdep.h (getcwd): Use standard prototype.
14473
14474         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
14475         (sequence, start, end).
14476         Remove redundant type checking.
14477         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
14478         view of `caller-protects') to avoid a crash where the real fix was
14479         found elsewhere.
14480
14481 2000-02-12  Martin Buchholz  <martin@xemacs.org>
14482
14483         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
14484
14485         * s/sol2.h: Remove feature macro initialization.
14486
14487         * alloc.c (alloc_lcrecord): Add more type checking assertions.
14488         (vector_hash): New.  Code from internal_hash.
14489         * lrecord.h:
14490         Fix up allocation subsystem comments.
14491
14492         * config.h.in: Add __EXTENSIONS__ for Solaris.
14493
14494         * systime.h (EMACS_GETTIMEOFDAY): New.
14495         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
14496         Remove Solaris-specific code.
14497         Use void* for the (ignored) second arg for gettimeofday().
14498
14499         * elhash.c (hash_table_hash): Implement it, finally.
14500         * elhash.c:  Use hashcode_t.
14501
14502         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
14503         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
14504
14505         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
14506         * fns.c (size_bit_vector):
14507         * alloc.c (size_vector):
14508         (make_vector_internal):
14509         (make_bit_vector_internal):
14510         (sweep_bit_vectors_1):
14511         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
14512
14513 2000-02-10  Martin Buchholz  <martin@xemacs.org>
14514
14515         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
14516         Include strings.h to avoid warnings for bzero and strcasecmp.
14517
14518 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14519
14520         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
14521         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
14522
14523         * fns.c (size_bit_vector): New.  Declare bit vectors as a
14524         sequence.
14525
14526 2000-02-10  Olivier Galibert  <galibert@pobox.com>
14527
14528         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
14529         use a value field instead.
14530         (symbol_value_forward_forward): Use value field.
14531         (DEFVAR_SYMVAL_FWD): Use value field.
14532         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
14533         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
14534         (DEFVAR_CONST_INT): Ditto.
14535         (DEFVAR_BOOL): Ditto.
14536         (DEFVAR_CONST_BOOL): Ditto.
14537         (DEFVAR_INT_MAGIC): Ditto.
14538         (DEFVAR_BOOL_MAGIC): Ditto.
14539
14540         * symbols.c (guts_of_unbound_marker): Use value field.
14541         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
14542         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
14543
14544         * lisp.h: Declare dumpopaque and noninteractive1.
14545
14546         * alloc.c (dumpopaque): Added.
14547         (pdump_dump_opaquevec): Added.
14548         (pdump): Call pdump_dump_opaquevec to dump opaque data.
14549         (pdump_load): Reload opaque data.  Sync noninteractive1 with
14550         noninteractive.
14551
14552 2000-02-10  Andy Piper  <andy@xemacs.org>
14553
14554         * glyphs.c (image_instance_layout): if the size changes, mark it
14555         as such.
14556
14557         * redisplay-output.c (redisplay_output_layout): Update the
14558         subwindow here.
14559         (redisplay_output_subwindow): ditto.
14560
14561         * glyphs.c (update_subwindow): make sure we reset flags for
14562         layouts as well as everything else.
14563
14564         * glyphs-widget.c (layout_layout): don't need to set the instances
14565         dimensions here.
14566
14567 2000-02-09  Martin Buchholz  <martin@xemacs.org>
14568
14569         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
14570         not HAVE_DLOPEN, which is a lower-level thing.
14571
14572         * .cvsignore: Ignore gmon.out
14573
14574 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
14575
14576         * .cvsignore: Ignore portable dumper xemacs.dmp file
14577
14578 2000-02-09  Andy Piper  <andy@xemacs.org>
14579
14580         * redisplay-output.c (redisplay_output_layout): be more clever
14581         about when we output based on the changed flags.
14582
14583         * glyphs.h (struct image_instantiator_methods): add update_method.
14584         (struct Lisp_Image_Instance): add changed flags. Declare new
14585         macros for manipulating them.
14586
14587         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
14588         (image_instance_parent_glyph): find an image_instance's parent
14589         glyph or image_instance.
14590         (image_instance_layout): mark the size as changed.
14591         (set_image_instance_dirty_p): new function. mark an image
14592         instance, plus all of its parents, as dirty.
14593         (Fset_image_instance_property): use it.
14594         (Fglyph_animated_timeout_handler): use it.
14595         (update_subwindow): call update_widget and device methods for
14596         update_subwindow. Mark all changed flags as clean.
14597         (Fresize_subwindow): mark size as changed.
14598
14599         * glyphs-x.c (x_finalize_image_instance): try and detect gc
14600         failures.
14601         (x_update_subwindow): only resize subwindows here.
14602         (x_update_widget): new function. Update all changed properties of
14603         a widget.
14604         (x_resize_subwindow): deleted.
14605         (x_widget_set_property): deleted.
14606         (x_progress_gauge_set_property): deleted.
14607         (x_progress_gauge_update): new function. Implement recorded
14608         changes.
14609         (x_tab_control_update): ditto.
14610         (x_tab_control_set_property): deleted.
14611         (console_type_create_glyphs_x): declare new functions.
14612         (image_instantiator_format_create_glyphs_x): ditto.
14613
14614         * glyphs-widget.c (widget_set_property): mark text changed.
14615         (update_widget): new function. Update properties of a widget.
14616         (widget_instantiate): for layouts make sure we set their
14617         children's parent correctly.
14618         (tab_control_set_property): new function. Record changes that will
14619         take place under redisplay's control.
14620         (progress_gauge_set_property): ditto.
14621         (image_instantiator_progress_guage): declare new functions.
14622         (image_instantiator_tab_control): ditto.
14623
14624         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
14625         now.
14626         (mswindows_update_widget): new function. Update all properties on
14627         a widget that have changed.
14628         (mswindows_button_update): new function. Update a button's set
14629         state.
14630         (mswindows_tab_control_update): new function. Update the items in
14631         a tab.
14632         (mswindows_tab_control_set_property): deleted.
14633         (mswindows_progress_gauge_update): new function. Update the
14634         progress gauge's progress.
14635         (mswindows_widget_set_property): deleted. This is all done
14636         asynchronously now.
14637         (mswindows_progress_gauge_set_property): ditto.
14638         (console_type_create_glyphs_mswindows): declare new methods.
14639         (image_instantiator_format_create_glyphs_mswindows): ditto.
14640
14641         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
14642         (msprinter_set_frame_properties): ditto.
14643
14644         * console.h (struct console_methods): Add update_widget_method.
14645
14646 2000-02-09  Andy Piper  <andy@xemacs.org>
14647
14648         * gui-msw.c (Fmswindows_shell_execute): Make
14649         mswindows-shell-execute industrial strength.
14650
14651 2000-02-08  Martin Buchholz  <martin@xemacs.org>
14652
14653         * lrecord.h: Make macro argument `props' match member function `plist'.
14654         * fns.c (Fget):
14655         * fns.c (Fput):
14656         * fns.c (Fremprop):
14657         * fns.c (Fobject_plist):
14658         * alloc.c:
14659         * symbols.c:
14660         Object property list frobbing cleanup.
14661         - Allow any lisp object (compared with `eq'), not just symbols, as
14662           keys in object plists.
14663         - Move symbol plist frobbing into symbols.c, where it belongs.
14664         - Move string plist frobbing into alloc.c, where it belongs.
14665         - Everything's an lrecord now, so no need to test for symbolp, etc.
14666         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
14667
14668         * extents.c: Reorder code to remove declarations.
14669
14670         * frame.h (store_in_alist): Remove useless declaration.
14671
14672 2000-02-07  Martin Buchholz  <martin@xemacs.org>
14673
14674         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
14675         * config.h.in: Add HAVE_XCONVERTCASE.
14676
14677 2000-02-07  Andy Piper  <andy@xemacs.org>
14678
14679         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
14680         it breaks many things.
14681
14682 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14683
14684         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
14685         actually can start a common comment type.
14686         * src/syntax.h (SYNTAX_END_P): ditto for end.
14687
14688 2000-02-07  Martin Buchholz <martin@xemacs.org>
14689
14690         * XEmacs 21.2.28 is released.
14691
14692 2000-02-06  Martin Buchholz  <martin@xemacs.org>
14693
14694         * event-Xt.c (x_keysym_to_character): New.
14695         (maybe_define_x_key_as_self_inserting_character): New.
14696         (x_has_keysym): New.
14697         Auto-define all keys on the keyboard as self-insert-key.
14698
14699 2000-02-02  Martin Buchholz  <martin@xemacs.org>
14700
14701         * menubar.c (vars_of_menubar): A small code simplification.
14702
14703         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
14704
14705         * ExternalShell.c:
14706         * ExternalClient.c:
14707         * EmacsShell-sub.c:
14708         * EmacsManager.c:
14709         * EmacsFrame.c:
14710         Use consistent style for specifying X resources.
14711
14712         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
14713         This makes (dontusethis-set-symbol-value-handler) actually usable.
14714
14715         * lrecord.h (lrecord_decription_type):
14716         * alloc.c (pdump_register_sub):
14717         (pdump_dump_data):
14718         (pdump_reloc_one):
14719         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
14720         Comply with XEmacs coding style.
14721         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
14722         args, and XD_LISP_OBJECT_ARRAY with 3 args.
14723
14724         * keymap.c (Faccessible_keymaps):
14725         Make (accessible-keymaps map "\C-h") do the Right Thing.
14726         Make (accessible-keymaps map []) do the Right Thing.
14727         Make (accessible-keymaps map "") do the Right Thing.
14728         (check_keymap_definition_loop): New function.
14729         (keymap_store_internal): Keep luser from shooting self in foot,
14730           via (define-key ctl-x-4-map "p" global-map).
14731         Remove fullness slot from struct Lisp_Keymap, since hash tables
14732         are now reliable.
14733         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
14734
14735 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14736
14737         * redisplay.c (init_redisplay): Fix small memory leak.
14738         * elhash.h:
14739         * elhash.c (pdump_reorganize_hash_table):
14740         Rename from reorganize_hash_table. Change prototype.
14741         Reuse the original memory for hentries.  Save 100k.
14742         * alloc.c (PDUMP_READ): new macro.
14743         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
14744         * alloc.c: No need to #ifndef before #undef.
14745
14746         * print.c: Allow debug_print() to print readably by modifying
14747         debug_print_readably.  Use consistent variable names.
14748
14749         * .dbxrc: Try to get things to work even if stopped in a function
14750         without source available by explicitly specifying source files.
14751 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14752
14753         * unexnt.c (_start): Removed bogus code which caused loading heap
14754         from differrent executable file.
14755         Removed bogus assignment to _fmode, which caused inconsistencies.
14756
14757 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14758
14759         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
14760         Have spawnve encapsulation regard DONT_ENCAPSULATE.
14761         Do not preliminary `#define signal sigset'.
14762
14763         * systime.h: Do not prototype environ on windows nt and cygwin,
14764         this conflicts with system header.
14765
14766         * syssignal.h: Use correct define for WINDOWSNT
14767
14768         * sysdep.h: Do not prototype environ on windows nt, this conflicts
14769         with system header.
14770
14771         * sysdep.c (near start of file): Fixed commentary and rearranged
14772         ifdefs in readable order.
14773         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
14774         (start_of_text):
14775         (end_of_text):
14776         (end_of_data): Do not compile in if using PDUMP.
14777
14778         * symsinit.h: Prototyped vars_of_nt().
14779
14780         * ntproc.c (windows9x_p): Added, instead of os_subtype.
14781         (find_child_console): Use it.
14782         (sys_kill): Use it.
14783
14784         * ntheap.h: Do not extern os_subtype.
14785
14786         * ntheap.c (cache_system_info): Do not cache unneeded:
14787         nt_major_version, nt_minor_version and os_subtype.
14788         (recreate_heap): Do not compile in when PDUMPing.
14789
14790         * nt.c (geteuid and friends): Use the new varibale
14791         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
14792         (init_user_info): Removed the above mentioned hackery.
14793         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
14794         stat has been fixed in the C runtime.
14795         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
14796
14797         * file-coding.c (struct file_coding_dump): Do not define
14798         ucs_to_mule_table in the struct if not MULE.
14799         (struct struct lrecord_description fcd_description_1): Do not dump
14800         the above.
14801
14802         * emacs.c (main_1): Call vars_of_nt().
14803         (right before Fdump_emacs_data): Don't need lastfile if using both
14804         portabe dumper and system malloc.
14805
14806         * alloc.c (Fmemory_limit): Conditionalized out.
14807         (pdump): Use OPEN_BINARY for the portable dump file.
14808         (pdump_load): Ditto.
14809
14810 2000-02-02  Mike Alexander  <mta@arbortext.com>
14811
14812         * nt.c (convert_time): Set tm_isdst before calling mktime and
14813         avoid calling it at all if the compiler supports 64 bit integers.
14814         Also initialize utc_base_ft before using it.
14815
14816 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
14817
14818         * frame.c (change_frame_size_1): Take f->internal_border_width
14819         into consideration when calculating the width of the frame.
14820
14821 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14822
14823         * window.c (frame_min_height):
14824         (frame_size_valid_p):
14825         (frame_pixsize_valid_p): Added.
14826         (check_frame_size): Generalized.
14827
14828         * window.h: Prototyped the above.
14829
14830         * lisp.h:
14831         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
14832         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
14833         Deleted Vwin32_* and Vbinary_process_* unused variables.
14834
14835         * device-msw.c (msprinter_init_device): Do not get printer font
14836         list; Added DEVMODE functions.
14837
14838         * frame-msw.c: Added lots of printer code.
14839
14840         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
14841         general.c.
14842
14843         * console-msw.h: Added more msprinter device private slots.
14844
14845 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14846
14847         * event-msw.c (key_needs_default_processing_p): Added.
14848         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
14849
14850 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14851
14852         * glyphs.c (image_instance_layout): Mark image instance as clean
14853         after layout.
14854         (glyph_dirty_p): Removed redundant function.
14855         (invalidate_glyph_geometry_maybe): Added.
14856         (update_glyph_cachel_data): Call it.
14857
14858         * glyphs.h: Prototyped it.
14859
14860         * redisplay.c (add_glyph_rune): Call it.
14861         (redisplay_window): Reset glyphs cachels when frame faces have
14862         changed, thus forcing recomputation of built-in border glyphs.
14863
14864 2000-01-30  Martin Buchholz  <martin@xemacs.org>
14865
14866         * Makefile.in.in: Make portable dumper and purify play well together.
14867         Add imperfect, but better than nothing, support for pdump.
14868         Remove xemacs.dmp when temacs is re-generated.
14869         Don't ignore errors when dumping xemacs.
14870
14871         * symbols.c (maybe_call_magic_handler): Remove one magic number.
14872
14873 2000-01-28  Andy Piper  <andy@xemacs.org>
14874
14875         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
14876         (setup_normal_frame): ditto.
14877         (setup_frame_without_minibuffer): ditto.
14878         (setup_minibuffer_frame): ditto.
14879         (delete_frame_internal): ditto.
14880         (Fmake_frame_invisible): ditto.
14881         (Ficonify_frame): ditto.
14882
14883         * window.h: change Fset_window_buffer signature.
14884
14885         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
14886         (Fset_window_buffer): allow recording of buffer if the window is
14887         the selected window.
14888         (window_loop): Use new Fset_window signature.
14889
14890 2000-01-23  Daniel Pittman  <daniel@danann.net>
14891
14892         * config.h.in: Added template for `HAVE_ATHENA_3D'
14893
14894 2000-01-29  Andy Piper  <andy@xemacs.org>
14895
14896         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
14897
14898         * gutter.c (output_gutter): Don't output if the window isn't live.
14899
14900 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14901
14902         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
14903         of 01/12/00: Moved SetFocus back here where it belongs.
14904
14905 2000-01-23  Andy Piper  <andy@xemacs.org>
14906
14907         * s/cygwin32.h: declare printer things.
14908
14909 2000-01-26  Andy Piper  <andy@xemacs.org>
14910
14911         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
14912         Alexander.
14913
14914 2000-01-24  Andy Piper  <andy@xemacs.org>
14915
14916         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
14917         (mswindows_button_instantiate): Make sure glyph is a pixmap.
14918
14919         * glyphs-widget.c (widget_instantiate): Avoid shadows.
14920
14921         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
14922
14923         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
14924
14925         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
14926         (mswindows_output_display_block): Avoid local shadows.
14927
14928         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
14929         (mswindows_enqueue_mouse_button_event): ditto.
14930         (mswindows_handle_gui_wm_command): remove declaration.
14931
14932         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
14933         warnings.
14934
14935         * console-msw.h: Avoid shadows.
14936         (mswindows_get_toolbar_button_text):
14937         (emacs_mswindows_create_stream_pair):
14938         (emacs_mswindows_delete_stream_pair):
14939         (mswindows_handle_toolbar_wm_command): declare.
14940
14941         * device-msw.c (build_syscolor_string): Avoid shadows.
14942
14943 2000-01-23  Andy Piper  <andy@xemacs.org>
14944
14945         * glyphs-widget.c (widget_instantiate): reverse the items for
14946         layouts so that children are in the expected order.
14947
14948 2000-01-28  Martin Buchholz  <martin@xemacs.org>
14949
14950         * ralloc.c: safe_bcopy ==> memmove
14951         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
14952         * s/msdos.h: Remove BCOPY macros.
14953         * insdel.c (gap_right): Remove BCOPY conditional code.
14954         * insdel.c (gap_left): Remove BCOPY conditional code.
14955         XEmacs demands a working ANSI C compiler - hence memmove.
14956
14957         * regex.c (regex_compile): Remove accidental use of trigraphs.
14958
14959 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14960
14961         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
14962         event timestamp.
14963
14964 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14965
14966         * event-msw.c (mswindows_drain_windows_queue): Added the
14967         parameter.
14968         (mswindows_need_event): Commented the call to
14969         mswindows_drain_windows_queue().
14970         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
14971         only.
14972
14973         * console-msw.h: Moved a few function prototypes here from
14974         event-msw.c.
14975
14976         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
14977         parameter from unsigned short to unsigned long.
14978         (Fmswindows_shell_execute): Added return value.
14979
14980 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
14981
14982         * sysdep.c (init_system_name):
14983           process-unix.c (unix_canonicalized_host_name):
14984         Don't call freeaddrinfo() if getaddrinfo() fails.
14985
14986         * process-unix.c (unix_open_unix_network_stream):
14987         Moved the code to get a port # into address loop.
14988
14989 2000-01-27  Martin Buchholz  <martin@xemacs.org>
14990
14991         * buffer.c (reinit_vars_of_buffer):
14992         The right place to initialize conversion_in_dynarr and
14993         conversion_out_dynarr.
14994
14995         * alloc.c (pdump): Use the real open() till sys_open() is functional.
14996
14997         * process-unix.c (unix_canonicalize_host_name): Muleize.
14998         (unix_open_network_stream): Muleize.
14999
15000         * buffer.h: Fix up prototypes for ralloc.c functions.
15001
15002 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15003         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15004         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15005                 instead of gethostbyname()
15006         * process-unix.c: In unix_canonicalize_host_name() and
15007                 unix_open_network_stream(), add code to use getaddrinfo()
15008                 instead of gethostbyname().
15009
15010 2000-01-27  Daniel Pittman <daniel@danann.net>
15011
15012         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15013         libs when built with flat Athena.
15014
15015 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15016
15017         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15018         Use coding standards for function prototypes.
15019
15020 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15021
15022         * dialog-msw.c (push_lisp_string_as_unicode):
15023         * doc.c (unparesseuxify_doc_string):
15024         * dired.c (Fuser_name_completion_1):
15025         * dired.c (Fuser_name_all_completions):
15026         * dired.c (free_user_cache):
15027         * dired.c (user_name_completion):
15028         * console-x.c (get_display_arg_connection):
15029         * minibuf.c (clear_echo_area_internal):
15030         * minibuf.c (echo_area_append):
15031         * eldap.c (Fldap_open):
15032         * eldap.c (Fldap_search_internal):
15033         * frame-x.c (x_set_frame_text_value):
15034         * frame-x.c (x_set_frame_properties):
15035         * frame-x.c (x_create_widgets):
15036         * redisplay-tty.c (term_get_fkeys_1):
15037         * objects-x.c (x_parse_nearest_color):
15038         * objects-x.c (x_valid_color_name_p):
15039         * objects-x.c (x_initialize_font_instance):
15040         * objects-x.c (x_list_fonts):
15041         * objects-x.c (x_find_charset_font):
15042         * tooltalk.c (Fadd_tooltalk_message_arg):
15043         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15044         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15045         * process-unix.c (unix_create_process):
15046         * ntproc.c (sys_spawnve):
15047         * sound.c (Fplay_sound_file):
15048         * sound.c (Fplay_sound):
15049         * buffer.c (init_initial_directory):
15050         * buffer.c (init_buffer):
15051         * editfns.c (init_editfns):
15052         * editfns.c (Ftemp_directory):
15053         * editfns.c (Fuser_full_name):
15054         * editfns.c (uncache_home_directory):
15055         * editfns.c (get_home_directory):
15056         * editfns.c (Fuser_home_directory):
15057         * editfns.c (Fformat_time_string):
15058         * editfns.c (Fcurrent_time_string):
15059         * gui-x.c (button_item_to_widget_value):
15060         * database.c (Fopen_database):
15061         * event-Xt.c (x_to_emacs_keysym):
15062         * event-Xt.c (x_event_to_emacs_event):
15063         * event-Xt.c (describe_event_window):
15064         * event-msw.c (mswindows_wnd_proc):
15065         * glyphs-eimage.c (jpeg_instantiate):
15066         * glyphs-eimage.c (gif_instantiate):
15067         * glyphs-eimage.c (png_instantiate):
15068         * glyphs-eimage.c (tiff_instantiate):
15069         * glyphs-x.c (xbm_instantiate_1):
15070         * glyphs-x.c (x_xbm_instantiate):
15071         * glyphs-x.c (x_xface_instantiate):
15072         * glyphs-x.c (autodetect_instantiate):
15073         * glyphs-x.c (cursor_font_instantiate):
15074         * glyphs-x.c (x_widget_instantiate):
15075         * glyphs-x.c (x_widget_set_property):
15076         * glyphs-x.c (x_widget_property):
15077         * glyphs-x.c (BUILD_GLYPH_INST):
15078         * print.c (write_string_to_stdio_stream):
15079         * print.c (output_string):
15080         * print.c (Falternate_debugging_output):
15081         * print.c (Fexternal_debugging_output):
15082         * glyphs-msw.c (extract_xpm_color_names):
15083         * glyphs-msw.c (mswindows_xpm_instantiate):
15084         * glyphs-msw.c (bmp_instantiate):
15085         * glyphs-msw.c (resource_name_to_resource):
15086         * glyphs-msw.c (mswindows_resource_instantiate):
15087         * glyphs-msw.c (xbm_instantiate_1):
15088         * glyphs-msw.c (mswindows_xbm_instantiate):
15089         * glyphs-msw.c (mswindows_xface_instantiate):
15090         * glyphs-msw.c (mswindows_widget_instantiate):
15091         * glyphs-msw.c (add_tree_item):
15092         * glyphs-msw.c (add_tab_item):
15093         * glyphs-msw.c (mswindows_combo_box_instantiate):
15094         * glyphs-msw.c (mswindows_widget_property):
15095         * glyphs-msw.c (mswindows_combo_box_property):
15096         * glyphs-msw.c (mswindows_widget_set_property):
15097         * console.c (stuff_buffered_input):
15098         * objects-msw.c (mswindows_initialize_color_instance):
15099         * objects-msw.c (mswindows_valid_color_name_p):
15100         * objects-msw.c (mswindows_list_fonts):
15101         * objects-msw.c (mswindows_font_instance_truename):
15102         * bytecode.c (optimize_compiled_function):
15103         * select-x.c (symbol_to_x_atom):
15104         * select-x.c (x_atom_to_symbol):
15105         * select-x.c (hack_motif_clipboard_selection):
15106         * select-x.c (selection_data_to_lisp_data):
15107         * select-x.c (lisp_data_to_selection_data):
15108         * select-x.c (Fx_get_cutbuffer_internal):
15109         * select-x.c (Fx_store_cutbuffer_internal):
15110         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15111         * buffer.h (TO_INTERNAL_FORMAT): New function.
15112         * emacs.c (make_arg_list_1):
15113         * emacs.c (make_argc_argv):
15114         * emacs.c (main_1):
15115         * emacs.c (Fdump_emacs):
15116         * emacs.c (split_string_by_emchar_1):
15117         * file-coding.h:
15118         * lisp.h:
15119         * lstream.h:
15120         * symsinit.h:
15121         * device-x.c (x_init_device):
15122         * device-x.c (Fx_valid_keysym_name_p):
15123         * device-x.c (Fx_get_font_path):
15124         * device-x.c (Fx_set_font_path):
15125         * glyphs.c (bitmap_to_lisp_data):
15126         * glyphs.c (pixmap_to_lisp_data):
15127         * alloc.c (make_ext_string): Use coding system arguments.  Update
15128         all callers.
15129         * alloc.c (build_string):
15130         * callproc.c (child_setup):
15131         * callproc.c (init_callproc):
15132         * fileio.c (lisp_strerror):
15133         * fileio.c (directory_file_name):
15134         * fileio.c (Fexpand_file_name):
15135         * fileio.c (Ffile_truename):
15136         * fileio.c (Fsysnetunam):
15137         * fileio.c (Fdo_auto_save):
15138         * sysdep.c (sys_readdir):
15139         * tests.c: New file.  Allow adding C tests.
15140         Replace GET_* macros with a more comprehensible and flexible
15141         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15142         Modify all calls.
15143         Any coding system can be used to do format conversion.
15144         Eliminate enum external_data_format.
15145         Eliminate convert_to_external_format.
15146         Eliminate convert_to_internal_format.
15147         Make sure file-name, keyboard, terminal, and ctext are always
15148         defined as coding systems or aliases.  Make
15149         file-name-coding-system, terminal-coding-system, and
15150         keyboard-coding-system magical variables that are equivalent to
15151         defining the corresponding coding system aliases.
15152
15153         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15154         * file-coding.c (Fcoding_system_alias_p): New function.
15155         * file-coding.c (Fcoding_system_aliasee): New function.
15156         * file-coding.c (append_suffix_to_symbol): New function.
15157         * file-coding.c (dangling_coding_system_alias_p): New function.
15158         * file-coding.c (Ffind_coding_system):
15159         * file-coding.c (Fcopy_coding_system):
15160         * file-coding.c (encode_coding_no_conversion):
15161         * file-coding.c (syms_of_file_coding):
15162         * file-coding.c (vars_of_file_coding):
15163         Rewrite coding system alias code.
15164         Allow nested aliases, like symbolic links.
15165         Allow redefinition of coding system aliases.
15166         Prevent existence of dangling coding system aliases.
15167
15168         * dired.c (Fuser_name_completion_1):
15169         * dired.c (Fuser_name_all_completions):
15170         A crash would happen if user did QUIT in the middle of building
15171         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15172
15173         * lisp.h:
15174         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15175
15176         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15177         an unsigned char *.  Update all callers.
15178
15179 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15180
15181         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15182
15183 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15184
15185         * elhash.c (hentry_description): Use more portable definition.
15186         (resize_hash_table): Initialize new hentries using
15187         xnew_array_and_zero, thereby simplifying the code.
15188
15189         * mule-charset.c (make_charset): Make sure entire object is
15190         initialized, to avoid Purify warnings.
15191
15192         * alloc.c (resize_string): Fix unlikely crash with big strings.
15193
15194 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15195
15196         * realpath.c (xrealpath):
15197         Don't call getwd().
15198
15199 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15200
15201         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15202
15203 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15204
15205         * unexelfsgi.c (unexec): Change the way we decide which segment
15206         should be extended.
15207
15208         Assumption that .bss section should be outside the PT_LOADable
15209         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15210         it's present) is inside the 'data' segment. This would fail the
15211         test which was used to find a segment to grow and cover new
15212         heap. Instead of this assumption, I created another one - on IRIX
15213         the segment to grow should start below .bss and it's address
15214         should extent above the end of .bss. Once this segment is
15215         identified, it's grown to accommodate the new heap and new
15216         zero-length .bss section is added at the end of .data2.
15217
15218 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15219
15220         * eval.c (Feval): Wrong number of arguments should use original
15221         function, not the indirect_function version of it.
15222
15223 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15224
15225         * glyphs-x.c (x_button_instantiate): Don't add image if
15226         it is not a pixmap.
15227         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15228         is relative.
15229
15230 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15231
15232         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15233         declaration.
15234         (DEFVAR_INT_MAGIC): Ditto.
15235         (DEFVAR_BOOL_MAGIC): Ditto.
15236         * glyphs.h: Reindent backslash.
15237
15238 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15239
15240         * glyphs-widget.c (layout_query_geometry):
15241         (layout_layout): Use correct types for gheight, gwidth.
15242
15243 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15244
15245         * EmacsManager.c (QueryGeometry): Purified.
15246
15247 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15248
15249         * alloc.c (make_float): Make sure entire object is initialized, to
15250         avoid Purify warnings.
15251         (pdump_register_sub): Remove useless assignment.
15252         (pdump): Use xmalloc, not malloc.
15253         (pdump_load): Use xmalloc, not malloc.
15254
15255 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15256
15257         * callproc.c:
15258         * dired-msw.c:
15259         * fileio.c:
15260         * process-nt.c:
15261         * redisplay-msw.c:
15262         * sysdep.c: Removed redundant #include <windows.h>
15263
15264 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15265
15266         * frame.c (delete_frame_internal): Do not delete device when its
15267         implementation so declares.
15268         (delete_frame_internal): Set device selected frame to nil when
15269         last frame goes away.
15270
15271         * device-msw.c (msprinter_device_system_metrics): Implemented.
15272         (mswindows_device_system_metrics): Added 'device-dpi property.
15273
15274         * device.c: (Fdevice_printer_p): Added.
15275         Added 'offset-workspace device metric.
15276
15277         * console.h (device_metrics): Declared DM_offset_workspace.
15278
15279 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15280
15281         * fileio.c (Ffile_truename): Remove pointless and confusing
15282         initialization of elen.
15283
15284         * glyphs-widget.c: Compiler warning fixes.
15285
15286 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15287
15288         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15289         instead of a Lisp_Object as argument to make it consistent with
15290         the other LIVE_P macros.
15291         (CHECK_LIVE_PROCESS): New macro.
15292
15293         * process.c: Declare Qprocess_live_p.
15294         (Fprocess_live_p): New function.
15295         (create_process): Use PROCESS_LIVE_P.
15296         (read_process_output): Ditto.
15297         (set_process_filter): Ditto.
15298         (Fdelete_process): Ditto.
15299         (kill_buffer_processes): Ditto
15300         (process_send_signal): Use CHECK_LIVE_PROCESS.
15301         (Fprocess_input_coding_system): Check whether process is still
15302         alive (fix PR#1061).
15303         (Fprocess_output_coding_system): Ditto.
15304         (Fprocess_coding_system): Ditto.
15305         (Fset_process_input_coding_system): Ditto.
15306         (Fset_process_output_coding_system): Ditto.
15307
15308 2000-01-23  Andy Piper  <andy@xemacs.org>
15309
15310         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15311         layout and widget.
15312
15313         * glyphs.c (mark_image_instance): take into account changed
15314         image_instance format.
15315         (image_instance_equal): ditto.
15316         (image_instance_hash): ditto.
15317
15318         * glyphs-widget.c (widget_instantiate): Incorporate layout
15319         instantiation here. Delay layout of the layout until later.
15320         (layout_instantiate): deleted.
15321         (layout_query_geometry): new function. get the geometry of a
15322         layout.
15323         (layout_layout): layout a layout dynamically.
15324         (image_instantiator_widget): New function - splitting up
15325         image_instantiator_format_create_glyphs_widget for netwinder
15326         compilation.
15327         (image_instantiator_buttons):
15328         (image_instantiator_edit_fields):
15329         (image_instantiator_combo_box):
15330         (image_instantiator_scrollbar):
15331         (image_instantiator_progress_guage):
15332         (image_instantiator_tree_view):
15333         (image_instantiator_tab_control):
15334         (image_instantiator_labels):
15335         (image_instantiator_layout): ditto.
15336         (image_instantiator_format_create_glyphs_widget): Call preceding
15337         functions.
15338
15339 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15340
15341         * process.c (Fset_process_coding_system):
15342         * device-x.c (Fx_keysym_hash_table):
15343         Docstring fixes.
15344
15345         * lstream.c (Lstream_write): Return documented value, not 0.
15346
15347         * fileio.c (directory_file_name):
15348         (Fsubstitute_in_file_name):
15349         (Fsubstitute_insert_file_contents_internal):
15350         (Fwrite_region_internal):
15351         * emacs.c:
15352         * sysdep.c:
15353         * getloadavg.c:
15354         * systty.h:
15355         Remove vestigial APOLLO-conditional code.
15356
15357 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15358
15359         * getpagesize.h: Add guard macros.
15360         * libsst.h: Add guard macros.
15361         * libst.h: Add guard macros.
15362         * line-number.h: Add guard macros.
15363         * ndir.h: Add guard macros.
15364         * sysfloat.h: Add guard macros.
15365         * sysfile.h: Add guard macros.
15366         * sysproc.h: Add guard macros.
15367         * syswait.h: Add guard macros.
15368         * xintrinsic.h: Add guard macros.
15369         * xintrinsicp.h: Add guard macros.
15370         * xmmanager.h: Add guard macros.
15371         * xmmanagerp.h: Add guard macros.
15372         * xmprimitive.h: Add guard macros.
15373         * xmu.h: Add guard macros.
15374         * gpmevent.h: Add copyright statement. Add guard macros.
15375         * miscplay.h: Add guard macros.
15376         * *.h: Use consistent C-standards-approved guard macro names.
15377
15378         * opaque.c (make_opaque): Switch parameter order.
15379         * opaque.h (make_opaque): Switch parameter order.
15380         Update all callers.
15381         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15382
15383         * config.h.in (type_checking_assert): Added.
15384         (bufpos_checking_assert): Added.
15385
15386 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15387
15388         * alloc.c: Harmless pdump changes.
15389         - Use countof().
15390         - spell alignment correctly.
15391         * sysdep.c: Use countof()
15392
15393 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15394
15395         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
15396         initially_selected_for_input() console method, default to 0.
15397         (semi_canonicalize_console_connection): Try to delegate to
15398         canonicalize_console_connection if no such console method.
15399         (canonicalize_console_connection): Vice versa.
15400         (print_console): Do not print nil connection.
15401
15402         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
15403         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
15404         (XDEVIMPF_FRAMELESS_OK): Added.
15405         (CONSOLE_INHERITS_METHOD): Added.
15406
15407         * console-msw.c (mswindows_canonicalize_console_connection):
15408         Added.
15409         (mswindows_canonicalize_device_connection): Added.
15410
15411         * console-msw.h (struct msprinter_device): Added this struct and
15412         accessor macros.
15413         (mswindows_device): Made fontlist a lisp object.
15414
15415         * device.c (semi_canonicalize_device_connection):  Try to delegate
15416         to canonicalize_device_connection if no such console method.
15417         (canonicalize_device_connection): Vice versa.
15418         (print_device): Do not print nil connection.
15419
15420         * device-msw.c (mswindows_init_device): Call InitCommonControls
15421         when have widgets.
15422         (mswindows_delete_device): Removed fontlist deallocation.
15423         (mswindows_mark_device): Added.
15424
15425         * events.c (event_equal): Added abort() at unreached code.
15426         (event_hash): Ditto.
15427
15428         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
15429         fallback tags of Windows devices.
15430
15431         * general.c (syms_of_general): Initialized Qmsprinter.
15432
15433         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
15434         of fallback tags of Windows devices.
15435
15436         * lisp.h: Declared Qmsprinter.
15437
15438         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
15439         of strings.
15440         (mswindows_list_fonts): Ditto.
15441         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
15442         that it can be used by both mswindows and msprinter devices.
15443         (initialize_font_instance): Added.
15444         (mswindows_initialize_font_instance): Use it.
15445         (msprinter_initialize_font_instance): Added.
15446
15447         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
15448         and implementation flags check.
15449         (redisplay_without_hooks): Changed the call to the above.
15450         (Fredraw_device): Ditto.
15451         (Fredisplay_device): Ditto.
15452
15453         * redisplay-msw.c (get_frame_dc): Implemented.
15454         (get_frame_compdc): Implemented.
15455         (many functions): Use the two functions above to get device
15456         contexts, ether for a window or a printer.
15457
15458 2000-01-21  Olivier Galibert  <galibert@pobox.com>
15459
15460         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
15461         initialization here.
15462         (init_symbols_once_early): Call it.
15463         * emacs.c (main_1): Call it.
15464         * symsinit.h: Declare it.
15465
15466 2000-01-19  Olivier Galibert  <galibert@pobox.com>
15467
15468         * alloc.c: Use a lrecord_header * in the backtrace instead of a
15469         Lisp_Object.
15470         (pdump_backtrace): Ditto.
15471         (pdump_register_object): Ditto.  Cleanup use of the pointers.
15472         (pdump_get_entry): Abort if trying to register a null pointer.
15473         (pdump_dump_data): Cleanup types when relocating.
15474         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
15475         (pdump_dump_rtables): Remove bad casts.
15476         (pdump_load): Cleanup relocation w.r.t union type.  Use a
15477         Lisp_Object instead of a EMACS_INT for the hashtable
15478         reorganization.
15479
15480 2000-01-20  Martin Buchholz  <martin@xemacs.org>
15481
15482         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
15483
15484         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
15485
15486         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
15487
15488         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
15489
15490 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15491
15492         * faces.h (FACE_STRIKETHRU_P): Added.
15493
15494         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
15495         of font variants.
15496
15497         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
15498         (mswindows_set_dc_font): New function, aware of font variants,
15499         separated from mswindows_update_dc.
15500
15501         * objects-msw.h (struct mswindows_font_instance_data): Added
15502         definition.
15503
15504         * objects-msw.c (mswindows_finalize_font_instance): Delete all
15505         cached fonts and the data structure.
15506         (mswindows_initialize_font_instance): Added creation of font data
15507         structure.
15508         (mswindows_print_font_instance): Print at least something.
15509         (mswindows_create_font_variant): Implemented.
15510         (mswindows_get_hfont): Implemented.
15511
15512 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
15513
15514         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
15515         prototyping problem with msvc.
15516
15517         * emacs.c (main_1): added syms_of_gui_mswindows() call
15518
15519         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
15520         syms_of_gui_mswindows() function
15521
15522         * symsinit.h: added the prototype for syms_of_gui_mswindows()
15523
15524 2000-01-18  Martin Buchholz <martin@xemacs.org>
15525
15526         * XEmacs 21.2.27 is released.
15527
15528 2000-01-18  Martin Buchholz  <martin@xemacs.org>
15529
15530         * glyphs-eimage.c (struct tiff_error_struct):
15531         (tiff_error_func):
15532         (tiff_warning_func):
15533         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
15534
15535         * unexmips.c:
15536         * unexhp9k3.c:
15537         * unexfreebsd.c:
15538         * unexec.c: Remove vestigial Lucid C code.
15539         * unexalpha.c:
15540         * unexaix.c:
15541         * termcap.c:
15542         * libsst.c: Ansify.
15543         Remove declarations of errno and strerror().
15544
15545         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
15546
15547         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
15548
15549 2000-01-16  Martin Buchholz  <martin@xemacs.org>
15550
15551         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
15552         Optimize.
15553
15554 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15555
15556         * md5.c:
15557         * file-coding.c:
15558         * file-coding.h:
15559         Change enum eol_type to eol_type_t.
15560
15561 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15562
15563         * gui.c (get_gui_callback): Check cons before accessing car.
15564
15565 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15566
15567         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
15568         (XSETSPECIFIER_TYPE): Ditto.
15569
15570 2000-01-17  Didier Verna  <didier@xemacs.org>
15571
15572         * redisplay.c (generate_fstring_runes): compute string size in
15573         characters, not bytes.
15574
15575 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15576
15577         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
15578
15579 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
15580
15581         * print.c (print_error_message): Call print_prepare().
15582
15583 2000-01-14  Martin Buchholz  <martin@xemacs.org>
15584
15585         * .dbxrc: Renamed from dbxrc.
15586
15587         * events.c (event_to_character):
15588         Use `assert (foo)' instead of `if (!foo) abort()'
15589
15590         * .gdbinit (xtype): Add documentation.
15591         * .gdbinit (check-temacs): New function.
15592         * .gdbinit (check-xemacs): New function.
15593         * dbxrc (check-xemacs): New function.
15594         * dbxrc (check-xemacs): New function.
15595
15596 2000-01-14  Andy Piper  <andy@xemacs.org>
15597
15598         * glyphs-widget.c (widget_query_geometry): Make sure that we
15599         calculate default dimensions correctly.
15600
15601 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15602
15603         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
15604
15605         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
15606         pdump_wire'd variable.
15607
15608         * emacs.c: (main_1): Conditionalized calls to
15609         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
15610
15611 2000-01-13  Martin Buchholz  <martin@xemacs.org>
15612
15613         * window.c (Fset_window_configuration):
15614         * sysdep.c (_start):
15615         * input-method-motif.c (res):
15616         * event-Xt.c (Xt_process_to_emacs_event):
15617         Simple compiler warning fixes.
15618
15619         * bytecode.c (funcall_compiled_function): Use the original
15620         function symbol on the backtrace list in preference to the
15621         compiled_function object in error messages.
15622
15623 2000-01-13  Andy Piper  <andy@xemacs.org>
15624
15625         * glyphs-x.c (update_widget_face): Make sure we update the widget
15626         background as well as foreground.
15627
15628 2000-01-13  Andy Piper  <andy@xemacs.org>
15629
15630         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
15631         fields to subwindow.
15632         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
15633         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
15634         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15635         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
15636
15637         * glyphs-widget.c (check_valid_tab_orientation): new function.
15638         (initialize_widget_image_instance): zero orientation and
15639         justification.
15640         (widget_instantiate): pick up orientation.
15641         (tab_control_query_geometry): return appropriate values for
15642         vertical tabs.
15643
15644         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
15645         appropriate creation flags for left, right and bottom tabs.
15646
15647         * s/cygwin32.h: add tab definitions.
15648
15649 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15650
15651         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
15652         frame upon hiding a subwindow.
15653         (mswindows_button_instantiate): Changed the push button style to
15654         BS_PUSHBUTTON.
15655         (mswindows_button_instantiate): Removed button BS_NOTIFY
15656         style.
15657         (mswindows_button_instantiate): Removed redundant check for
15658         a disabled gui item.
15659         (mswindows_button_instantiate): Made use of WS_TABSTOP
15660         consistent: "operable" controls (edit, button, tree, scroll) have
15661         this style, "display-only" ones (static, progress gauge) do
15662         not. This style is currently ignored by XEmacs though. Also,
15663         removed the WS_EX_CONTROLPARENT style - it is not for children,
15664         it is for their parents!
15665         (mswindows_edit_field_instantiate): Ditto.
15666         (mswindows_progress_gauge_instantiate): Ditto.
15667         (mswindows_tree_view_instantiate): Ditto.
15668         (mswindows_tab_control_instantiate): Ditto.
15669         (mswindows_scrollbar_instantiate): Ditto.
15670         (mswindows_combo_box_instantiate): Ditto.
15671         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
15672         style to the "clip" window.
15673         (mswindows_button_instantiate): Removed compilation warning by
15674         equally typing terms of the ?: operator.
15675
15676 2000-01-12  Didier Verna  <didier@xemacs.org>
15677
15678         * redisplay.c (generate_fstring_runes): new parameter holding the
15679         last modeline-format extent.
15680         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
15681         extent, fill the glyph block with it.
15682         (generate_fstring_runes): handle these parameters.
15683         (generate_formatted_string_db): ditto.
15684
15685         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
15686         glyphs'extents in the modeline.
15687
15688 1999-01-11  Mike Woolley  <mike@bulsara.com>
15689
15690         * ntheap.c: Reduced the reserved heap space from 1Gb down to
15691         256Mb, as a workaround for the non-starting problem many people
15692         have experienced.
15693
15694 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15695
15696         * console-tty.c (Fset_console_tty_output_coding_system):
15697         Force redrawing tty frame.
15698
15699 2000-01-10  Didier Verna  <didier@xemacs.org>
15700
15701         * redisplay.c (generate_fstring_runes): fix size computation bug.
15702
15703 2000-01-09  William M. Perry <wmperry@aventail.com>
15704
15705         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
15706
15707 2000-01-09  Andy Piper  <andy@xemacs.org>
15708
15709         * glyphs-msw.c: index -> i to avoid shadows.
15710         (xbm_create_bitmap_from_data): make static.
15711         (check_valid_string_or_int): deleted.
15712         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
15713
15714         * glyphs-x.c (x_update_subwindow): remove unused args.
15715
15716         * glyphs.c (glyph_image_instance): return the thing. Don't set the
15717         back pointer - this is done in allocate_image_instance.
15718         (query_string_font): return Qnil to make the compiler happy.
15719         (unmap_subwindow): set to ~0 to make the compiler happy.
15720         (glyph_query_geometry): comment out until used.
15721         (glyph_layout): ditto.
15722
15723 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
15724
15725         * insdel.c (signal_after_change): Remove extraneous unbind_to().